[V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptC...
authorharaken@chromium.org <haraken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 03:46:53 +0000 (03:46 +0000)
committerharaken@chromium.org <haraken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 03:46:53 +0000 (03:46 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94770

Reviewed by Adam Barth.

Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
are used by ScriptController only. We can move them to ScriptController.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
(WebCore::ScriptController::collectIsolatedContexts):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.h:
(V8Proxy):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126389 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/bindings/v8/ScriptController.cpp
Source/WebCore/bindings/v8/ScriptController.h
Source/WebCore/bindings/v8/V8Proxy.h

index e3a70cd..4e6754a 100644 (file)
@@ -1,5 +1,27 @@
 2012-08-22  Kentaro Hara  <haraken@chromium.org>
 
+        [V8] Move m_isolatedWorlds and m_isolatedWorldSecurityOrigins from V8Proxy to ScriptController
+        https://bugs.webkit.org/show_bug.cgi?id=94770
+
+        Reviewed by Adam Barth.
+
+        Now m_isolatedWorlds and m_isolatedWorldSecurityOrigins of V8Proxy
+        are used by ScriptController only. We can move them to ScriptController.
+
+        No tests. No change in behavior.
+
+        * bindings/v8/ScriptController.cpp:
+        (WebCore::ScriptController::resetIsolatedWorlds):
+        (WebCore::ScriptController::evaluateInIsolatedWorld):
+        (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
+        (WebCore::ScriptController::collectIsolatedContexts):
+        * bindings/v8/ScriptController.h:
+        (ScriptController):
+        * bindings/v8/V8Proxy.h:
+        (V8Proxy):
+
+2012-08-22  Kentaro Hara  <haraken@chromium.org>
+
         [V8] Move evaluate() from V8Proxy to ScriptController
         https://bugs.webkit.org/show_bug.cgi?id=94768
 
index 058b873..8f161f3 100644 (file)
@@ -155,12 +155,12 @@ void ScriptController::clearScriptObjects()
 
 void ScriptController::resetIsolatedWorlds()
 {
-    for (IsolatedWorldMap::iterator iter = m_proxy->isolatedWorlds().begin();
-         iter != m_proxy->isolatedWorlds().end(); ++iter) {
+    for (IsolatedWorldMap::iterator iter = m_isolatedWorlds.begin();
+         iter != m_isolatedWorlds.end(); ++iter) {
         iter->second->destroy();
     }
-    m_proxy->isolatedWorlds().clear();
-    m_proxy->isolatedWorldSecurityOrigins().clear();
+    m_isolatedWorlds.clear();
+    m_isolatedWorldSecurityOrigins.clear();
 }
 
 void ScriptController::clearForClose()
@@ -342,8 +342,8 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
         v8::HandleScope evaluateHandleScope;
         V8IsolatedContext* isolatedContext = 0;
         if (worldID > 0) {
-            IsolatedWorldMap::iterator iter = m_proxy->isolatedWorlds().find(worldID);
-            if (iter != m_proxy->isolatedWorlds().end())
+            IsolatedWorldMap::iterator iter = m_isolatedWorlds.find(worldID);
+            if (iter != m_isolatedWorlds.end())
                 isolatedContext = iter->second;
             else {
                 isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
@@ -353,11 +353,11 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
                 }
 
                 // FIXME: We should change this to using window shells to match JSC.
-                m_proxy->isolatedWorlds().set(worldID, isolatedContext);
+                m_isolatedWorlds.set(worldID, isolatedContext);
             }
 
-            IsolatedWorldSecurityOriginMap::iterator securityOriginIter = m_proxy->isolatedWorldSecurityOrigins().find(worldID);
-            if (securityOriginIter != m_proxy->isolatedWorldSecurityOrigins().end())
+            IsolatedWorldSecurityOriginMap::iterator securityOriginIter = m_isolatedWorldSecurityOrigins.find(worldID);
+            if (securityOriginIter != m_isolatedWorldSecurityOrigins.end())
                 isolatedContext->setSecurityOrigin(securityOriginIter->second);
         } else {
             isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
@@ -393,9 +393,9 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
 void ScriptController::setIsolatedWorldSecurityOrigin(int worldID, PassRefPtr<SecurityOrigin> securityOrigin)
 {
     ASSERT(worldID);
-    m_proxy->isolatedWorldSecurityOrigins().set(worldID, securityOrigin);
-    IsolatedWorldMap::iterator iter = m_proxy->isolatedWorlds().find(worldID);
-    if (iter != m_proxy->isolatedWorlds().end())
+    m_isolatedWorldSecurityOrigins.set(worldID, securityOrigin);
+    IsolatedWorldMap::iterator iter = m_isolatedWorlds.find(worldID);
+    if (iter != m_isolatedWorlds.end())
         iter->second->setSecurityOrigin(securityOrigin);
 }
 
@@ -662,7 +662,7 @@ void ScriptController::setCaptureCallStackForUncaughtExceptions(bool value)
 void ScriptController::collectIsolatedContexts(Vector<std::pair<ScriptState*, SecurityOrigin*> >& result)
 {
     v8::HandleScope handleScope;
-    for (IsolatedWorldMap::iterator it = m_proxy->isolatedWorlds().begin(); it != m_proxy->isolatedWorlds().end(); ++it) {
+    for (IsolatedWorldMap::iterator it = m_isolatedWorlds.begin(); it != m_isolatedWorlds.end(); ++it) {
         V8IsolatedContext* isolatedContext = it->second;
         if (!isolatedContext->securityOrigin())
             continue;
index 5f9b67f..ca59838 100644 (file)
@@ -218,6 +218,13 @@ private:
     // For the moment, we have one of these. Soon we will have one per DOMWrapperWorld.
     RefPtr<V8DOMWindowShell> m_windowShell;
 
+    // The isolated worlds we are tracking for this frame. We hold them alive
+    // here so that they can be used again by future calls to
+    // evaluateInIsolatedWorld().
+    IsolatedWorldMap m_isolatedWorlds;
+
+    IsolatedWorldSecurityOriginMap m_isolatedWorldSecurityOrigins;
+
     bool m_paused;
 
     OwnPtr<V8Proxy> m_proxy;
index 92340b8..0b19afb 100644 (file)
@@ -91,22 +91,8 @@ namespace WebCore {
         // FIXME: This method will be soon removed, as all methods that access windowShell()
         // will be moved to ScriptController.
         V8DOMWindowShell* windowShell() const;
-
-        // FIXME: Move m_isolatedWorlds to ScriptController and remove this getter.
-        IsolatedWorldMap& isolatedWorlds() { return m_isolatedWorlds; }
-
-        // FIXME: Move m_isolatedWorldSecurityOrigins to ScriptController and remove this getter.
-        IsolatedWorldSecurityOriginMap& isolatedWorldSecurityOrigins() { return m_isolatedWorldSecurityOrigins; }
-
     private:
         Frame* m_frame;
-
-        // The isolated worlds we are tracking for this frame. We hold them alive
-        // here so that they can be used again by future calls to
-        // evaluateInIsolatedWorld().
-        IsolatedWorldMap m_isolatedWorlds;
-        
-        IsolatedWorldSecurityOriginMap m_isolatedWorldSecurityOrigins;
     };
 }