summaryrefslogtreecommitdiff
path: root/Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2017-06-27 06:07:23 +0000
commit1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch)
tree46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp
parent32761a6cee1d0dee366b885b7b9c777e67885688 (diff)
downloadWebKitGtk-tarball-master.tar.gz
Diffstat (limited to 'Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp')
-rw-r--r--Source/WebCore/bindings/js/JSHTMLFrameSetElementCustom.cpp31
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