JSValue* jsNodeIteratorPrototypeFunctionPreviousNode(ExecState* exec, JSObject*, JSValue* thisValue, const ArgList& args) { if (!thisValue->isObject(&JSNodeIterator::s_info)) return throwError(exec, TypeError); JSNodeIterator* castedThisObj = static_cast<JSNodeIterator*>(thisValue); return castedThisObj->previousNode(exec, args); }
JSValue jsNodeIteratorPointerBeforeReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase())); UNUSED_PARAM(exec); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); return jsBoolean(imp->pointerBeforeReferenceNode()); }
JSValue jsNodeIteratorReferenceNode(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slot.slotBase())); UNUSED_PARAM(exec); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); return toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->referenceNode())); }
JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionPreviousNode(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.isObject(&JSNodeIterator::s_info)) return throwError(exec, TypeError); JSNodeIterator* castedThisObj = static_cast<JSNodeIterator*>(asObject(thisValue)); return castedThisObj->previousNode(exec, args); }
JSValue jsNodeIteratorPointerBeforeReferenceNode(ExecState* exec, JSValue slotBase, const Identifier&) { JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slotBase)); UNUSED_PARAM(exec); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); JSValue result = jsBoolean(imp->pointerBeforeReferenceNode()); return result; }
JSValue jsNodeIteratorReferenceNode(ExecState* exec, JSValue slotBase, const Identifier&) { JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slotBase)); UNUSED_PARAM(exec); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->referenceNode())); return result; }
JSValue jsNodeIteratorWhatToShow(ExecState* exec, JSValue slotBase, const Identifier&) { JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(slotBase)); UNUSED_PARAM(exec); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); JSValue result = jsNumber(imp->whatToShow()); return result; }
JSValue* jsNodeIteratorPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue* thisValue, const ArgList& args) { if (!thisValue->isObject(&JSNodeIterator::s_info)) return throwError(exec, TypeError); JSNodeIterator* castedThisObj = static_cast<JSNodeIterator*>(thisValue); NodeIterator* imp = static_cast<NodeIterator*>(castedThisObj->impl()); imp->detach(); return jsUndefined(); }
JSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionDetach(ExecState* exec, JSObject*, JSValue thisValue, const ArgList& args) { UNUSED_PARAM(args); if (!thisValue.isObject(&JSNodeIterator::s_info)) return throwError(exec, TypeError); JSNodeIterator* castedThisObj = static_cast<JSNodeIterator*>(asObject(thisValue)); NodeIterator* imp = static_cast<NodeIterator*>(castedThisObj->impl()); imp->detach(); return jsUndefined(); }
void JSNodeIterator::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSNodeIterator* thisObject = jsCast<JSNodeIterator*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); if (NodeFilter* filter = thisObject->m_impl->filter()) visitor.addOpaqueRoot(filter); }
EncodedJSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionDetach(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSNodeIterator::s_info)) return throwVMTypeError(exec); JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(thisValue)); ASSERT_GC_OBJECT_INHERITS(castedThis, &JSNodeIterator::s_info); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); imp->detach(); return JSValue::encode(jsUndefined()); }
EncodedJSValue JSC_HOST_CALL jsNodeIteratorPrototypeFunctionPreviousNode(ExecState* exec) { JSValue thisValue = exec->hostThisValue(); if (!thisValue.inherits(&JSNodeIterator::s_info)) return throwVMTypeError(exec); JSNodeIterator* castedThis = static_cast<JSNodeIterator*>(asObject(thisValue)); ASSERT_GC_OBJECT_INHERITS(castedThis, &JSNodeIterator::s_info); NodeIterator* imp = static_cast<NodeIterator*>(castedThis->impl()); ExceptionCode ec = 0; JSC::JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->previousNode(exec, ec))); setDOMException(exec, ec); if (exec->hadException()) return JSValue::encode(jsUndefined()); return JSValue::encode(result); }
JSValue jsNodeIteratorConstructor(ExecState* exec, JSValue slotBase, const Identifier&) { JSNodeIterator* domObject = static_cast<JSNodeIterator*>(asObject(slotBase)); return JSNodeIterator::getConstructor(exec, domObject->globalObject()); }
JSValue jsNodeIteratorConstructor(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSNodeIterator* domObject = static_cast<JSNodeIterator*>(asObject(slot.slotBase())); return JSNodeIterator::getConstructor(exec, domObject->globalObject()); }