2008-01-16 Alp Toker <alp@atoker.com>
authoralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jan 2008 02:27:31 +0000 (02:27 +0000)
committeralp@webkit.org <alp@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 17 Jan 2008 02:27:31 +0000 (02:27 +0000)
        Reviewed by Mark Rowe.

        http://bugs.webkit.org/show_bug.cgi?id=16218
        [GTK] API: Should this entry point be called go_back rather than go_backward?

        Obsolete 'backward' terminology in API in favour of 'back'. Introduce
        step-based back/forward functions.

        Document more functions.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29550 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/gtk/ChangeLog
WebKit/gtk/WebView/webkitdefines.h
WebKit/gtk/WebView/webkitwebview.cpp
WebKit/gtk/WebView/webkitwebview.h
WebKitTools/ChangeLog
WebKitTools/DumpRenderTree/gtk/WorkQueueItemGtk.cpp
WebKitTools/GtkLauncher/main.c

index 5ac4ad4..caaadd6 100644 (file)
@@ -1,3 +1,19 @@
+2008-01-16  Alp Toker  <alp@atoker.com>
+
+        Reviewed by Mark Rowe.
+
+        http://bugs.webkit.org/show_bug.cgi?id=16218
+        [GTK] API: Should this entry point be called go_back rather than go_backward?
+
+        Obsolete 'backward' terminology in API in favour of 'back'. Introduce
+        step-based back/forward functions.
+
+        Document more functions.
+
+        * WebView/webkitdefines.h:
+        * WebView/webkitwebview.cpp:
+        * WebView/webkitwebview.h:
+
 2008-01-10  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by Sam.
index 2d5e678..2fe2b03 100644 (file)
     #else
         #define WEBKIT_API __declspec(dllimport)
     #endif
+    #define WEBKIT_OBSOLETE_API WEBKIT_API
 #else
     #define WEBKIT_API __attribute__((visibility("default")))
+    #define WEBKIT_OBSOLETE_API WEBKIT_API __attribute__((deprecated))
 #endif
 
 #ifndef WEBKIT_API
index 8fac70f..f8cc766 100644 (file)
@@ -1065,12 +1065,47 @@ WebKitSettings* webkit_web_view_get_settings(WebKitWebView* webView)
 
 void webkit_web_view_go_backward(WebKitWebView* webView)
 {
+    g_warning("webkit_web_view_go_backward() is obsolete; use webkit_web_view_go_back()");
+    webkit_web_view_go_back(webView);
+}
+
+/**
+ * webkit_web_view_go_back:
+ * @web_view: a #WebKitWebView
+ *
+ * Loads the previous history item.
+ */
+void webkit_web_view_go_back(WebKitWebView* webView)
+{
     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
 
     Frame* frame = core(webkit_web_view_get_main_frame(webView));
     frame->loader()->goBackOrForward(-1);
 }
 
