Index: Source/bindings/core/v8/WindowProxy.h |
diff --git a/Source/bindings/core/v8/WindowProxy.h b/Source/bindings/core/v8/WindowProxy.h |
index fb84e0ed6673fda2df8d264ae371e65d89970848..643b13d8e95279f1a8611ac5c63b475d12845174 100644 |
--- a/Source/bindings/core/v8/WindowProxy.h |
+++ b/Source/bindings/core/v8/WindowProxy.h |
@@ -34,6 +34,7 @@ |
#include "bindings/core/v8/DOMWrapperWorld.h" |
#include "bindings/core/v8/ScopedPersistent.h" |
#include "bindings/core/v8/ScriptState.h" |
+#include "platform/heap/Handle.h" |
#include "platform/weborigin/SecurityOrigin.h" |
#include "wtf/HashMap.h" |
#include "wtf/PassRefPtr.h" |
@@ -49,9 +50,12 @@ class SecurityOrigin; |
// WindowProxy represents all the per-global object state for a LocalFrame that |
// persist between navigations. |
-class WindowProxy { |
+class WindowProxy final : public NoBaseWillBeGarbageCollectedFinalized<WindowProxy> { |
public: |
- static PassOwnPtr<WindowProxy> create(LocalFrame*, DOMWrapperWorld&, v8::Isolate*); |
+ static PassOwnPtrWillBeRawPtr<WindowProxy> create(LocalFrame*, DOMWrapperWorld&, v8::Isolate*); |
+ |
+ ~WindowProxy(); |
+ void trace(Visitor*); |
v8::Local<v8::Context> context() const { return m_scriptState ? m_scriptState->context() : v8::Local<v8::Context>(); } |
ScriptState* scriptState() const { return m_scriptState.get(); } |
@@ -102,9 +106,7 @@ private: |
void createContext(); |
bool installDOMWindow(); |
- static WindowProxy* enteredIsolatedWorldContext(); |
- |
- LocalFrame* m_frame; |
+ RawPtrWillBeMember<LocalFrame> m_frame; |
v8::Isolate* m_isolate; |
RefPtr<ScriptState> m_scriptState; |
RefPtr<DOMWrapperWorld> m_world; |