[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