+/**
+ * webkit_web_view_go_back_or_forward:
+ * @web_view: a #WebKitWebView
+ * @steps: the number of steps
+ *
+ * Loads the history item that is the number of @steps away from the current
+ * item. Negative values represent steps backward while positive values
+ * represent steps forward.
+ */
+void webkit_web_view_go_back_or_forward(WebKitWebView* webView, gint steps)
+{
+    g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
+
+    Frame* frame = core(webkit_web_view_get_main_frame(webView));
+    frame->loader()->goBackOrForward(steps);
+}
+
+/**
+ * webkit_web_view_go_forward:
+ * @web_view: a #WebKitWebView
+ *
+ * Loads the next history item.
+ */
 void webkit_web_view_go_forward(WebKitWebView* webView)
 {
     g_return_if_fail(WEBKIT_IS_WEB_VIEW(webView));
@@ -1081,12 +1116,53 @@ void webkit_web_view_go_forward(WebKitWebView* webView)
 
 gboolean webkit_web_view_can_go_backward(WebKitWebView* webView)
 {
+    g_warning("webkit_web_view_can_go_backward() is obsolete; use webkit_web_view_can_go_back()");
+    return webkit_web_view_can_go_back(webView);
+}
+
+/**
+ * webkit_web_view_can_go_back:
+ * @web_view: a #WebKitWebView
+ *
+ * Determines whether #web_view has a previous history item.
+ *
+ * Return value: %TRUE if able to move back, %FALSE otherwise
+ */
+gboolean webkit_web_view_can_go_back(WebKitWebView* webView)
+{
     g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
 
     Frame* frame = core(webkit_web_view_get_main_frame(webView));
     return frame->loader()->canGoBackOrForward(-1);
 }
 
+/**
+ * webkit_web_view_can_go_back_or_forward:
+ * @web_view: a #WebKitWebView
+ * @steps: the number of steps
+ *
+ * Determines whether #web_view has a history item of @steps. Negative values
+ * represent steps backward while positive values represent steps forward.
+ *
+ * Return value: %TRUE if able to move back or forward the given number of
+ * steps, %FALSE otherwise
+ */
+gboolean webkit_web_view_can_go_back_or_forward(WebKitWebView* webView, gint steps)
+{
+    g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
+
+    Frame* frame = core(webkit_web_view_get_main_frame(webView));
+    return frame->loader()->canGoBackOrForward(steps);
+}
+
+/**
+ * webkit_web_view_can_go_forward:
+ * @web_view: a #WebKitWebView
+ *
+ * Determines whether #web_view has a next history item.
+ *
+ * Return value: %TRUE if able to move forward, %FALSE otherwise
+ */
 gboolean webkit_web_view_can_go_forward(WebKitWebView* webView)
 {
     g_return_val_if_fail(WEBKIT_IS_WEB_VIEW(webView), FALSE);
index 7d12077..7c4aaf7 100644 (file)
@@ -90,16 +90,28 @@ webkit_web_view_get_type (void);
 WEBKIT_API GtkWidget*
 webkit_web_view_new (void);
 
-WEBKIT_API gboolean
+WEBKIT_OBSOLETE_API gboolean
 webkit_web_view_can_go_backward (WebKitWebView* web_view);
 
 WEBKIT_API gboolean
+webkit_web_view_can_go_back (WebKitWebView* web_view);
+
+WEBKIT_API gboolean
+webkit_web_view_can_go_back_or_forward (WebKitWebView* web_view, gint steps);
+
+WEBKIT_API gboolean
 webkit_web_view_can_go_forward (WebKitWebView* web_view);
 
-WEBKIT_API void
+WEBKIT_OBSOLETE_API void
 webkit_web_view_go_backward (WebKitWebView* web_view);
 
 WEBKIT_API void
+webkit_web_view_go_back (WebKitWebView* web_view);
+
+WEBKIT_API void
+webkit_web_view_go_back_or_forward (WebKitWebView* web_view, gint steps);
+
+WEBKIT_API void
 webkit_web_view_go_forward (WebKitWebView* web_view);
 
 WEBKIT_API void
index 580f6a9..92556ec 100644 (file)
@@ -1,3 +1,17 @@
+2008-01-16  Alp Toker  <alp@atoker.com>
+
+        Reviewed by Mark Rowe.
+
+        http://bugs.webkit.org/show_bug.cgi?id=16218
+        [GTK] API: Should this entry point be called go_back rather than go_backward?
+
+        Track back/forward API changes in the tools.
+
+        * DumpRenderTree/gtk/WorkQueueItemGtk.cpp:
+        (BackForwardItem::invoke):
+        * GtkLauncher/main.c:
+        (go_back_cb):
+
 2008-01-16  Adam Roben  <aroben@apple.com>
 
         Windows build fix after r29488
index f47e021..724bcda 100644 (file)
@@ -71,13 +71,5 @@ void ScriptItem::invoke() const
 void BackForwardItem::invoke() const
 {
     WebKitWebView* webView = webkit_web_frame_get_web_view(mainFrame);
-    if (m_howFar == 1)
-        webkit_web_view_go_forward(webView);
-    else if (m_howFar == -1)
-        webkit_web_view_go_backward(webView);
-    else {
-        g_warning("Can't go backward/forward\n");
-        //notImplemented();
-        // TODO: API doesn't yet support arbitrary back/forward
-    }
+    webkit_web_view_go_back_or_forward(webView, m_howFar);
 }
index fd86279..61bdbc8 100644 (file)
@@ -97,7 +97,7 @@ destroy_cb (GtkWidget* widget, gpointer data)
 static void
 go_back_cb (GtkWidget* widget, gpointer data)
 {
-    webkit_web_view_go_backward (web_view);
+    webkit_web_view_go_back (web_view);
 }
 
 static void