[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

weinig at apple.com weinig at apple.com
Wed Dec 22 15:24:29 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 7763b882e2812964ef9f4fc2ffb7961c42e0266b
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 2 22:06:08 2010 +0000

    Add a way to send startup messages on the context which can be posted when a process launches
    <rdar://problem/8617928>
    https://bugs.webkit.org/show_bug.cgi?id=48838
    
    Reviewed by Anders Carlsson.
    
    WebKit2:
    
    Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
    APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
    function each time a process starts up. This can help in cases where
    the WebProcess dies, and will be helpful in the world where there are
    multiple WebProcess's per context.
    
    * Scripts/webkit2/messages.py:
    * UIProcess/API/C/WKContext.cpp:
    (WKContextSetInitializationUserDataForInjectedBundle):
    * UIProcess/API/C/WKContext.h:
    * UIProcess/WebContext.cpp:
    (WebKit::WebContext::ensureWebProcess):
    * UIProcess/WebContext.h:
    (WebKit::WebContext::setInjectedBundleInitializationUserData):
    (WebKit::WebContext::injectedBundleInitializationUserData):
    * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
    * WebProcess/InjectedBundle/InjectedBundle.h:
    * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
    (WebKit::InjectedBundle::load):
    * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
    (WebKit::InjectedBundle::load):
    * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
    (WebKit::InjectedBundle::load):
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::initializeWebProcess):
    * WebProcess/WebProcess.h:
    * WebProcess/WebProcess.messages.in:
    
    WebKitTools:
    
    * MiniBrowser/mac/WebBundle/WebBundleMain.m:
    (WKBundleInitialize):
    * TestWebKitAPI/InjectedBundleController.cpp:
    (TestWebKitAPI::InjectedBundleController::initialize):
    (TestWebKitAPI::InjectedBundleController::didReceiveMessage):
    * TestWebKitAPI/InjectedBundleController.h:
    * TestWebKitAPI/InjectedBundleMain.cpp:
    (WKBundleInitialize):
    * TestWebKitAPI/PlatformUtilities.cpp:
    (TestWebKitAPI::Util::createContextForInjectedBundleTest):
    * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
    (WKBundleInitialize):
    Update implementations of WKBundleInitialize to take an initial userData
    argument.  Change TestWebKitAPI to use the new initial userData to initialize
    each test's bundle.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71175 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index b6d070b..192b195 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,39 @@
+2010-11-02  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
+        Add a way to send startup messages on the context which can be posted when a process launches
+        <rdar://problem/8617928>
+        https://bugs.webkit.org/show_bug.cgi?id=48838
+
+        Adds WKContextSetInitializationUserDataForInjectedBundle which sets an
+        APIObject on WebContext to be sent to the InjectedBundle's WKBundleInitialize
+        function each time a process starts up. This can help in cases where
+        the WebProcess dies, and will be helpful in the world where there are
+        multiple WebProcess's per context.
+
+        * Scripts/webkit2/messages.py:
+        * UIProcess/API/C/WKContext.cpp:
+        (WKContextSetInitializationUserDataForInjectedBundle):
+        * UIProcess/API/C/WKContext.h:
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::ensureWebProcess):
+        * UIProcess/WebContext.h:
+        (WebKit::WebContext::setInjectedBundleInitializationUserData):
+        (WebKit::WebContext::injectedBundleInitializationUserData):
+        * WebProcess/InjectedBundle/API/c/WKBundleInitialize.h:
+        * WebProcess/InjectedBundle/InjectedBundle.h:
+        * WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp:
+        (WebKit::InjectedBundle::load):
+        * WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp:
+        (WebKit::InjectedBundle::load):
+        * WebProcess/InjectedBundle/win/InjectedBundleWin.cpp:
+        (WebKit::InjectedBundle::load):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeWebProcess):
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+
 2010-11-02  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by Sam Weinig.
diff --git a/WebKit2/Scripts/webkit2/messages.py b/WebKit2/Scripts/webkit2/messages.py
index 455f9f2..a90f28d 100644
--- a/WebKit2/Scripts/webkit2/messages.py
+++ b/WebKit2/Scripts/webkit2/messages.py
@@ -149,6 +149,7 @@ def messages_to_kind_enum(messages):
 def parameter_type_is_variadic(type):
     variadic_types = frozenset([
         'WebKit::InjectedBundleUserMessageEncoder',
+        'WebKit::WebContextUserMessageEncoder',
     ])
 
     return type in variadic_types
