[V8] Remove V8Proxy from V8IsolatedContext
authorharaken@chromium.org <haraken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Aug 2012 23:57:30 +0000 (23:57 +0000)
committerharaken@chromium.org <haraken@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 20 Aug 2012 23:57:30 +0000 (23:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94450

Reviewed by Adam Barth.

This patch removes dependency on V8Proxy from V8IsolatedContext.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8IsolatedContext.h:
(WebCore):
(V8IsolatedContext):

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

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

index ed1f191..8e2a2e2 100644 (file)
@@ -1,3 +1,22 @@
+2012-08-20  Kentaro Hara  <haraken@chromium.org>
+
+        [V8] Remove V8Proxy from V8IsolatedContext
+        https://bugs.webkit.org/show_bug.cgi?id=94450
+
+        Reviewed by Adam Barth.
+
+        This patch removes dependency on V8Proxy from V8IsolatedContext.
+
+        No tests. No change in behavior.
+
+        * bindings/v8/ScriptController.cpp:
+        (WebCore::ScriptController::evaluateInIsolatedWorld):
+        * bindings/v8/V8IsolatedContext.cpp:
+        (WebCore::V8IsolatedContext::V8IsolatedContext):
+        * bindings/v8/V8IsolatedContext.h:
+        (WebCore):
+        (V8IsolatedContext):
+
 2012-08-20  Philip Rogers  <pdr@google.com>
 
         Canvas drawImage() should draw SVG at the correct scale.
index ec97140..a1d113e 100644 (file)
@@ -220,7 +220,7 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
             if (iter != m_proxy->isolatedWorlds().end())
                 isolatedContext = iter->second;
             else {
-                isolatedContext = new V8IsolatedContext(proxy(), extensionGroup, worldID);
+                isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
                 if (isolatedContext->context().IsEmpty()) {
                     delete isolatedContext;
                     return;
@@ -234,7 +234,7 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
             if (securityOriginIter != m_proxy->isolatedWorldSecurityOrigins().end())
                 isolatedContext->setSecurityOrigin(securityOriginIter->second);
         } else {
-            isolatedContext = new V8IsolatedContext(proxy(), extensionGroup, worldID);
+            isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
             if (isolatedContext->context().IsEmpty()) {
                 delete isolatedContext;
                 return;
index fc1037e..bd50894 100644 (file)
@@ -38,7 +38,6 @@
 #include "SecurityOrigin.h"
 #include "V8DOMWindow.h"
 #include "V8PerContextData.h"
-#include "V8Proxy.h"
 #include <wtf/StringExtras.h>
 
 namespace WebCore {
@@ -65,17 +64,17 @@ static void setInjectedScriptContextDebugId(v8::Handle<v8::Context> targetContex
     targetContext->SetData(v8::String::New(buffer));
 }
 
-V8IsolatedContext::V8IsolatedContext(V8Proxy* proxy, int extensionGroup, int worldId)
+V8IsolatedContext::V8IsolatedContext(Frame* frame, int extensionGroup, int worldId)
     : m_world(IsolatedWorld::create(worldId)),
-      m_frame(proxy->frame())
+      m_frame(frame)
 {
     v8::HandleScope scope;
-    v8::Handle<v8::Context> mainWorldContext = proxy->windowShell()->context();
+    v8::Handle<v8::Context> mainWorldContext = frame->script()->windowShell()->context();
     if (mainWorldContext.IsEmpty())
         return;
 
     // FIXME: We should be creating a new V8DOMWindowShell here instead of riping out the context.
-    m_context = SharedPersistent<v8::Context>::create(proxy->windowShell()->createNewContext(v8::Handle<v8::Object>(), extensionGroup, m_world->id()));
+    m_context = SharedPersistent<v8::Context>::create(frame->script()->windowShell()->createNewContext(v8::Handle<v8::Object>(), extensionGroup, m_world->id()));
     if (m_context->get().IsEmpty())
         return;
 
@@ -90,7 +89,7 @@ V8IsolatedContext::V8IsolatedContext(V8Proxy* proxy, int extensionGroup, int wor
     m_perContextData->init();
 
     // FIXME: This will go away once we have a windowShell for the isolated world.
-    proxy->windowShell()->installDOMWindow(m_context->get(), m_frame->document()->domWindow());
+    frame->script()->windowShell()->installDOMWindow(m_context->get(), m_frame->document()->domWindow());
 
     // Using the default security token means that the canAccess is always
     // called, which is slow.
index ecd3f6e..b191287 100644 (file)
@@ -39,9 +39,9 @@
 
 namespace WebCore {
 
+class Frame;
 class SecurityOrigin;
 class V8PerContextData;
-class V8Proxy;
 
 // V8IsolatedContext
 //
@@ -59,7 +59,7 @@ class V8IsolatedContext {
 public:
     // Creates an isolated world. To destroy it, call destroy().
     // This will delete the isolated world when the context it owns is GC'd.
-    V8IsolatedContext(V8Proxy*, int extensionGroup, int worldId);
+    V8IsolatedContext(Frame*, int extensionGroup, int worldId);
     ~V8IsolatedContext();
 
     // Call this to destroy the isolated world. It will be deleted sometime