Index: Source/bindings/core/v8/ScriptController.h |
diff --git a/Source/bindings/core/v8/ScriptController.h b/Source/bindings/core/v8/ScriptController.h |
index 28a403428a37befeea23a3e926bb2025be85074a..aea494ca7fcb3900e9d01f8e33fc20994ea44b0b 100644 |
--- a/Source/bindings/core/v8/ScriptController.h |
+++ b/Source/bindings/core/v8/ScriptController.h |
@@ -32,9 +32,8 @@ |
#define ScriptController_h |
#include "bindings/core/v8/SharedPersistent.h" |
-#include "bindings/core/v8/WindowProxyManager.h" |
+ |
#include "core/fetch/CrossOriginAccessControl.h" |
-#include "core/frame/LocalFrame.h" |
#include "platform/heap/Handle.h" |
#include "wtf/HashMap.h" |
#include "wtf/Vector.h" |
@@ -50,6 +49,7 @@ |
class HTMLDocument; |
class HTMLPlugInElement; |
class KURL; |
+class LocalFrame; |
class ScriptState; |
class ScriptSourceCode; |
class SecurityOrigin; |
@@ -150,19 +150,22 @@ |
void setWorldDebugId(int worldId, int debuggerId); |
- v8::Isolate* isolate() const { return m_windowProxyManager->isolate(); } |
+ v8::Isolate* isolate() const { return m_isolate; } |
private: |
explicit ScriptController(LocalFrame*); |
- LocalFrame* frame() const { return toLocalFrame(m_windowProxyManager->frame()); } |
- |
+ typedef WillBeHeapHashMap<int, OwnPtrWillBeMember<WindowProxy> > IsolatedWorldMap; |
typedef HashMap<Widget*, NPObject*> PluginObjectMap; |
v8::Local<v8::Value> evaluateScriptInMainWorld(const ScriptSourceCode&, AccessControlStatus, ExecuteScriptPolicy, double* compilationFinishTime = 0); |
- OwnPtrWillBeMember<WindowProxyManager> m_windowProxyManager; |
+ RawPtrWillBeMember<LocalFrame> m_frame; |
const String* m_sourceURL; |
+ v8::Isolate* m_isolate; |
+ |
+ OwnPtrWillBeMember<WindowProxy> m_windowProxy; |
+ IsolatedWorldMap m_isolatedWorlds; |
// A mapping between Widgets and their corresponding script object. |
// This list is used so that when the plugin dies, we can immediately |