2009-11-13 Adam Barth <abarth@webkit.org>
authorabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Nov 2009 02:29:50 +0000 (02:29 +0000)
committerabarth@webkit.org <abarth@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 14 Nov 2009 02:29:50 +0000 (02:29 +0000)
        Unreviewed partial build fix for Chromium.  Should fix failure #4.

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::getAllWorlds):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::initContextIfNeeded):

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

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

index f037828037dbad0fe68000af88d14433496b31ce..0a6d591061dd11db2f9eb65f41f433b85386c930 100644 (file)
@@ -1,3 +1,13 @@
+2009-11-13  Adam Barth  <abarth@webkit.org>
+
+        Unreviewed partial build fix for Chromium.  Should fix failure #4.
+
+        * bindings/v8/ScriptController.cpp:
+        (WebCore::ScriptController::getAllWorlds):
+        * bindings/v8/ScriptController.h:
+        * bindings/v8/V8Proxy.cpp:
+        (WebCore::V8Proxy::initContextIfNeeded):
+
 2009-11-13  Adam Barth  <abarth@webkit.org>
 
         Unreviewed partial build fix for Chromium.
index 14c18386c4413bc1d5047ec75f9ebd330fbc7c21..7bd29b15146988448c8ae8346218801493cbdc52 100644 (file)
@@ -349,6 +349,11 @@ void ScriptController::cleanupScriptObjectsForPlugin(Widget* nativeHandle)
     m_pluginObjects.remove(it);
 }
 
+void ScriptController::getAllWorlds(Vector<DOMWrapperWorld*>& worlds)
+{
+    worlds.append(mainThreadWorld());
+}
+
 static NPObject* createNoScriptObject()
 {
     notImplemented();
index eddc1233763c7003409a819f6f3e5bdcac12d628..0189faa6a40237ac3327f61fb9c19eff7dec7dae 100644 (file)
@@ -168,7 +168,7 @@ namespace WebCore {
 
         // Dummy method to avoid a bunch of ifdef's in WebCore.
         void evaluateInWorld(const ScriptSourceCode&, DOMWrapperWorld*) { }
-        static void getAllWorlds(Vector<DOMWrapperWorld*>&) {}
+        static void getAllWorlds(Vector<DOMWrapperWorld*>& worlds);
 
     private:
         Frame* m_frame;
index de977b89aa9764837a7bde38f34fbf99db9f9ccc..bb9446559b4f2b28717041029d570b99c15d954e 100644 (file)
@@ -1106,7 +1106,10 @@ void V8Proxy::initContextIfNeeded()
     setSecurityToken();
 
     m_frame->loader()->client()->didCreateScriptContextForFrame();
-    m_frame->loader()->dispatchWindowObjectAvailable();
+
+    // FIXME: This is wrong. We should actually do this for the proper world once
+    // we do isolated worlds the WebCore way.
+     m_frame->loader()->dispatchDidClearWindowObjectsInAllWorlds();
 }
 
 void V8Proxy::setDOMException(int exceptionCode)