Modified: trunk/Tools/ChangeLog (163869 => 163870)
--- trunk/Tools/ChangeLog 2014-02-11 08:32:57 UTC (rev 163869)
+++ trunk/Tools/ChangeLog 2014-02-11 08:37:17 UTC (rev 163870)
@@ -1,3 +1,13 @@
+2014-02-11 Carlos Garcia Campos <cgar...@igalia.com>
+
+ Unreviewed. Fix /webkit2/WebKitWebExtension/isolated-world after r163797.
+
+ Use a global variable for the script result.
+
+ * TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:
+ (scriptDialogCallback):
+ (testWebExtensionIsolatedWorld):
+
2014-02-10 Filip Pizlo <fpi...@apple.com>
Make it possible to run tests with --llvmSimpleOpt=false
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp (163869 => 163870)
--- trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp 2014-02-11 08:32:57 UTC (rev 163869)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp 2014-02-11 08:37:17 UTC (rev 163870)
@@ -25,6 +25,7 @@
static const char* webExtensionsUserData = "Web Extensions user data";
static WebKitTestBus* bus;
+static GUniquePtr<char> scriptDialogResult;
static void testWebExtensionGetTitle(WebViewTest* test, gconstpointer)
{
@@ -114,11 +115,10 @@
g_assert_cmpstr(valueString.get(), ==, "Foo");
}
-static gboolean scriptDialogCallback(WebKitWebView*, WebKitScriptDialog* dialog, char** result)
+static gboolean scriptDialogCallback(WebKitWebView*, WebKitScriptDialog* dialog, gpointer)
{
g_assert_cmpuint(webkit_script_dialog_get_dialog_type(dialog), ==, WEBKIT_SCRIPT_DIALOG_ALERT);
- g_assert(!*result);
- *result = g_strdup(webkit_script_dialog_get_message(dialog));
+ scriptDialogResult.reset(g_strdup(webkit_script_dialog_get_message(dialog)));
return TRUE;
}
@@ -133,8 +133,7 @@
test->loadHtml("<html><header></header><body><div id='console'></div></body></html>", 0);
test->waitUntilLoadFinished();
- GUniqueOutPtr<char> result;
- gulong scriptDialogID = g_signal_connect(test->m_webView, "script-dialog", G_CALLBACK(scriptDialogCallback), &result.outPtr());
+ gulong scriptDialogID = g_signal_connect(test->m_webView, "script-dialog", G_CALLBACK(scriptDialogCallback), nullptr);
static const char* mainWorldScript =
"top.foo = 'Foo';\n"
@@ -142,7 +141,7 @@
"window.open = function () { alert('Main World'); }\n"
"document.open(1, 2, 3);";
test->runJavaScriptAndWaitUntilFinished(mainWorldScript, 0);
- g_assert_cmpstr(result.get(), ==, "Main World");
+ g_assert_cmpstr(scriptDialogResult.get(), ==, "Main World");
WebKitJavascriptResult* _javascript_Result = test->runJavaScriptAndWaitUntilFinished("document.getElementById('console').innerHTML", 0);
g_assert(_javascript_Result);
@@ -163,7 +162,7 @@
reinterpret_cast<GAsyncReadyCallback>(runJavaScriptInIsolatedWorldFinishedCallback),
test);
g_main_loop_run(test->m_mainLoop);
- g_assert_cmpstr(result.get(), ==, "Isolated World");
+ g_assert_cmpstr(scriptDialogResult.get(), ==, "Isolated World");
// Check that 'top.foo' defined in main world is not visible in isolated world.
_javascript_Result = test->runJavaScriptAndWaitUntilFinished("document.getElementById('console').innerHTML", 0);