diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp')
-rw-r--r-- | Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp | 31 |
1 files changed, 13 insertions, 18 deletions
diff --git a/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp b/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp index 6df61d1c1..125aef7ec 100644 --- a/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp +++ b/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -30,7 +30,6 @@ #include "HTMLCollection.h" #include "HTMLFrameElement.h" #include "HTMLFrameSetElement.h" -#include "HTMLNames.h" #include "JSDOMWindow.h" #include "JSDOMWindowShell.h" #include "JSDOMBinding.h" @@ -39,23 +38,19 @@ using namespace JSC; namespace WebCore { -using namespace HTMLNames; - -bool JSHTMLFrameSetElement::canGetItemsForName(ExecState*, HTMLFrameSetElement* frameSet, PropertyName propertyName) -{ - Node* frame = frameSet->children()->namedItem(propertyNameToAtomicString(propertyName)); - return frame && frame->hasTagName(frameTag); -} - -EncodedJSValue JSHTMLFrameSetElement::nameGetter(ExecState* exec, EncodedJSValue slotBase, EncodedJSValue, PropertyName propertyName) +bool JSHTMLFrameSetElement::nameGetter(ExecState* exec, PropertyName propertyName, JSValue& value) { - HTMLElement& element = jsCast<JSHTMLElement*>(JSValue::decode(slotBase))->impl(); - Node* frameElement = element.children()->namedItem(propertyNameToAtomicString(propertyName)); - if (Document* document = toHTMLFrameElement(frameElement)->contentDocument()) { - if (JSDOMWindowShell* window = toJSDOMWindowShell(document->frame(), currentWorld(exec))) - return JSValue::encode(window); + auto* frameElement = wrapped().children()->namedItem(propertyNameToAtomicString(propertyName)); + if (!is<HTMLFrameElement>(frameElement)) + return false; + + if (auto* document = downcast<HTMLFrameElement>(*frameElement).contentDocument()) { + if (JSDOMWindowShell* window = toJSDOMWindowShell(document->frame(), currentWorld(exec))) { + value = window; + return true; + } } - return JSValue::encode(jsUndefined()); + return false; } } // namespace WebCore |