⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 120437 in webkit


Ignore:
Timestamp:
Jun 15, 2012, 3:58:45 AM (14 years ago)
Author:
commit-queue@webkit.org
Message:

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

Patch by Christophe Dumez <Christophe Dumez> 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):

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r120427 r120437  
     12012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
     2
     3        [WK2][EFL] Implement navigation back/forward in Ewk_View
     4        https://bugs.webkit.org/show_bug.cgi?id=89173
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Add API for Ewk_View to ask the main frame to navigate backwards
     9        or forwards in history. Also add API to query if such navigation
     10        is possible.
     11
     12        * UIProcess/API/efl/ewk_view.cpp:
     13        (ewk_view_back):
     14        (ewk_view_forward):
     15        (ewk_view_back_possible):
     16        (ewk_view_forward_possible):
     17        * UIProcess/API/efl/ewk_view.h:
     18
    1192012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

    r120427 r120437  
    552552}
    553553
     554Eina_Bool ewk_view_back(Evas_Object* ewkView)
     555{
     556    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
     557    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
     558
     559    WKPageRef pageRef = toAPI(priv->pageClient->page());
     560    if (WKPageCanGoBack(pageRef)) {
     561        WKPageGoBack(pageRef);
     562        return true;
     563    }
     564    return false;
     565}
     566
     567Eina_Bool ewk_view_forward(Evas_Object* ewkView)
     568{
     569    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
     570    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
     571
     572    WKPageRef pageRef = toAPI(priv->pageClient->page());
     573    if (WKPageCanGoForward(pageRef)) {
     574        WKPageGoForward(pageRef);
     575        return true;
     576    }
     577    return false;
     578}
     579
     580Eina_Bool ewk_view_back_possible(Evas_Object* ewkView)
     581{
     582    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
     583    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
     584
     585    return WKPageCanGoBack(toAPI(priv->pageClient->page()));
     586}
     587
     588Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
     589{
     590    EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
     591    EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
     592
     593    return WKPageCanGoForward(toAPI(priv->pageClient->page()));
     594}
     595
    554596void ewk_view_image_data_set(Evas_Object* ewkView, void* imageData, const IntSize& size)
    555597{
  • trunk/Source/WebKit2/UIProcess/API/efl/ewk_view.h

    r120427 r120437  
    186186EAPI Eina_Bool    ewk_view_stop(Evas_Object *o);
    187187
     188/*
     189 * Asks the main frame to navigate back in the history.
     190 *
     191 * @param o view object to navigate back
     192 *
     193 * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
     194 *
     195 * @see ewk_frame_back()
     196 */
     197EAPI Eina_Bool    ewk_view_back(Evas_Object *o);
     198
     199/**
     200 * Asks the main frame to navigate forward in the history.
     201 *
     202 * @param o view object to navigate forward
     203 *
     204 * @return @c EINA_TRUE on success or @c EINA_FALSE otherwise
     205 *
     206 * @see ewk_frame_forward()
     207 */
     208EAPI Eina_Bool    ewk_view_forward(Evas_Object *o);
     209
     210/**
     211 * Queries if it is possible to navigate backwards one item in the history.
     212 *
     213 * @param o view object to query if backward navigation is possible
     214 *
     215 * @return @c EINA_TRUE if it is possible to navigate backwards in the history, @c EINA_FALSE otherwise
     216 */
     217EAPI Eina_Bool    ewk_view_back_possible(Evas_Object *o);
     218
     219/**
     220 * Queries if it is possible to navigate forwards one item in the history.
     221 *
     222 * @param o view object to query if forward navigation is possible
     223 *
     224 * @return @c EINA_TRUE if it is possible to navigate forwards in the history, @c EINA_FALSE otherwise
     225 */
     226EAPI Eina_Bool    ewk_view_forward_possible(Evas_Object *o);
     227
    188228#ifdef __cplusplus
    189229}
  • trunk/Tools/ChangeLog

    r120428 r120437  
     12012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
     2
     3        [WK2][EFL] Implement navigation back/forward in Ewk_View
     4        https://bugs.webkit.org/show_bug.cgi?id=89173
     5
     6        Reviewed by Kenneth Rohde Christiansen.
     7
     8        Implement navigation back / forward in MiniBrowser. Use
     9        'F1' to navigate back and 'F2' to navigate forward.
     10
     11        * MiniBrowser/efl/main.c:
     12        (on_key_down):
     13
    1142012-06-15  Christophe Dumez  <christophe.dumez@intel.com>
    215
  • trunk/Tools/MiniBrowser/efl/main.c

    r120427 r120437  
    7070{
    7171    Evas_Event_Key_Down *ev = (Evas_Event_Key_Down*) event_info;
    72     if (!strcmp(ev->key, "F5")) {
     72    if (!strcmp(ev->key, "F1")) {
     73        info("Back (F1) was pressed\n");
     74        if (!ewk_view_back(obj))
     75            info("Back ignored: No back history\n");
     76    } else if (!strcmp(ev->key, "F2")) {
     77        info("Forward (F2) was pressed\n");
     78        if (!ewk_view_forward(obj))
     79            info("Forward ignored: No forward history\n");
     80    } else if (!strcmp(ev->key, "F5")) {
    7381            info("Reload (F5) was pressed, reloading.\n");
    7482            ewk_view_reload(obj);
Note: See TracChangeset for help on using the changeset viewer.