Title: [120437] trunk
Revision
120437
Author
[email protected]
Date
2012-06-15 03:58:45 -0700 (Fri, 15 Jun 2012)

Log Message

[WK2][EFL] Implement navigation back/forward in Ewk_View
https://bugs.webkit.org/show_bug.cgi?id=89173

Patch by Christophe Dumez <[email protected]> on 2012-06-15
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Add API for Ewk_View to ask the main frame to navigate backwards
or forwards in history. Also add API to query if such navigation
is possible.

* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_back):
(ewk_view_forward):
(ewk_view_back_possible):
(ewk_view_forward_possible):
* UIProcess/API/efl/ewk_view.h:

Tools:

Implement navigation back / forward in MiniBrowser. Use
'F1' to navigate back and 'F2' to navigate forward.

* MiniBrowser/efl/main.c:
(on_key_down):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (120436 => 120437)


--- trunk/Source/WebKit2/ChangeLog	2012-06-15 10:32:02 UTC (rev 120436)
+++ trunk/Source/WebKit2/ChangeLog	2012-06-15 10:58:45 UTC (rev 120437)
@@ -1,5 +1,23 @@
 2012-06-15  Christophe Dumez  <[email protected]>
 
+        [WK2][EFL] Implement navigation back/forward in Ewk_View
+        https://bugs.webkit.org/show_bug.cgi?id=89173
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Add API for Ewk_View to ask the main frame to navigate backwards
+        or forwards in history. Also add API to query if such navigation
+        is possible.
+
+        * UIProcess/API/efl/ewk_view.cpp:
+        (ewk_view_back):
+        (ewk_view_forward):
+        (ewk_view_back_possible):
+        (ewk_view_forward_possible):
+        * UIProcess/API/efl/ewk_view.h:
+
+2012-06-15  Christophe Dumez  <[email protected]>
+
         [EFL][WK2] Implement reload / stop in Ewk_View
         https://bugs.webkit.org/show_bug.cgi?id=89168
 

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp (120436 => 120437)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp	2012-06-15 10:32:02 UTC (rev 120436)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp	2012-06-15 10:58:45 UTC (rev 120437)
@@ -551,6 +551,48 @@
     evas_object_image_data_update_add(smartData->image, rect.x(), rect.y(), rect.width(), rect.height());
 }
 
+Eina_Bool ewk_view_back(Evas_Object* ewkView)
+{
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+    WKPageRef pageRef = toAPI(priv->pageClient->page());
+    if (WKPageCanGoBack(pageRef)) {
+        WKPageGoBack(pageRef);
+        return true;
+    }
+    return false;
+}
+
+Eina_Bool ewk_view_forward(Evas_Object* ewkView)
+{
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+    WKPageRef pageRef = toAPI(priv->pageClient->page());
+    if (WKPageCanGoForward(pageRef)) {
+        WKPageGoForward(pageRef);
+        return true;
+    }
+    return false;
+}
+
+Eina_Bool ewk_view_back_possible(Evas_Object* ewkView)
+{
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+    return WKPageCanGoBack(toAPI(priv->pageClient->page()));
+}
+
+Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
+{
+    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+    return WKPageCanGoForward(toAPI(priv->pageClient->page()));
+}
+
 void ewk_view_image_data_set(Evas_Object* ewkView, void* imageData, const IntSize& size)
 {
     EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);

Modified: trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.h (120436 => 120437)


--- trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.h	2012-06-15 10:32:02 UTC (rev 120436)
+++ trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.h	2012-06-15 10:58:45 UTC (rev 120437)
@@ -185,6 +185,46 @@
  */
 EAPI Eina_Bool    ewk_view_stop(Evas_Object *o);
 
+/*
+ * Asks the main frame to navigate back in the history.
+ *
+ * @param o view object to navigate back
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ *
+ * @see ewk_frame_back()
+ */
+EAPI Eina_Bool    ewk_view_back(Evas_Object *o);
+
+/**
+ * Asks the main frame to navigate forward in the history.
+ *
+ * @param o view object to navigate forward
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
+ *
+ * @see ewk_frame_forward()
+ */
+EAPI Eina_Bool    ewk_view_forward(Evas_Object *o);
+
+/**
+ * Queries if it is possible to navigate backwards one item in the history.
+ *
+ * @param o view object to query if backward navigation is possible
+ *
+ * @return @c EINA_TRUE if it is possible to navigate backwards in the history, @c EINA_FALSE otherwise
+ */
+EAPI Eina_Bool    ewk_view_back_possible(Evas_Object *o);
+
+/**
+ * Queries if it is possible to navigate forwards one item in the history.
+ *
+ * @param o view object to query if forward navigation is possible
+ *
+ * @return @c EINA_TRUE if it is possible to navigate forwards in the history, @c EINA_FALSE otherwise
+ */
+EAPI Eina_Bool    ewk_view_forward_possible(Evas_Object *o);
+
 #ifdef __cplusplus
 }
 #endif

Modified: trunk/Tools/ChangeLog (120436 => 120437)


--- trunk/Tools/ChangeLog	2012-06-15 10:32:02 UTC (rev 120436)
+++ trunk/Tools/ChangeLog	2012-06-15 10:58:45 UTC (rev 120437)
@@ -1,5 +1,18 @@
 2012-06-15  Christophe Dumez  <[email protected]>
 
+        [WK2][EFL] Implement navigation back/forward in Ewk_View
+        https://bugs.webkit.org/show_bug.cgi?id=89173
+
+        Reviewed by Kenneth Rohde Christiansen.
+
+        Implement navigation back / forward in MiniBrowser. Use
+        'F1' to navigate back and 'F2' to navigate forward.
+
+        * MiniBrowser/efl/main.c:
+        (on_key_down):
+
+2012-06-15  Christophe Dumez  <[email protected]>
+
         [EFL] EFL's LayoutTestController does not support titleTextDirection
         https://bugs.webkit.org/show_bug.cgi?id=86475
 

Modified: trunk/Tools/MiniBrowser/efl/main.c (120436 => 120437)


--- trunk/Tools/MiniBrowser/efl/main.c	2012-06-15 10:32:02 UTC (rev 120436)
+++ trunk/Tools/MiniBrowser/efl/main.c	2012-06-15 10:58:45 UTC (rev 120437)
@@ -69,7 +69,15 @@
 on_key_down(void *data, Evas *e, Evas_Object *obj, void *event_info)
 {
     Evas_Event_Key_Down *ev = (Evas_Event_Key_Down*) event_info;
-    if (!strcmp(ev->key, "F5")) {
+    if (!strcmp(ev->key, "F1")) {
+        info("Back (F1) was pressed\n");
+        if (!ewk_view_back(obj))
+            info("Back ignored: No back history\n");
+    } else if (!strcmp(ev->key, "F2")) {
+        info("Forward (F2) was pressed\n");
+        if (!ewk_view_forward(obj))
+            info("Forward ignored: No forward history\n");
+    } else if (!strcmp(ev->key, "F5")) {
             info("Reload (F5) was pressed, reloading.\n");
             ewk_view_reload(obj);
     } else if (!strcmp(ev->key, "F6")) {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to