Diff
Modified: trunk/Source/WebKit2/ChangeLog (98326 => 98327)
--- trunk/Source/WebKit2/ChangeLog 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/ChangeLog 2011-10-25 08:37:35 UTC (rev 98327)
@@ -1,3 +1,19 @@
+2011-10-25 Carlos Garcia Campos <cgar...@igalia.com>
+
+ [GTK] Add go_to_back_forward_list_item() to WebKit2 GTK+ API
+ https://bugs.webkit.org/show_bug.cgi?id=69825
+
+ Reviewed by Martin Robinson.
+
+ * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
+ (webkitBackForwardListItemGetWKItem):
+ * UIProcess/API/gtk/WebKitBackForwardListPrivate.h:
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_go_to_back_forward_list_item):
+ * UIProcess/API/gtk/WebKitWebView.h:
+ * UIProcess/API/gtk/tests/TestBackForwardList.cpp:
+ (testBackForwardListNavigation):
+
2011-10-25 Vamshikrishna Yellenki <vam...@motorola.com>
[WK2]Critical warning while building WebKit2 GTK+
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp (98326 => 98327)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListItem.cpp 2011-10-25 08:37:35 UTC (rev 98327)
@@ -93,6 +93,11 @@
return listItem;
}
+WKBackForwardListItemRef webkitBackForwardListItemGetWKItem(WebKitBackForwardListItem* listItem)
+{
+ return listItem->priv->wkListItem.get();
+}
+
/**
* webkit_back_forward_list_item_get_uri:
* @back_forward_list_item: a #WebKitBackForwardListItem
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h (98326 => 98327)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitBackForwardListPrivate.h 2011-10-25 08:37:35 UTC (rev 98327)
@@ -32,6 +32,7 @@
WebKitBackForwardList* webkitBackForwardListCreate(WKBackForwardListRef);
WebKitBackForwardListItem* webkitBackForwardListItemGetOrCreate(WKBackForwardListItemRef);
+WKBackForwardListItemRef webkitBackForwardListItemGetWKItem(WebKitBackForwardListItem*);
void webkitBackForwardListChanged(WebKitBackForwardList*, WKBackForwardListItemRef wkAddedItem, WKArrayRef wkRemovedItems);
#endif // WebKitBackForwardListPrivate_h
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp (98326 => 98327)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp 2011-10-25 08:37:35 UTC (rev 98327)
@@ -482,3 +482,21 @@
return webView->priv->backForwardList.get();
}
+
+/**
+ * webkit_web_view_go_to_back_forward_list_item:
+ * @web_view: a #WebKitWebView
+ * @list_item: a #WebKitBackForwardListItem
+ *
+ * Loads the specific history item @list_item.
+ * You can monitor the status of the load operation using the
+ * #WebKitWebLoaderClient of @web_view. See webkit_web_view_get_loader_client().
+ */
+void webkit_web_view_go_to_back_forward_list_item(WebKitWebView* webView, WebKitBackForwardListItem* listItem)
+{
+ g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+ g_return_if_fail(WEBKIT_IS_BACK_FORWARD_LIST_ITEM(listItem));
+
+ WKPageGoToBackForwardListItem(toAPI(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(webView))),
+ webkitBackForwardListItemGetWKItem(listItem));
+}
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h (98326 => 98327)
--- trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.h 2011-10-25 08:37:35 UTC (rev 98327)
@@ -66,69 +66,72 @@
};
WEBKIT_API GType
-webkit_web_view_get_type (void);
+webkit_web_view_get_type (void);
WEBKIT_API GtkWidget *
-webkit_web_view_new (void);
+webkit_web_view_new (void);
WEBKIT_API GtkWidget *
-webkit_web_view_new_with_context (WebKitWebContext *context);
+webkit_web_view_new_with_context (WebKitWebContext *context);
WEBKIT_API WebKitWebContext *
-webkit_web_view_get_context (WebKitWebView *web_view);
+webkit_web_view_get_context (WebKitWebView *web_view);
WEBKIT_API WebKitWebLoaderClient *
-webkit_web_view_get_loader_client (WebKitWebView *web_view);
+webkit_web_view_get_loader_client (WebKitWebView *web_view);
WEBKIT_API void
-webkit_web_view_set_loader_client (WebKitWebView *web_view,
- WebKitWebLoaderClient *loader_client);
+webkit_web_view_set_loader_client (WebKitWebView *web_view,
+ WebKitWebLoaderClient *loader_client);
WEBKIT_API void
-webkit_web_view_load_uri (WebKitWebView *web_view,
- const gchar *uri);
+webkit_web_view_load_uri (WebKitWebView *web_view,
+ const gchar *uri);
WEBKIT_API void
-webkit_web_view_load_alternate_html (WebKitWebView *web_view,
- const gchar *content,
- const gchar *base_uri,
- const gchar *unreachable_uri);
+webkit_web_view_load_alternate_html (WebKitWebView *web_view,
+ const gchar *content,
+ const gchar *base_uri,
+ const gchar *unreachable_uri);
WEBKIT_API void
-webkit_web_view_stop_loading (WebKitWebView *web_view);
+webkit_web_view_stop_loading (WebKitWebView *web_view);
WEBKIT_API void
-webkit_web_view_reload (WebKitWebView *web_view);
+webkit_web_view_reload (WebKitWebView *web_view);
WEBKIT_API void
-webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);
+webkit_web_view_reload_bypass_cache (WebKitWebView *web_view);
+WEBKIT_API gdouble
+webkit_web_view_get_estimated_load_progress (WebKitWebView *web_vew);
+
WEBKIT_API void
-webkit_web_view_go_back (WebKitWebView *web_view);
+webkit_web_view_go_back (WebKitWebView *web_view);
WEBKIT_API gboolean
-webkit_web_view_can_go_back (WebKitWebView *web_view);
+webkit_web_view_can_go_back (WebKitWebView *web_view);
WEBKIT_API void
-webkit_web_view_go_forward (WebKitWebView *web_view);
+webkit_web_view_go_forward (WebKitWebView *web_view);
+WEBKIT_API gboolean
+webkit_web_view_can_go_forward (WebKitWebView *web_view);
+
WEBKIT_API WebKitBackForwardList *
-webkit_web_view_get_back_forward_list (WebKitWebView *web_view);
+webkit_web_view_get_back_forward_list (WebKitWebView *web_view);
-WEBKIT_API gboolean
-webkit_web_view_can_go_forward (WebKitWebView *web_view);
+WEBKIT_API void
+webkit_web_view_go_to_back_forward_list_item (WebKitWebView *web_view,
+ WebKitBackForwardListItem *list_item);
WEBKIT_API const gchar *
-webkit_web_view_get_custom_charset (WebKitWebView *web_view);
+webkit_web_view_get_custom_charset (WebKitWebView *web_view);
WEBKIT_API void
-webkit_web_view_set_custom_charset (WebKitWebView *web_view,
- const gchar *charset);
+webkit_web_view_set_custom_charset (WebKitWebView *web_view,
+ const gchar *charset);
-WEBKIT_API gdouble
-webkit_web_view_get_estimated_load_progress (WebKitWebView *web_vew);
-
-
G_END_DECLS
#endif
Modified: trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp (98326 => 98327)
--- trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp 2011-10-25 08:24:14 UTC (rev 98326)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/tests/TestBackForwardList.cpp 2011-10-25 08:37:35 UTC (rev 98327)
@@ -230,6 +230,12 @@
items[0] = itemPage1;
BackForwardListTest::checkList(test->m_list, BackForwardListTest::Backward, items, 1);
g_assert(!webkit_back_forward_list_get_forward_list(test->m_list));
+
+ test->m_changedFlags = BackForwardListTest::CurrentItem;
+ webkit_web_view_go_to_back_forward_list_item(test->m_webView, itemPage1);
+ test->waitUntilLoadFinished();
+
+ g_assert(itemPage1 == webkit_back_forward_list_get_current_item(test->m_list));
}
static void testBackForwardListLimitAndCache(BackForwardListTest* test, gconstpointer)