Changeset 41137 in webkit


Ignore:
Timestamp:
Feb 23, 2009 2:00:23 AM (15 years ago)
Author:
jmalonzo@webkit.org
Message:

2009-02-23 Jan Michael Alonzo <jmalonzo@webkit.org>

Reviewed by Mark Rowe.

[GTK] Back / Forward history menus are flipped
https://bugs.webkit.org/show_bug.cgi?id=22694

Don't call g_list_reverse when returning the back or forward list.

  • tests/main.c: (test_webkit_web_back_forward_list_order): (main):
  • webkit/webkitwebbackforwardlist.cpp: (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit): (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
Location:
trunk/WebKit/gtk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebKit/gtk/ChangeLog

    r41039 r41137  
     12009-02-23  Jan Michael Alonzo  <jmalonzo@webkit.org>
     2
     3        Reviewed by Mark Rowe.
     4
     5        [GTK] Back / Forward history menus are flipped
     6        https://bugs.webkit.org/show_bug.cgi?id=22694
     7
     8        Don't call g_list_reverse when returning the back or forward list.
     9
     10        * tests/main.c:
     11        (test_webkit_web_back_forward_list_order):
     12        (main):
     13        * webkit/webkitwebbackforwardlist.cpp:
     14        (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_forward_list_with_limit):
     15        (_WebKitWebBackForwardListPrivate::webkit_web_back_forward_list_get_back_list_with_limit):
     16
    1172009-02-17  Xan Lopez  <xan@gnome.org>
    218
  • trunk/WebKit/gtk/tests/main.c

    r40540 r41137  
    6464
    6565static void
     66test_webkit_web_back_forward_list_order(void)
     67{
     68    WebKitWebView* webView;
     69    WebKitWebBackForwardList* webBackForwardList;
     70    WebKitWebHistoryItem* item1;
     71    WebKitWebHistoryItem* item2;
     72    WebKitWebHistoryItem* item3;
     73    WebKitWebHistoryItem* item4;
     74    WebKitWebHistoryItem* currentItem;
     75    GList* backList = NULL;
     76    GList* forwardList = NULL;
     77    g_test_bug("22694");
     78
     79    webView = WEBKIT_WEB_VIEW(webkit_web_view_new());
     80    g_object_ref_sink(webView);
     81
     82    webkit_web_view_set_maintains_back_forward_list(webView, TRUE);
     83    webBackForwardList = webkit_web_view_get_back_forward_list(webView);
     84    g_assert(webBackForwardList);
     85
     86    // Check that there is no item.
     87    g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList));
     88    g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0);
     89    g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0);
     90    g_assert(!webkit_web_view_can_go_forward(webView));
     91    g_assert(!webkit_web_view_can_go_back(webView));
     92
     93    // Add a new items
     94    item1 = webkit_web_history_item_new_with_data("http://example.com/1/", "Site 1");
     95    webkit_web_back_forward_list_add_item(webBackForwardList, item1);
     96    g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item1));
     97
     98    item2 = webkit_web_history_item_new_with_data("http://example.com/2/", "Site 2");
     99    webkit_web_back_forward_list_add_item(webBackForwardList, item2);
     100    g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item2));
     101
     102    item3 = webkit_web_history_item_new_with_data("http://example.com/3/", "Site 3");
     103    webkit_web_back_forward_list_add_item(webBackForwardList, item3);
     104    g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item3));
     105
     106    item4 = webkit_web_history_item_new_with_data("http://example.com/4/", "Site 4");
     107    webkit_web_back_forward_list_add_item(webBackForwardList, item4);
     108    g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, item4));
     109
     110    // check the back list order
     111    backList = webkit_web_back_forward_list_get_back_list_with_limit(webBackForwardList, 5);
     112    g_assert(backList);
     113
     114    currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
     115    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/3/");
     116    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 3");
     117    backList = backList->next;
     118
     119    currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
     120    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/2/");
     121    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 2");
     122    backList = backList->next;
     123
     124    currentItem = WEBKIT_WEB_HISTORY_ITEM(backList->data);
     125    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/1/");
     126    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 1");
     127    g_list_free(backList);
     128
     129    // check the forward list order
     130    g_assert(webkit_web_view_go_to_back_forward_item(webView, item1));
     131    forwardList = webkit_web_back_forward_list_get_forward_list_with_limit(webBackForwardList,5);
     132    g_assert(forwardList);
     133
     134    currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
     135    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/4/");
     136    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 4");
     137    forwardList = forwardList->next;
     138
     139    currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
     140    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/3/");
     141    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 3");
     142    forwardList = forwardList->next;
     143
     144    currentItem = WEBKIT_WEB_HISTORY_ITEM(forwardList->data);
     145    g_assert_cmpstr(webkit_web_history_item_get_uri(currentItem), ==, "http://example.com/2/");
     146    g_assert_cmpstr(webkit_web_history_item_get_title(currentItem), ==, "Site 2");
     147
     148    g_object_unref(currentItem);
     149    g_object_unref(item1);
     150    g_object_unref(item2);
     151    g_object_unref(item3);
     152    g_object_unref(item4);
     153    g_list_free(forwardList);
     154    g_object_unref(webView);
     155}
     156
     157static void
    66158test_webkit_web_back_forward_list_add_item(void)
    67159{
     
    144236    g_test_add_func("/webkit/webframe/lifetime", test_webkit_web_frame_lifetime);
    145237    g_test_add_func("/webkit/webbackforwardlist/add_item", test_webkit_web_back_forward_list_add_item);
    146 
     238    g_test_add_func("/webkit/webbackforwardlist/list_order", test_webkit_web_back_forward_list_order);
    147239    return g_test_run ();
    148240}
  • trunk/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp

    r40540 r41137  
    194194    }
    195195
    196     return g_list_reverse(forwardItems);
     196    return forwardItems;
    197197}
    198198
     
    224224    }
    225225
    226     return g_list_reverse(backItems);
    227 }
     226    return backItems;
     227}
     228
    228229/**
    229230 * webkit_web_back_forward_list_get_back_item:
Note: See TracChangeset for help on using the changeset viewer.