65
static const HashTable JSHTMLCanvasElementConstructorTable =
62
static JSC_CONST_HASHTABLE HashTable JSHTMLCanvasElementConstructorTable =
66
63
#if ENABLE(PERFECT_HASH_SIZE)
67
64
{ 0, JSHTMLCanvasElementConstructorTableValues, 0 };
69
66
{ 1, 0, JSHTMLCanvasElementConstructorTableValues, 0 };
72
class JSHTMLCanvasElementConstructor : public DOMObject {
69
class JSHTMLCanvasElementConstructor : public DOMConstructorObject {
74
JSHTMLCanvasElementConstructor(ExecState* exec)
75
: DOMObject(JSHTMLCanvasElementConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
71
JSHTMLCanvasElementConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
72
: DOMConstructorObject(JSHTMLCanvasElementConstructor::createStructure(globalObject->objectPrototype()), globalObject)
77
putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, exec->lexicalGlobalObject()), None);
74
putDirect(exec->propertyNames().prototype, JSHTMLCanvasElementPrototype::self(exec, globalObject), None);
79
76
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
77
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
80
78
virtual const ClassInfo* classInfo() const { return &s_info; }
81
79
static const ClassInfo s_info;
83
static PassRefPtr<Structure> createStructure(JSValuePtr proto)
81
static PassRefPtr<Structure> createStructure(JSValue proto)
85
83
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
121
124
return getStaticFunctionSlot<JSObject>(exec, &JSHTMLCanvasElementPrototypeTable, this, propertyName, slot);
127
bool JSHTMLCanvasElementPrototype::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
129
return getStaticFunctionDescriptor<JSObject>(exec, &JSHTMLCanvasElementPrototypeTable, this, propertyName, descriptor);
124
132
const ClassInfo JSHTMLCanvasElement::s_info = { "HTMLCanvasElement", &JSHTMLElement::s_info, &JSHTMLCanvasElementTable, 0 };
126
JSHTMLCanvasElement::JSHTMLCanvasElement(PassRefPtr<Structure> structure, PassRefPtr<HTMLCanvasElement> impl)
127
: JSHTMLElement(structure, impl)
134
JSHTMLCanvasElement::JSHTMLCanvasElement(NonNullPassRefPtr<Structure> structure, JSDOMGlobalObject* globalObject, PassRefPtr<HTMLCanvasElement> impl)
135
: JSHTMLElement(structure, globalObject, impl)
138
146
return getStaticValueSlot<JSHTMLCanvasElement, Base>(exec, &JSHTMLCanvasElementTable, this, propertyName, slot);
141
JSValuePtr jsHTMLCanvasElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
143
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
149
bool JSHTMLCanvasElement::getOwnPropertyDescriptor(ExecState* exec, const Identifier& propertyName, PropertyDescriptor& descriptor)
151
return getStaticValueDescriptor<JSHTMLCanvasElement, Base>(exec, &JSHTMLCanvasElementTable, this, propertyName, descriptor);
154
JSValue jsHTMLCanvasElementWidth(ExecState* exec, const Identifier&, const PropertySlot& slot)
156
JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
158
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
144
159
return jsNumber(exec, imp->width());
147
JSValuePtr jsHTMLCanvasElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
162
JSValue jsHTMLCanvasElementHeight(ExecState* exec, const Identifier&, const PropertySlot& slot)
149
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->impl());
164
JSHTMLCanvasElement* castedThis = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
166
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThis->impl());
150
167
return jsNumber(exec, imp->height());
153
JSValuePtr jsHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
170
JSValue jsHTMLCanvasElementConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
155
return static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()))->getConstructor(exec);
172
JSHTMLCanvasElement* domObject = static_cast<JSHTMLCanvasElement*>(asObject(slot.slotBase()));
173
return JSHTMLCanvasElement::getConstructor(exec, domObject->globalObject());
157
void JSHTMLCanvasElement::put(ExecState* exec, const Identifier& propertyName, JSValuePtr value, PutPropertySlot& slot)
175
void JSHTMLCanvasElement::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
159
177
lookupPut<JSHTMLCanvasElement, Base>(exec, propertyName, value, &JSHTMLCanvasElementTable, this, slot);
162
void setJSHTMLCanvasElementWidth(ExecState* exec, JSObject* thisObject, JSValuePtr value)
164
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(thisObject)->impl());
165
imp->setWidth(value->toInt32(exec));
168
void setJSHTMLCanvasElementHeight(ExecState* exec, JSObject* thisObject, JSValuePtr value)
170
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(thisObject)->impl());
171
imp->setHeight(value->toInt32(exec));
174
JSValuePtr JSHTMLCanvasElement::getConstructor(ExecState* exec)
176
return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec);
179
JSValuePtr jsHTMLCanvasElementPrototypeFunctionToDataURL(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
181
if (!thisValue->isObject(&JSHTMLCanvasElement::s_info))
180
void setJSHTMLCanvasElementWidth(ExecState* exec, JSObject* thisObject, JSValue value)
182
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(thisObject)->impl());
183
imp->setWidth(value.toInt32(exec));
186
void setJSHTMLCanvasElementHeight(ExecState* exec, JSObject* thisObject, JSValue value)
188
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(static_cast<JSHTMLCanvasElement*>(thisObject)->impl());
189
imp->setHeight(value.toInt32(exec));
192
JSValue JSHTMLCanvasElement::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
194
return getDOMConstructor<JSHTMLCanvasElementConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
197
JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionToDataURL(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
200
if (!thisValue.inherits(&JSHTMLCanvasElement::s_info))
182
201
return throwError(exec, TypeError);
183
202
JSHTMLCanvasElement* castedThisObj = static_cast<JSHTMLCanvasElement*>(asObject(thisValue));
184
203
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThisObj->impl());
185
204
ExceptionCode ec = 0;
186
const UString& type = valueToStringWithUndefinedOrNullCheck(exec, args.at(exec, 0));
189
JSC::JSValuePtr result = jsString(exec, imp->toDataURL(type, ec));
205
const UString& type = valueToStringWithUndefinedOrNullCheck(exec, args.at(0));
208
JSC::JSValue result = jsString(exec, imp->toDataURL(type, ec));
190
209
setDOMException(exec, ec);
194
JSValuePtr jsHTMLCanvasElementPrototypeFunctionGetContext(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
213
JSValue JSC_HOST_CALL jsHTMLCanvasElementPrototypeFunctionGetContext(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
196
if (!thisValue->isObject(&JSHTMLCanvasElement::s_info))
216
if (!thisValue.inherits(&JSHTMLCanvasElement::s_info))
197
217
return throwError(exec, TypeError);
198
218
JSHTMLCanvasElement* castedThisObj = static_cast<JSHTMLCanvasElement*>(asObject(thisValue));
199
219
HTMLCanvasElement* imp = static_cast<HTMLCanvasElement*>(castedThisObj->impl());
200
const UString& contextId = args.at(exec, 0)->toString(exec);
203
JSC::JSValuePtr result = toJS(exec, WTF::getPtr(imp->getContext(contextId)));
220
const UString& contextId = args.at(0).toString(exec);
223
JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getContext(contextId)));