68
static const HashTable JSCSSVariablesDeclarationConstructorTable =
65
static JSC_CONST_HASHTABLE HashTable JSCSSVariablesDeclarationConstructorTable =
69
66
#if ENABLE(PERFECT_HASH_SIZE)
70
67
{ 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
72
69
{ 1, 0, JSCSSVariablesDeclarationConstructorTableValues, 0 };
75
class JSCSSVariablesDeclarationConstructor : public DOMObject {
72
class JSCSSVariablesDeclarationConstructor : public DOMConstructorObject {
77
JSCSSVariablesDeclarationConstructor(ExecState* exec)
78
: DOMObject(JSCSSVariablesDeclarationConstructor::createStructure(exec->lexicalGlobalObject()->objectPrototype()))
74
JSCSSVariablesDeclarationConstructor(ExecState* exec, JSDOMGlobalObject* globalObject)
75
: DOMConstructorObject(JSCSSVariablesDeclarationConstructor::createStructure(globalObject->objectPrototype()), globalObject)
80
putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, exec->lexicalGlobalObject()), None);
77
putDirect(exec->propertyNames().prototype, JSCSSVariablesDeclarationPrototype::self(exec, globalObject), None);
82
79
virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
80
virtual bool getOwnPropertyDescriptor(ExecState*, const Identifier&, PropertyDescriptor&);
83
81
virtual const ClassInfo* classInfo() const { return &s_info; }
84
82
static const ClassInfo s_info;
86
static PassRefPtr<Structure> createStructure(JSValuePtr proto)
84
static PassRefPtr<Structure> createStructure(JSValue proto)
88
86
return Structure::create(proto, TypeInfo(ObjectType, ImplementsHasInstance));
170
197
return getOwnPropertySlot(exec, Identifier::from(exec, propertyName), slot);
173
JSValuePtr jsCSSVariablesDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
200
JSValue jsCSSVariablesDeclarationCssText(ExecState* exec, const Identifier&, const PropertySlot& slot)
175
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
202
JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
204
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
176
205
return jsString(exec, imp->cssText());
179
JSValuePtr jsCSSVariablesDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
208
JSValue jsCSSVariablesDeclarationLength(ExecState* exec, const Identifier&, const PropertySlot& slot)
181
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
210
JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
212
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
182
213
return jsNumber(exec, imp->length());
185
JSValuePtr jsCSSVariablesDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
216
JSValue jsCSSVariablesDeclarationParentRule(ExecState* exec, const Identifier&, const PropertySlot& slot)
187
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->impl());
188
return toJS(exec, WTF::getPtr(imp->parentRule()));
218
JSCSSVariablesDeclaration* castedThis = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
220
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThis->impl());
221
return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->parentRule()));
191
JSValuePtr jsCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
224
JSValue jsCSSVariablesDeclarationConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot)
193
return static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()))->getConstructor(exec);
226
JSCSSVariablesDeclaration* domObject = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
227
return JSCSSVariablesDeclaration::getConstructor(exec, domObject->globalObject());
195
void JSCSSVariablesDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValuePtr value, PutPropertySlot& slot)
229
void JSCSSVariablesDeclaration::put(ExecState* exec, const Identifier& propertyName, JSValue value, PutPropertySlot& slot)
197
231
lookupPut<JSCSSVariablesDeclaration, Base>(exec, propertyName, value, &JSCSSVariablesDeclarationTable, this, slot);
200
void setJSCSSVariablesDeclarationCssText(ExecState* exec, JSObject* thisObject, JSValuePtr value)
234
void setJSCSSVariablesDeclarationCssText(ExecState* exec, JSObject* thisObject, JSValue value)
202
236
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(static_cast<JSCSSVariablesDeclaration*>(thisObject)->impl());
203
imp->setCssText(value->toString(exec));
237
imp->setCssText(value.toString(exec));
206
void JSCSSVariablesDeclaration::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
240
void JSCSSVariablesDeclaration::getOwnPropertyNames(ExecState* exec, PropertyNameArray& propertyNames)
208
242
for (unsigned i = 0; i < static_cast<CSSVariablesDeclaration*>(impl())->length(); ++i)
209
243
propertyNames.add(Identifier::from(exec, i));
210
Base::getPropertyNames(exec, propertyNames);
213
JSValuePtr JSCSSVariablesDeclaration::getConstructor(ExecState* exec)
215
return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec);
218
JSValuePtr jsCSSVariablesDeclarationPrototypeFunctionGetVariableValue(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
220
if (!thisValue->isObject(&JSCSSVariablesDeclaration::s_info))
244
Base::getOwnPropertyNames(exec, propertyNames);
247
JSValue JSCSSVariablesDeclaration::getConstructor(ExecState* exec, JSGlobalObject* globalObject)
249
return getDOMConstructor<JSCSSVariablesDeclarationConstructor>(exec, static_cast<JSDOMGlobalObject*>(globalObject));
252
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionGetVariableValue(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
255
if (!thisValue.inherits(&JSCSSVariablesDeclaration::s_info))
221
256
return throwError(exec, TypeError);
222
257
JSCSSVariablesDeclaration* castedThisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(thisValue));
223
258
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThisObj->impl());
224
const UString& variableName = args.at(exec, 0)->toString(exec);
227
JSC::JSValuePtr result = jsString(exec, imp->getVariableValue(variableName));
259
const UString& variableName = args.at(0).toString(exec);
262
JSC::JSValue result = jsString(exec, imp->getVariableValue(variableName));
231
JSValuePtr jsCSSVariablesDeclarationPrototypeFunctionRemoveVariable(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
266
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionRemoveVariable(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
233
if (!thisValue->isObject(&JSCSSVariablesDeclaration::s_info))
269
if (!thisValue.inherits(&JSCSSVariablesDeclaration::s_info))
234
270
return throwError(exec, TypeError);
235
271
JSCSSVariablesDeclaration* castedThisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(thisValue));
236
272
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThisObj->impl());
237
273
ExceptionCode ec = 0;
238
const UString& variableName = args.at(exec, 0)->toString(exec);
241
JSC::JSValuePtr result = jsString(exec, imp->removeVariable(variableName, ec));
274
const UString& variableName = args.at(0).toString(exec);
277
JSC::JSValue result = jsString(exec, imp->removeVariable(variableName, ec));
242
278
setDOMException(exec, ec);
246
JSValuePtr jsCSSVariablesDeclarationPrototypeFunctionSetVariable(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
282
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionSetVariable(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
248
if (!thisValue->isObject(&JSCSSVariablesDeclaration::s_info))
285
if (!thisValue.inherits(&JSCSSVariablesDeclaration::s_info))
249
286
return throwError(exec, TypeError);
250
287
JSCSSVariablesDeclaration* castedThisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(thisValue));
251
288
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThisObj->impl());
252
289
ExceptionCode ec = 0;
253
const UString& variableName = args.at(exec, 0)->toString(exec);
254
const UString& value = args.at(exec, 1)->toString(exec);
290
const UString& variableName = args.at(0).toString(exec);
291
const UString& value = args.at(1).toString(exec);
256
293
imp->setVariable(variableName, value, ec);
257
294
setDOMException(exec, ec);
258
295
return jsUndefined();
261
JSValuePtr jsCSSVariablesDeclarationPrototypeFunctionItem(ExecState* exec, JSObject*, JSValuePtr thisValue, const ArgList& args)
298
JSValue JSC_HOST_CALL jsCSSVariablesDeclarationPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
263
if (!thisValue->isObject(&JSCSSVariablesDeclaration::s_info))
301
if (!thisValue.inherits(&JSCSSVariablesDeclaration::s_info))
264
302
return throwError(exec, TypeError);
265
303
JSCSSVariablesDeclaration* castedThisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(thisValue));
266
304
CSSVariablesDeclaration* imp = static_cast<CSSVariablesDeclaration*>(castedThisObj->impl());
267
unsigned index = args.at(exec, 0)->toInt32(exec);
270
JSC::JSValuePtr result = jsString(exec, imp->item(index));
305
unsigned index = args.at(0).toInt32(exec);
308
JSC::JSValue result = jsString(exec, imp->item(index));
275
JSValuePtr JSCSSVariablesDeclaration::indexGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot)
313
JSValue JSCSSVariablesDeclaration::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
277
315
JSCSSVariablesDeclaration* thisObj = static_cast<JSCSSVariablesDeclaration*>(asObject(slot.slotBase()));
278
316
return jsStringOrNull(exec, thisObj->impl()->item(slot.index()));
280
JSC::JSValuePtr toJS(JSC::ExecState* exec, CSSVariablesDeclaration* object)
318
JSC::JSValue toJS(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, CSSVariablesDeclaration* object)
282
return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, object);
320
return getDOMObjectWrapper<JSCSSVariablesDeclaration>(exec, globalObject, object);
284
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValuePtr value)
322
CSSVariablesDeclaration* toCSSVariablesDeclaration(JSC::JSValue value)
286
return value->isObject(&JSCSSVariablesDeclaration::s_info) ? static_cast<JSCSSVariablesDeclaration*>(asObject(value))->impl() : 0;
324
return value.inherits(&JSCSSVariablesDeclaration::s_info) ? static_cast<JSCSSVariablesDeclaration*>(asObject(value))->impl() : 0;