void setJSMediaListMediaText(ExecState* exec, JSObject* thisObject, JSValue value) { JSMediaList* castedThis = static_cast<JSMediaList*>(thisObject); MediaList* imp = static_cast<MediaList*>(castedThis->impl()); ExceptionCode ec = 0; imp->setMediaText(valueToStringWithNullCheck(exec, value), ec); setDOMException(exec, ec); }
bool JSMediaListOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor) { JSMediaList* jsMediaList = static_cast<JSMediaList*>(handle.get().asCell()); if (!isObservable(jsMediaList)) return false; void* root = WebCore::root(jsMediaList->impl()); return visitor.containsOpaqueRoot(root); }
JSValue jsMediaListLength(ExecState* exec, JSValue slotBase, const Identifier&) { JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slotBase)); UNUSED_PARAM(exec); MediaList* imp = static_cast<MediaList*>(castedThis->impl()); JSValue result = jsNumber(imp->length()); return result; }
JSValue jsMediaListMediaText(ExecState* exec, JSValue slotBase, const Identifier&) { JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(slotBase)); UNUSED_PARAM(exec); MediaList* imp = static_cast<MediaList*>(castedThis->impl()); JSValue result = jsStringOrNull(exec, imp->mediaText()); return result; }
JSValue* jsMediaListPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue* thisValue, const ArgList& args) { if (!thisValue->isObject(&JSMediaList::s_info)) return throwError(exec, TypeError); JSMediaList* castedThisObj = static_cast<JSMediaList*>(thisValue); MediaList* imp = static_cast<MediaList*>(castedThisObj->impl()); unsigned index = args.at(exec, 0)->toInt32(exec); JSC::JSValue* result = jsStringOrNull(exec, imp->item(index)); return result; }
JSValue* jsMediaListPrototypeFunctionAppendMedium(ExecState* exec, JSObject*, JSValue* thisValue, const ArgList& args) { if (!thisValue->isObject(&JSMediaList::s_info)) return throwError(exec, TypeError); JSMediaList* castedThisObj = static_cast<JSMediaList*>(thisValue); MediaList* imp = static_cast<MediaList*>(castedThisObj->impl()); ExceptionCode ec = 0; const UString& newMedium = args.at(exec, 0)->toString(exec); imp->appendMedium(newMedium, ec); setDOMException(exec, ec); return jsUndefined(); }
EncodedJSValue JSC_HOST_CALL jsMediaListPrototypeFunctionItem(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSMediaList::s_info)) return throwVMTypeError(exec); JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(thisValue)); MediaList* imp = static_cast<MediaList*>(castedThis->impl()); unsigned index(exec->argument(0).toUInt32(exec)); if (exec->hadException()) return JSValue::encode(jsUndefined()); JSC::JSValue result = jsStringOrNull(exec, imp->item(index)); return JSValue::encode(result); }
EncodedJSValue JSC_HOST_CALL jsMediaListPrototypeFunctionAppendMedium(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSMediaList::s_info)) return throwVMTypeError(exec); JSMediaList* castedThis = static_cast<JSMediaList*>(asObject(thisValue)); MediaList* imp = static_cast<MediaList*>(castedThis->impl()); ExceptionCode ec = 0; const String& newMedium(ustringToString(exec->argument(0).toString(exec))); if (exec->hadException()) return JSValue::encode(jsUndefined()); imp->appendMedium(newMedium, ec); setDOMException(exec, ec); return JSValue::encode(jsUndefined()); }
JSValue* JSMediaListPrototypeFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args) { if (!thisObj->inherits(&JSMediaList::info)) return throwError(exec, TypeError); JSMediaList* castedThisObj = static_cast<JSMediaList*>(thisObj); MediaList* imp = static_cast<MediaList*>(castedThisObj->impl()); switch (id) { case JSMediaList::ItemFuncNum: { bool indexOk; unsigned index = args[0]->toInt32(exec, indexOk); if (!indexOk) { setDOMException(exec, TYPE_MISMATCH_ERR); return jsUndefined(); } KJS::JSValue* result = jsStringOrNull(imp->item(index)); return result; } case JSMediaList::DeleteMediumFuncNum: { ExceptionCode ec = 0; String oldMedium = args[0]->toString(exec); imp->deleteMedium(oldMedium, ec); setDOMException(exec, ec); return jsUndefined(); } case JSMediaList::AppendMediumFuncNum: { ExceptionCode ec = 0; String newMedium = args[0]->toString(exec); imp->appendMedium(newMedium, ec); setDOMException(exec, ec); return jsUndefined(); } } return 0; }
JSValue* JSMediaList::indexGetter(ExecState* exec, JSObject* originalObject, const Identifier& propertyName, const PropertySlot& slot) { JSMediaList* thisObj = static_cast<JSMediaList*>(slot.slotBase()); return jsStringOrNull(thisObj->impl()->item(slot.index())); }
void JSMediaListOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context) { JSMediaList* jsMediaList = static_cast<JSMediaList*>(handle.get().asCell()); DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context); uncacheWrapper(world, jsMediaList->impl(), jsMediaList); }
JSValue JSMediaList::indexGetter(ExecState* exec, JSValue slotBase, unsigned index) { JSMediaList* thisObj = static_cast<JSMediaList*>(asObject(slotBase)); return jsStringOrNull(exec, thisObj->impl()->item(index)); }