本文整理汇总了C++中JSNamedNodeMap类的典型用法代码示例。如果您正苦于以下问题:C++ JSNamedNodeMap类的具体用法?C++ JSNamedNodeMap怎么用?C++ JSNamedNodeMap使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了JSNamedNodeMap类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: jsNamedNodeMapLength
JSValue jsNamedNodeMapLength(ExecState* exec, JSValue slotBase, const Identifier&)
{
JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(slotBase));
UNUSED_PARAM(exec);
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
JSValue result = jsNumber(imp->length());
return result;
}
示例2: isReachableFromOpaqueRoots
bool JSNamedNodeMapOwner::isReachableFromOpaqueRoots(JSC::Handle<JSC::Unknown> handle, void*, SlotVisitor& visitor)
{
JSNamedNodeMap* jsNamedNodeMap = static_cast<JSNamedNodeMap*>(handle.get().asCell());
if (!isObservable(jsNamedNodeMap))
return false;
Element* element = jsNamedNodeMap->impl()->element();
if (!element)
return false;
void* root = WebCore::root(element);
return visitor.containsOpaqueRoot(root);
}
示例3: jsNamedNodeMapPrototypeFunctionGetNamedItem
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
if (!thisValue.inherits(&JSNamedNodeMap::s_info))
return throwError(exec, TypeError);
JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl());
const UString& name = args.at(0).toString(exec);
JSC::JSValue result = toJS(exec, castedThisObj->globalObject(), WTF::getPtr(imp->getNamedItem(name)));
return result;
}
示例4: jsNamedNodeMapPrototypeFunctionItem
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionItem(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
if (!thisValue.isObject(&JSNamedNodeMap::s_info))
return throwError(exec, TypeError);
JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl());
unsigned index = args.at(0).toInt32(exec);
JSC::JSValue result = toJS(exec, WTF::getPtr(imp->item(index)));
return result;
}
示例5: jsNamedNodeMapPrototypeFunctionGetNamedItemNS
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItemNS(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
if (!thisValue.isObject(&JSNamedNodeMap::s_info))
return throwError(exec, TypeError);
JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl());
const UString& namespaceURI = valueToStringWithNullCheck(exec, args.at(0));
const UString& localName = args.at(1).toString(exec);
JSC::JSValue result = toJS(exec, WTF::getPtr(imp->getNamedItemNS(namespaceURI, localName)));
return result;
}
示例6: jsNamedNodeMapPrototypeFunctionSetNamedItemNS
JSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItemNS(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args)
{
UNUSED_PARAM(args);
if (!thisValue.isObject(&JSNamedNodeMap::s_info))
return throwError(exec, TypeError);
JSNamedNodeMap* castedThisObj = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThisObj->impl());
ExceptionCode ec = 0;
Node* node = toNode(args.at(0));
JSC::JSValue result = toJS(exec, WTF::getPtr(imp->setNamedItemNS(node, ec)));
setDOMException(exec, ec);
return result;
}
示例7: jsNamedNodeMapPrototypeFunctionItem
EncodedJSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionItem(ExecState* exec)
{
JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSNamedNodeMap::s_info))
return throwVMTypeError(exec);
JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
unsigned index(exec->argument(0).toUInt32(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->item(index)));
return JSValue::encode(result);
}
示例8: jsNamedNodeMapPrototypeFunctionGetNamedItem
EncodedJSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionGetNamedItem(ExecState* exec)
{
JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSNamedNodeMap::s_info))
return throwVMTypeError(exec);
JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(thisValue));
ASSERT_GC_OBJECT_INHERITS(castedThis, &JSNamedNodeMap::s_info);
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
const String& name(ustringToString(exec->argument(0).toString(exec)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->getNamedItem(name)));
return JSValue::encode(result);
}
示例9: jsNamedNodeMapPrototypeFunctionSetNamedItemNS
EncodedJSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionSetNamedItemNS(ExecState* exec)
{
JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSNamedNodeMap::s_info))
return throwVMTypeError(exec);
JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
ExceptionCode ec = 0;
Node* node(toNode(exec->argument(0)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->setNamedItemNS(node, ec)));
setDOMException(exec, ec);
return JSValue::encode(result);
}
示例10: visitChildren
void JSNamedNodeMap::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
JSNamedNodeMap* thisObject = jsCast<JSNamedNodeMap*>(cell);
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
Base::visitChildren(thisObject, visitor);
// We need to keep the wrapper for our underlying NamedNodeMap's element
// alive because NamedNodeMap and Attr rely on the element for data, and
// don't know how to keep it alive correctly.
// FIXME: Fix this lifetime issue in the DOM, and remove this.
Element* element = thisObject->impl()->element();
if (!element)
return;
visitor.addOpaqueRoot(root(element));
}
示例11: jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS
EncodedJSValue JSC_HOST_CALL jsNamedNodeMapPrototypeFunctionRemoveNamedItemNS(ExecState* exec)
{
JSValue thisValue = exec->hostThisValue();
if (!thisValue.inherits(&JSNamedNodeMap::s_info))
return throwVMTypeError(exec);
JSNamedNodeMap* castedThis = static_cast<JSNamedNodeMap*>(asObject(thisValue));
NamedNodeMap* imp = static_cast<NamedNodeMap*>(castedThis->impl());
ExceptionCode ec = 0;
const String& namespaceURI(valueToStringWithNullCheck(exec, exec->argument(0)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
const String& localName(ustringToString(exec->argument(1).toString(exec)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->removeNamedItemNS(namespaceURI, localName, ec)));
setDOMException(exec, ec);
return JSValue::encode(result);
}
示例12: nameGetter
EncodedJSValue JSNamedNodeMap::nameGetter(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName propertyName)
{
JSNamedNodeMap* thisObj = jsCast<JSNamedNodeMap*>(slotBase);
return JSValue::encode(toJS(exec, thisObj->globalObject(), thisObj->impl().getNamedItem(propertyNameToAtomicString(propertyName))));
}
示例13: nameGetter
JSValue JSNamedNodeMap::nameGetter(ExecState* exec, JSValue slotBase, const Identifier& propertyName)
{
JSNamedNodeMap* thisObj = static_cast<JSNamedNodeMap*>(asObject(slotBase));
return toJS(exec, thisObj->globalObject(), thisObj->impl()->getNamedItem(identifierToString(propertyName)));
}
示例14: finalize
void JSNamedNodeMapOwner::finalize(JSC::Handle<JSC::Unknown> handle, void* context)
{
JSNamedNodeMap* jsNamedNodeMap = static_cast<JSNamedNodeMap*>(handle.get().asCell());
DOMWrapperWorld* world = static_cast<DOMWrapperWorld*>(context);
uncacheWrapper(world, jsNamedNodeMap->impl(), jsNamedNodeMap);
}
示例15: indexGetter
JSValue JSNamedNodeMap::indexGetter(ExecState* exec, const Identifier&, const PropertySlot& slot)
{
JSNamedNodeMap* thisObj = static_cast<JSNamedNodeMap*>(asObject(slot.slotBase()));
return toJS(exec, static_cast<NamedNodeMap*>(thisObj->impl())->item(slot.index()));
}