@@ -380,6 +381,7 @@ def argument_coder_headers_for_type(type):
     special_cases = {
         'WTF::String': '"ArgumentCoders.h"',
         'WebKit::InjectedBundleUserMessageEncoder': '"InjectedBundleUserMessageCoders.h"',
+        'WebKit::WebContextUserMessageEncoder': '"WebContextUserMessageCoders.h"',
     }
 
     if type in special_cases:
diff --git a/WebKit2/UIProcess/API/C/WKContext.cpp b/WebKit2/UIProcess/API/C/WKContext.cpp
index e53275e..7f3a098 100644
--- a/WebKit2/UIProcess/API/C/WKContext.cpp
+++ b/WebKit2/UIProcess/API/C/WKContext.cpp
@@ -86,6 +86,11 @@ void WKContextSetHistoryClient(WKContextRef contextRef, const WKContextHistoryCl
     toImpl(contextRef)->initializeHistoryClient(wkClient);
 }
 
+void WKContextSetInitializationUserDataForInjectedBundle(WKContextRef contextRef,  WKTypeRef userDataRef)
+{
+    toImpl(contextRef)->setInjectedBundleInitializationUserData(toImpl(userDataRef));
+}
+
 void WKContextPostMessageToInjectedBundle(WKContextRef contextRef, WKStringRef messageNameRef, WKTypeRef messageBodyRef)
 {
     toImpl(contextRef)->postMessageToInjectedBundle(toImpl(messageNameRef)->string(), toImpl(messageBodyRef));
diff --git a/WebKit2/UIProcess/API/C/WKContext.h b/WebKit2/UIProcess/API/C/WKContext.h
index 2c22fb0..71d3859 100644
--- a/WebKit2/UIProcess/API/C/WKContext.h
+++ b/WebKit2/UIProcess/API/C/WKContext.h
@@ -81,6 +81,7 @@ WK_EXPORT WKPreferencesRef WKContextGetPreferences(WKContextRef context);
 WK_EXPORT void WKContextSetHistoryClient(WKContextRef context, const WKContextHistoryClient* client);
 WK_EXPORT void WKContextSetInjectedBundleClient(WKContextRef context, const WKContextInjectedBundleClient* client);
 
+WK_EXPORT void WKContextSetInitializationUserDataForInjectedBundle(WKContextRef context, WKTypeRef userData);
 WK_EXPORT void WKContextPostMessageToInjectedBundle(WKContextRef context, WKStringRef messageName, WKTypeRef messageBody);
 
 WK_EXPORT void WKContextAddVisitedLink(WKContextRef context, WKStringRef visitedURL);
diff --git a/WebKit2/UIProcess/WebContext.cpp b/WebKit2/UIProcess/WebContext.cpp
index 1884b62..d2e78da 100644
--- a/WebKit2/UIProcess/WebContext.cpp
+++ b/WebKit2/UIProcess/WebContext.cpp
@@ -179,7 +179,7 @@ void WebContext::ensureWebProcess()
     // Add any platform specific parameters
     platformInitializeWebProcess(parameters);
 
-    m_process->send(Messages::WebProcess::InitializeWebProcess(parameters), 0);
+    m_process->send(Messages::WebProcess::InitializeWebProcess(parameters, WebContextUserMessageEncoder(m_injectedBundleInitializationUserData.get())), 0);
 
     for (size_t i = 0; i != m_pendingMessagesToPostToInjectedBundle.size(); ++i) {
         pair<String, RefPtr<APIObject> >& message = m_pendingMessagesToPostToInjectedBundle[i];
diff --git a/WebKit2/UIProcess/WebContext.h b/WebKit2/UIProcess/WebContext.h
index f432ce1..1c88e94 100644
--- a/WebKit2/UIProcess/WebContext.h
+++ b/WebKit2/UIProcess/WebContext.h
@@ -83,6 +83,9 @@ public:
 
     const String& injectedBundlePath() const { return m_injectedBundlePath; }
 
+    void setInjectedBundleInitializationUserData(PassRefPtr<APIObject> userData) { m_injectedBundleInitializationUserData = userData; }
+    APIObject* injectedBundleInitializationUserData() const { return m_injectedBundleInitializationUserData.get(); }
+
     void postMessageToInjectedBundle(const String&, APIObject*);
 
     // InjectedBundle client
@@ -142,6 +145,7 @@ private:
     HashSet<WebPageNamespace*> m_pageNamespaces;
     RefPtr<WebPreferences> m_preferences;
 
+    RefPtr<APIObject> m_injectedBundleInitializationUserData;
     String m_injectedBundlePath;
     WebContextInjectedBundleClient m_injectedBundleClient;
 
diff --git a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInitialize.h b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInitialize.h
index b8b411b..f10b7b4 100644
--- a/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInitialize.h
+++ b/WebKit2/WebProcess/InjectedBundle/API/c/WKBundleInitialize.h
@@ -33,7 +33,7 @@ extern "C" {
 #endif
 
 // NOTE: Must be implemented by InjectedBundle's as a function named "WKBundleInitialize".
-typedef void (*WKBundleInitializeFunctionPtr)(WKBundleRef);
+typedef void (*WKBundleInitializeFunctionPtr)(WKBundleRef, WKTypeRef);
 
 #ifdef __cplusplus
 }
diff --git a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
index 3132e1d..fe79fbb 100644
--- a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
+++ b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
@@ -67,7 +67,7 @@ public:
     }
     ~InjectedBundle();
 
-    bool load();
+    bool load(APIObject* initializationUserData);
 
 #if ENABLE(WEB_PROCESS_SANDBOX)
     void setSandboxToken(const String& sandboxToken) { m_sandboxToken = sandboxToken; }
diff --git a/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp b/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp
index dfef8a3..f126bce 100644
--- a/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/mac/InjectedBundleMac.cpp
@@ -39,7 +39,7 @@ using namespace WebCore;
 
 namespace WebKit {
 
-bool InjectedBundle::load()
+bool InjectedBundle::load(APIObject* initializationUserData)
 {
 #if ENABLE(WEB_PROCESS_SANDBOX)
     if (!m_sandboxToken.isEmpty()) {
@@ -82,7 +82,7 @@ bool InjectedBundle::load()
         return false;
     }
 
-    initializeFunction(toAPI(this));
+    initializeFunction(toAPI(this), toAPI(initializationUserData));
     return true;
 }
 
diff --git a/WebKit2/WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp b/WebKit2/WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp
index fa082d6..9d397e8 100644
--- a/WebKit2/WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/qt/InjectedBundleQt.cpp
@@ -33,7 +33,7 @@ using namespace WebCore;
 
 namespace WebKit {
 
-bool InjectedBundle::load()
+bool InjectedBundle::load(APIObject* initializationUserData)
 {
     m_platformBundle.setFileName(static_cast<QString>(m_path));
     if (!m_platformBundle.load()) {
@@ -49,7 +49,7 @@ bool InjectedBundle::load()
         return false;
     }
 
-    initializeFunction(toAPI(this));
+    initializeFunction(toAPI(this), toAPI(initializationUserData));
     return true;
 }
 
diff --git a/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp b/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp
index c30b20a..3fd3333 100644
--- a/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/win/InjectedBundleWin.cpp
@@ -53,7 +53,7 @@ static String directoryName(const String& path)
     return dirName;
 }
 
-bool InjectedBundle::load()
+bool InjectedBundle::load(APIObject* initializationUserData)
 {
     WCHAR currentPath[MAX_PATH];
     if (!::GetCurrentDirectoryW(MAX_PATH, currentPath))
@@ -76,7 +76,7 @@ bool InjectedBundle::load()
     if (!initializeFunction)
         return false;
 
-    initializeFunction(toAPI(this));
+    initializeFunction(toAPI(this), toAPI(initializationUserData));
     return true;
 }
 
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index 4d243fe..dde7fcf 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -27,6 +27,7 @@
 
 #include "InjectedBundle.h"
 #include "InjectedBundleMessageKinds.h"
+#include "InjectedBundleUserMessageCoders.h"
 #include "RunLoop.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebFrame.h"
@@ -114,24 +115,29 @@ void WebProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, Ru
     startRandomCrashThreadIfRequested();
 }
 
-void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parameters)
+void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder* arguments)
 {
     ASSERT(m_pageMap.isEmpty());
 
-    if (!parameters.applicationCacheDirectory.isEmpty())
-        cacheStorage().setCacheDirectory(parameters.applicationCacheDirectory);
+    RefPtr<APIObject> injectedBundleInitializationUserData;
+    InjectedBundleUserMessageDecoder messageDecoder(injectedBundleInitializationUserData);
+    if (!arguments->decode(messageDecoder))
+        return;
 
     if (!parameters.injectedBundlePath.isEmpty()) {
         m_injectedBundle = InjectedBundle::create(parameters.injectedBundlePath);
 #if ENABLE(WEB_PROCESS_SANDBOX)
         m_injectedBundle->setSandboxToken(parameters.injectedBundlePathToken);
 #endif
-        if (!m_injectedBundle->load()) {
+        if (!m_injectedBundle->load(injectedBundleInitializationUserData.get())) {
             // Don't keep around the InjectedBundle reference if the load fails.
             m_injectedBundle.clear();
         }
     }
 
+    if (!parameters.applicationCacheDirectory.isEmpty())
+        cacheStorage().setCacheDirectory(parameters.applicationCacheDirectory);
+
     setShouldTrackVisitedLinks(parameters.shouldTrackVisitedLinks);
     setCacheModel(static_cast<uint32_t>(parameters.cacheModel));
 
diff --git a/WebKit2/WebProcess/WebProcess.h b/WebKit2/WebProcess/WebProcess.h
index 6776d2d..f865465 100644
--- a/WebKit2/WebProcess/WebProcess.h
+++ b/WebKit2/WebProcess/WebProcess.h
@@ -87,7 +87,7 @@ private:
     WebProcess();
     void shutdown();
 
-    void initializeWebProcess(const WebProcessCreationParameters&);
+    void initializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*);
     void setShouldTrackVisitedLinks(bool);
     void registerURLSchemeAsEmptyDocument(const String&);
     void registerURLSchemeAsSecure(const String&) const;
diff --git a/WebKit2/WebProcess/WebProcess.messages.in b/WebKit2/WebProcess/WebProcess.messages.in
index 355e3a9..1c41a1c 100644
--- a/WebKit2/WebProcess/WebProcess.messages.in
+++ b/WebKit2/WebProcess/WebProcess.messages.in
@@ -22,7 +22,7 @@
 
 messages -> WebProcess {
     # Initialize the WebProcess. 
-    InitializeWebProcess(WebKit::WebProcessCreationParameters processCreationParameters)
+    InitializeWebProcess(WebKit::WebProcessCreationParameters processCreationParameters, WebKit::WebContextUserMessageEncoder initializationUserData)
 
     # Create a new page.
     CreateWebPage(uint64_t newPageID, WebKit::WebPageCreationParameters pageCreationParameters)
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index a2e2992..30162c1 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,27 @@
+2010-11-02  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
+        Add a way to send startup messages on the context which can be posted when a process launches
+        <rdar://problem/8617928>
+        https://bugs.webkit.org/show_bug.cgi?id=48838
+
+        * MiniBrowser/mac/WebBundle/WebBundleMain.m:
+        (WKBundleInitialize):
+        * TestWebKitAPI/InjectedBundleController.cpp:
+        (TestWebKitAPI::InjectedBundleController::initialize):
+        (TestWebKitAPI::InjectedBundleController::didReceiveMessage):
+        * TestWebKitAPI/InjectedBundleController.h:
+        * TestWebKitAPI/InjectedBundleMain.cpp:
+        (WKBundleInitialize):
+        * TestWebKitAPI/PlatformUtilities.cpp:
+        (TestWebKitAPI::Util::createContextForInjectedBundleTest):
+        * WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp:
+        (WKBundleInitialize):
+        Update implementations of WKBundleInitialize to take an initial userData
+        argument.  Change TestWebKitAPI to use the new initial userData to initialize
+        each test's bundle.
+
 2010-11-02  Benjamin Kalman  <kalman at google.com>
 
         Reviewed by Ojan Vafai.
diff --git a/WebKitTools/MiniBrowser/mac/WebBundle/WebBundleMain.m b/WebKitTools/MiniBrowser/mac/WebBundle/WebBundleMain.m
index 1fffce6..f3d44a5 100644
--- a/WebKitTools/MiniBrowser/mac/WebBundle/WebBundleMain.m
+++ b/WebKitTools/MiniBrowser/mac/WebBundle/WebBundleMain.m
@@ -88,7 +88,7 @@ void didRecieveMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef me
     CFRelease(cfMessageName);
 }
 
-void WKBundleInitialize(WKBundleRef bundle)
+void WKBundleInitialize(WKBundleRef bundle, WKTypeRef initializationUserData)
 {
     globalBundle = bundle;
 
diff --git a/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp b/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp
index 2674801..5942ec8 100644
--- a/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp
+++ b/WebKitTools/TestWebKitAPI/InjectedBundleController.cpp
@@ -45,7 +45,7 @@ InjectedBundleController::InjectedBundleController()
 {
 }
 
-void InjectedBundleController::initialize(WKBundleRef bundle)
+void InjectedBundleController::initialize(WKBundleRef bundle, WKTypeRef initializationUserData)
 {
     m_bundle = bundle;
 
@@ -57,6 +57,12 @@ void InjectedBundleController::initialize(WKBundleRef bundle)
         didReceiveMessage
     };
     WKBundleSetClient(m_bundle, &client);
+
+    // Initialize the test from the "initializationUserData".
+    assert(WKGetTypeID(initializationUserData) == WKStringGetTypeID());
+    WKStringRef testName = static_cast<WKStringRef>(initializationUserData);
+
+    initializeTestNamed(bundle, Util::toSTD(testName));
 }
 
 void InjectedBundleController::didCreatePage(WKBundleRef bundle, WKBundlePageRef page, const void* clientInfo)
@@ -76,16 +82,6 @@ void InjectedBundleController::willDestroyPage(WKBundleRef bundle, WKBundlePageR
 void InjectedBundleController::didReceiveMessage(WKBundleRef bundle, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo)
 {
     InjectedBundleController* self = static_cast<InjectedBundleController*>(const_cast<void*>(clientInfo));
-
-    if (WKStringIsEqualToUTF8CString(messageName, "BundleTestInstantiator")) {
-        assert(WKGetTypeID(messageBody) == WKStringGetTypeID());
-        WKStringRef messageBodyString = static_cast<WKStringRef>(messageBody);
-
-        self->initializeTestNamed(bundle, Util::toSTD(messageBodyString));
-
-        return;
-    }
-
     assert(self->m_currentTest);
     self->m_currentTest->didReceiveMessage(bundle, messageName, messageBody);
 }
diff --git a/WebKitTools/TestWebKitAPI/InjectedBundleController.h b/WebKitTools/TestWebKitAPI/InjectedBundleController.h
index 8b45fff..91c571e 100644
--- a/WebKitTools/TestWebKitAPI/InjectedBundleController.h
+++ b/WebKitTools/TestWebKitAPI/InjectedBundleController.h
@@ -38,7 +38,7 @@ class InjectedBundleController {
 public:
     static InjectedBundleController& shared();
 
-    void initialize(WKBundleRef);
+    void initialize(WKBundleRef, WKTypeRef);
 
     void dumpTestNames();
     void initializeTestNamed(WKBundleRef bundle, const std::string&);
diff --git a/WebKitTools/TestWebKitAPI/InjectedBundleMain.cpp b/WebKitTools/TestWebKitAPI/InjectedBundleMain.cpp
index 8f9e8ad..355c35b 100644
--- a/WebKitTools/TestWebKitAPI/InjectedBundleMain.cpp
+++ b/WebKitTools/TestWebKitAPI/InjectedBundleMain.cpp
@@ -31,7 +31,7 @@ extern "C" __declspec(dllexport)
 #else
 extern "C"
 #endif
-void WKBundleInitialize(WKBundleRef bundle)
+void WKBundleInitialize(WKBundleRef bundle, WKTypeRef initializationUserData)
 {
-    TestWebKitAPI::InjectedBundleController::shared().initialize(bundle);
+    TestWebKitAPI::InjectedBundleController::shared().initialize(bundle, initializationUserData);
 }
diff --git a/WebKitTools/TestWebKitAPI/PlatformUtilities.cpp b/WebKitTools/TestWebKitAPI/PlatformUtilities.cpp
index 2fadf3a..867aa83 100644
--- a/WebKitTools/TestWebKitAPI/PlatformUtilities.cpp
+++ b/WebKitTools/TestWebKitAPI/PlatformUtilities.cpp
@@ -37,13 +37,10 @@ WKContextRef createContextForInjectedBundleTest(const std::string& testName)
 {
     WKRetainPtr<WKStringRef> injectedBundlePath(AdoptWK, createInjectedBundlePath());
     WKContextRef context = WKContextCreateWithInjectedBundlePath(injectedBundlePath.get());
-    
-    WKRetainPtr<WKStringRef> messageName(AdoptWK, WKStringCreateWithUTF8CString("BundleTestInstantiator"));
-    WKRetainPtr<WKStringRef> messageBody(AdoptWK, WKStringCreateWithUTF8CString(testName.c_str()));
 
-    // Enqueue message to instantiate the bundle test. 
-    WKContextPostMessageToInjectedBundle(context, messageName.get(), messageBody.get());
-    
+    WKRetainPtr<WKStringRef> testNameString(AdoptWK, WKStringCreateWithUTF8CString(testName.c_str()));
+    WKContextSetInitialObjectForInjectedBundle(context, testNameString.get());
+
     return context;
 }
 
diff --git a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp
index b1bc89d..c4cf892 100644
--- a/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp
+++ b/WebKitTools/WebKitTestRunner/InjectedBundle/InjectedBundleMain.cpp
@@ -31,7 +31,7 @@ extern "C" __declspec(dllexport)
 #else
 extern "C"
 #endif
-void WKBundleInitialize(WKBundleRef bundle)
+void WKBundleInitialize(WKBundleRef bundle, WKTypeRef initializationUserData)
 {
     WTR::InjectedBundle::shared().initialize(bundle);
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list