Title: [97047] trunk/Source/WebKit2
- Revision
- 97047
- Author
- carlo...@webkit.org
- Date
- 2011-10-10 02:20:19 -0700 (Mon, 10 Oct 2011)
Log Message
[GTK] Add methods to reload the view to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=69613
Reviewed by Martin Robinson.
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkit_web_view_reload):
(webkit_web_view_reload_bypass_cache):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/tests/testloading.c:
(loadReloadProvisionalLoadStarted):
(loadReloadLoadFinished):
(testLoadTimeoutFinishLoop):
(testLoadReload):
(main):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (97046 => 97047)
--- trunk/Source/WebKit2/ChangeLog 2011-10-10 09:03:28 UTC (rev 97046)
+++ trunk/Source/WebKit2/ChangeLog 2011-10-10 09:20:19 UTC (rev 97047)
@@ -1,3 +1,21 @@
+2011-10-10 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK] Add methods to reload the view to WebKit2 GTK+ API
+ https://bugs.webkit.org/show_bug.cgi?id=69613
+
+ Reviewed by Martin Robinson.
+
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_reload):
+ (webkit_web_view_reload_bypass_cache):
+ * UIProcess/API/gtk/WebKitWebView.h:
+ * UIProcess/API/gtk/tests/testloading.c:
+ (loadReloadProvisionalLoadStarted):
+ (loadReloadLoadFinished):
+ (testLoadTimeoutFinishLoop):
+ (testLoadReload):
+ (main):
+
2011-10-09 Luke Macpherson <macpher...@chromium.org>
Fix Lion, Leopard and Snow Leopard builds after changeset 97034 <http://trac.webkit.org/changeset/97034>
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (97046 => 97047)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2011-10-10 09:03:28 UTC (rev 97046)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2011-10-10 09:20:19 UTC (rev 97047)
@@ -252,6 +252,34 @@
}
/**
+ * webkit_web_view_reload:
+ * @web_view: a #WebKitWebView
+ *
+ * Reloads the current contents of @web_view.
+ * See also webkit_web_view_reload_bypass_cache().
+ */
+void webkit_web_view_reload(WebKitWebView* webView)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+
+ WKPageReload(toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))));
+}
+
+/**
+ * webkit_web_view_reload_bypass_cache:
+ * @webView: a #WebKitWebView
+ *
+ * Reloads the current contents of @web_view without
+ * using any cached data.
+ */
+void webkit_web_view_reload_bypass_cache(WebKitWebView* webView)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+
+ WKPageReloadFromOrigin(toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))));
+}
+
+/**
* webkit_web_view_go_back:
* @web_view: a #WebKitWebView
*
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h (97046 => 97047)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2011-10-10 09:03:28 UTC (rev 97046)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2011-10-10 09:20:19 UTC (rev 97047)
@@ -96,6 +96,12 @@
const gchar *unreachable_uri);
WEBKIT_API void
+webkit_web_view_reload (WebKitWebView *web_view);
+
+WEBKIT_API void
+webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);
+
+WEBKIT_API void
webkit_web_view_go_back (WebKitWebView *web_view);
WEBKIT_API void
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/testloading.c (97046 => 97047)
--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/testloading.c 2011-10-10 09:03:28 UTC (rev 97046)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/testloading.c 2011-10-10 09:20:19 UTC (rev 97047)
@@ -285,6 +285,65 @@
g_main_loop_run(fixture->loop);
}
+static gboolean loadReloadProvisionalLoadStarted(WebKitWebLoaderClient *client, WebLoadingFixture *fixture)
+{
+ g_assert(!fixture->hasBeenProvisional);
+ fixture->hasBeenProvisional = TRUE;
+
+ return TRUE;
+}
+
+static gboolean loadReloadLoadFinished(WebKitWebLoaderClient *client, WebLoadingFixture *fixture)
+{
+ g_assert(!fixture->hasBeenFinished);
+ fixture->hasBeenFinished = TRUE;
+ g_main_loop_quit(fixture->loop);
+
+ return TRUE;
+}
+
+static gboolean testLoadTimeoutFinishLoop(WebLoadingFixture *fixture)
+{
+ g_main_loop_quit(fixture->loop);
+
+ return FALSE;
+}
+
+static void testLoadReload(WebLoadingFixture *fixture, gconstpointer data)
+{
+ char *uriString;
+ WebKitWebLoaderClient *client = webkit_web_view_get_loader_client(fixture->webView);
+
+ g_signal_connect(client, "provisional-load-started", G_CALLBACK(loadReloadProvisionalLoadStarted), fixture);
+ g_signal_connect(client, "load-finished", G_CALLBACK(loadReloadLoadFinished), fixture);
+
+ /* Check nothing happens when there's nothing to reload */
+ webkit_web_view_reload(fixture->webView);
+ g_timeout_add_seconds(1, (GSourceFunc)testLoadTimeoutFinishLoop, fixture);
+ g_main_loop_run(fixture->loop);
+
+ g_assert(!fixture->hasBeenProvisional);
+ g_assert(!fixture->hasBeenFinished);
+
+ uriString = getURIForPath("/");
+ webkit_web_view_load_uri(fixture->webView, uriString);
+ g_free(uriString);
+
+ g_main_loop_run(fixture->loop);
+
+ g_assert(fixture->hasBeenProvisional);
+ g_assert(fixture->hasBeenFinished);
+
+ fixture->hasBeenProvisional = FALSE;
+ fixture->hasBeenFinished = FALSE;
+
+ webkit_web_view_reload(fixture->webView);
+ g_main_loop_run(fixture->loop);
+
+ g_assert(fixture->hasBeenProvisional);
+ g_assert(fixture->hasBeenFinished);
+}
+
int main(int argc, char **argv)
{
SoupServer *server;
@@ -323,6 +382,11 @@
webLoadingFixtureSetup,
testLoadProgress,
webLoadingFixtureTeardown);
+ g_test_add("/webkit2/loading/reload",
+ WebLoadingFixture, NULL,
+ webLoadingFixtureSetup,
+ testLoadReload,
+ webLoadingFixtureTeardown);
return g_test_run();
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes