Commit 4ba897c4 authored by weinig@apple.com's avatar weinig@apple.com

WebCore:

        Reviewed by Darin Adler.

        Search the entire prototype chain when doing early prototype lookup in
        the Window's getOwnPropertySlot method.

        Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.

        * bindings/js/kjs_window.cpp:
        (KJS::Window::getOwnPropertySlot):

LayoutTests:

        Reviewed by Darin Adler.

        Update test result.

        * fast/dom/Window/window-function-name-getter-precedence-expected.txt:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@30696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 6238d76f
2008-03-01 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Update test result.
* fast/dom/Window/window-function-name-getter-precedence-expected.txt:
2008-03-01 Nikolas Zimmermann <zimmermann@kde.org> 2008-03-01 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver. Reviewed by Oliver.
...@@ -44,15 +44,15 @@ PASS: typeof window.decodeURI should be function and is. ...@@ -44,15 +44,15 @@ PASS: typeof window.decodeURI should be function and is.
PASS: typeof window.decodeURIComponent should be function and is. PASS: typeof window.decodeURIComponent should be function and is.
PASS: typeof window.encodeURI should be function and is. PASS: typeof window.encodeURI should be function and is.
PASS: typeof window.encodeURIComponent should be function and is. PASS: typeof window.encodeURIComponent should be function and is.
FAIL: typeof window.toString should be function but instead is object PASS: typeof window.toString should be function and is.
FAIL: typeof window.toLocaleString should be function but instead is object PASS: typeof window.toLocaleString should be function and is.
FAIL: typeof window.valueOf should be function but instead is object PASS: typeof window.valueOf should be function and is.
FAIL: typeof window.hasOwnProperty should be function but instead is object PASS: typeof window.hasOwnProperty should be function and is.
FAIL: typeof window.propertyIsEnumerable should be function but instead is object PASS: typeof window.propertyIsEnumerable should be function and is.
FAIL: typeof window.isPrototypeOf should be function but instead is object PASS: typeof window.isPrototypeOf should be function and is.
FAIL: typeof window.__defineGetter__ should be function but instead is object PASS: typeof window.__defineGetter__ should be function and is.
FAIL: typeof window.__defineSetter__ should be function but instead is object PASS: typeof window.__defineSetter__ should be function and is.
FAIL: typeof window.__lookupGetter__ should be function but instead is object PASS: typeof window.__lookupGetter__ should be function and is.
FAIL: typeof window.__lookupSetter__ should be function but instead is object PASS: typeof window.__lookupSetter__ should be function and is.
PASS: typeof window.myFunction should be function and is. PASS: typeof window.myFunction should be function and is.
PASS: typeof window.myPrototypeFunction should be function and is. PASS: typeof window.myPrototypeFunction should be function and is.
2008-03-01 Sam Weinig <sam@webkit.org>
Reviewed by Darin Adler.
Search the entire prototype chain when doing early prototype lookup in
the Window's getOwnPropertySlot method.
Makes fast/dom/Window/window-function-name-getter-precedence.html pass all tests.
* bindings/js/kjs_window.cpp:
(KJS::Window::getOwnPropertySlot):
2008-03-01 Nikolas Zimmermann <zimmermann@kde.org> 2008-03-01 Nikolas Zimmermann <zimmermann@kde.org>
Reviewed by Oliver. Reviewed by Oliver.
...@@ -642,7 +642,7 @@ bool Window::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName, ...@@ -642,7 +642,7 @@ bool Window::getOwnPropertySlot(ExecState* exec, const Identifier& propertyName,
// precedence over the index and name getters. // precedence over the index and name getters.
JSValue* proto = prototype(); JSValue* proto = prototype();
if (proto->isObject()) { if (proto->isObject()) {
if (static_cast<JSObject*>(proto)->getOwnPropertySlot(exec, propertyName, slot)) { if (static_cast<JSObject*>(proto)->getPropertySlot(exec, propertyName, slot)) {
if (!allowsAccessFrom(exec)) if (!allowsAccessFrom(exec))
slot.setUndefined(this); slot.setUndefined(this);
return true; return true;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment