JSValue jsHTMLElementChildren(ExecState* exec, JSValue slotBase, const Identifier&) { JSHTMLElement* castedThis = static_cast<JSHTMLElement*>(asObject(slotBase)); UNUSED_PARAM(exec); HTMLElement* imp = static_cast<HTMLElement*>(castedThis->impl()); JSValue result = toJS(exec, castedThis->globalObject(), WTF::getPtr(imp->children())); return result; }
JSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, JSValue slotBase, const Identifier& propertyName) { HTMLElement* element = jsCast<JSHTMLElement*>(asObject(slotBase))->impl(); Node* frameElement = element->children()->namedItem(identifierToAtomicString(propertyName)); if (Document* document = static_cast<HTMLFrameElement*>(frameElement)->contentDocument()) { if (JSDOMWindowShell* window = toJSDOMWindowShell(document->frame(), currentWorld(exec))) return window; } return jsUndefined(); }
JSValue* JSHTMLFrameSetElement::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) { JSHTMLElement* thisObj = static_cast<JSHTMLElement*>(slot.slotBase()); HTMLElement* element = static_cast<HTMLElement*>(thisObj->impl()); Node* frame = element->children()->namedItem(propertyName); if (Document* doc = static_cast<HTMLFrameElement*>(frame)->contentDocument()) { if (JSDOMWindowShell* window = toJSDOMWindowShell(doc->frame())) return window; } return jsUndefined(); }