JSValuePtr JSDOMWindowBase::namedItemGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) { JSDOMWindowBase* thisObj = static_cast<JSDOMWindowBase*>(asObject(slot.slotBase())); Document* doc = thisObj->impl()->frame()->document(); ASSERT(thisObj->allowsAccessFrom(exec)); ASSERT(doc); ASSERT(doc->isHTMLDocument()); RefPtr<HTMLCollection> collection = doc->windowNamedItems(propertyName); if (collection->length() == 1) return toJS(exec, collection->firstItem()); return toJS(exec, collection.get()); }
static JSValue namedItemGetter(ExecState* exec, JSValue slotBase, const Identifier& propertyName) { JSDOMWindowBase* thisObj = static_cast<JSDOMWindow*>(asObject(slotBase)); Document* document = thisObj->impl()->frame()->document(); ASSERT(thisObj->allowsAccessFrom(exec)); ASSERT(document); ASSERT(document->isHTMLDocument()); RefPtr<HTMLCollection> collection = document->windowNamedItems(identifierToString(propertyName)); if (collection->length() == 1) return toJS(exec, collection->firstItem()); return toJS(exec, collection.get()); }