[Webkit-unassigned] [Bug 112418] New: [GTK][WK2] Load get stuck in webkit_web_view_go_back()
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Fri Mar 15 01:49:27 PDT 2013
https://bugs.webkit.org/show_bug.cgi?id=112418
Summary: [GTK][WK2] Load get stuck in webkit_web_view_go_back()
Product: WebKit
Version: 528+ (Nightly build)
Platform: Unspecified
OS/Version: Unspecified
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: WebKit Gtk
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: rego at igalia.com
CC: xan.lopez at gmail.com, mrobinson at webkit.org,
cgarcia at igalia.com
To reproduce the issue you can do the following steps in Minibrowser:
1) Go to http://www.igalia.com
2) Go to http://www.webkit.org
3) Go to http://www.igalia.com
4) Go to http://www.webkit.org
5) Click back button
If you add a listener to "load-changed" signal, you'll see that in the first 4 cases you receive the signal 3 times for each one with status: WEBKIT_LOAD_STARTED, WEBKIT_LOAD_COMMITTED and WEBKIT_LOAD_FINISHED.
However when you click back you'll only get the signal 1 time with status: WEBKIT_LOAD_STARTED.
Then if you load a different page, you'll get the signal 5 times. The 2 pending (WEBKIT_LOAD_COMMITTED and WEBKIT_LOAD_FINISHED) and the normal ones (WEBKIT_LOAD_STARTED, WEBKIT_LOAD_COMMITTED and WEBKIT_LOAD_FINISHED).
I'm only able to reproduce it in the tests using a custom scheme URI, for example the following diff will get stuck, as the load after webkit_web_view_go_back() never finishes:
diff --git a/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp b/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp
index 185c06c..9793f68 100644
--- a/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/tests/TestWebKitWebContext.cpp
@@ -179,6 +179,14 @@ static void testWebContextURIScheme(URISchemeTest* test, gconstpointer)
test->registerURISchemeHandler("foo", kBarHTML, strlen(kBarHTML), "text/html");
test->loadURI("foo:blank");
test->waitUntilLoadFinished();
+ test->loadURI("foo:other");
+ test->waitUntilLoadFinished();
+ test->loadURI("foo:blank");
+ test->waitUntilLoadFinished();
+ test->loadURI("foo:other");
+ test->waitUntilLoadFinished();
+ webkit_web_view_go_back(test->m_webView);
+ test->waitUntilLoadFinished();
size_t mainResourceDataSize = 0;
const char* mainResourceData = test->mainResourceData(mainResourceDataSize);
g_assert_cmpint(mainResourceDataSize, ==, strlen(kBarHTML));
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list