JavaScriptCore:
2008-05-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- make addStaticGlobals protected instead of private so subclasses can use it
* JavaScriptCore.exp:
* kjs/JSGlobalObject.h:
WebCore:
2008-05-25 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- bind the window's "document" and "window" properties to static slots
1.7% speedup on Acid3 test 26
Only the "document" part matters for Acid3, but since I was doing
this anyway, "window" also seemed like a good one to optimize.
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::JSDOMWindowBase): Allocate variable
slots for document and window; but just put null in the document
slot for now.
(WebCore::JSDOMWindowBase::updateDocument): Fill in the document
slot.
(WebCore::JSDOMWindowBase::~JSDOMWindowBase): Make our shell stop
tracking us.
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::JSDOMWindowShell): Allocate HashSet
for our still-not-dead inner windows.
(WebCore::JSDOMWindowShell::updateDocument): Update all our
inner windows ever (to make sure the update to the document
property shows up everywhere).
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::setWindow): Update our hash.
(WebCore::JSDOMWindowShell::clearFormerWindow): Ditto.
* bindings/js/JSDocumentCustom.cpp:
(WebCore::toJS): Don't set self as a property map property of
the window, this is no longer necessary.
* bindings/js/kjs_proxy.cpp:
(WebCore::KJSProxy::initScript): Update document for the
newly created window.
* bindings/js/kjs_proxy.h:
* page/Frame.cpp:
(WebCore::Frame::setDocument): If the document is not null,
update our window.
LayoutTests:
2008-05-26 Maciej Stachowiak <mjs@apple.com>
Reviewed by Anders.
- update test result for document/window being allocated to var slots
* http/tests/security/cross-frame-access-put-expected.txt:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34143 268f45cc-cd09-0410-ab3c-d52691b4dbfc
14 files changed