diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h index 09fe4bc4a8..31e24868fe 100644 --- a/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDOMWindowBase.h @@ -32,6 +32,7 @@ namespace WebCore { class DOMWindow; class Event; class Frame; + class DOMWrapperWorld; class JSDOMWindow; class JSDOMWindowShell; class JSLocation; @@ -46,7 +47,7 @@ namespace WebCore { JSDOMWindowBase(NonNullPassRefPtr<JSC::Structure>, PassRefPtr<DOMWindow>, JSDOMWindowShell*); public: - void updateDocument(); + void updateDocument(DOMWrapperWorld*); DOMWindow* impl() const { return d()->impl.get(); } virtual ScriptExecutionContext* scriptExecutionContext() const; @@ -76,7 +77,12 @@ namespace WebCore { private: struct JSDOMWindowBaseData : public JSDOMGlobalObjectData { - JSDOMWindowBaseData(PassRefPtr<DOMWindow>, JSDOMWindowShell*); + JSDOMWindowBaseData(PassRefPtr<DOMWindow> window, JSDOMWindowShell* shell) + : JSDOMGlobalObjectData(destroyJSDOMWindowBaseData) + , impl(window) + , shell(shell) + { + } RefPtr<DOMWindow> impl; JSDOMWindowShell* shell; @@ -85,6 +91,8 @@ namespace WebCore { bool allowsAccessFromPrivate(const JSC::JSGlobalObject*) const; String crossDomainAccessErrorMessage(const JSC::JSGlobalObject*) const; + static void destroyJSDOMWindowBaseData(void*); + JSDOMWindowBaseData* d() const { return static_cast<JSDOMWindowBaseData*>(JSC::JSVariableObject::d); } }; @@ -95,7 +103,7 @@ namespace WebCore { JSC::JSValue toJS(JSC::ExecState*, DOMWindow*); // Returns JSDOMWindow or 0 - JSDOMWindow* toJSDOMWindow(Frame*); + JSDOMWindow* toJSDOMWindow(Frame*, DOMWrapperWorld*); JSDOMWindow* toJSDOMWindow(JSC::JSValue); } // namespace WebCore |