Changeset 56531 in webkit
- Timestamp:
- Mar 25, 2010 5:03:38 AM (14 years ago)
- Location:
- trunk/WebKit/gtk
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebKit/gtk/ChangeLog
r56439 r56531 1 2010-03-25 Sergio Villar Senín <svillar@igalia.com> 2 3 Reviewed by Xan Lopez. 4 5 Added new API webkit_web_back_forward_list_clear. This function 6 clears the back forward list 7 8 [GTK] http/history tests are failing 9 https://bugs.webkit.org/show_bug.cgi?id=36173 10 11 * tests/testwebbackforwardlist.c: 12 (test_webkit_web_back_forward_list_clear): 13 (main): added new unit test for the new API 14 * webkit/webkitwebbackforwardlist.cpp: 15 (webkit_web_back_forward_list_clear): 16 * webkit/webkitwebbackforwardlist.h: new function that clears the 17 back forward list 18 1 19 2010-03-24 Kent Tamura <tkent@chromium.org> 2 20 -
trunk/WebKit/gtk/tests/testwebbackforwardlist.c
r44903 r56531 267 267 } 268 268 269 static void test_webkit_web_back_forward_list_clear(void) 270 { 271 WebKitWebView* webView; 272 WebKitWebBackForwardList* webBackForwardList; 273 WebKitWebHistoryItem* addItem; 274 g_test_bug("36173"); 275 276 webView = WEBKIT_WEB_VIEW(webkit_web_view_new()); 277 g_object_ref_sink(webView); 278 279 webBackForwardList = webkit_web_view_get_back_forward_list(webView); 280 g_assert(webBackForwardList); 281 282 // Check that there is no item. 283 g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0); 284 g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0); 285 g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList)); 286 g_assert(!webkit_web_view_can_go_forward(webView)); 287 g_assert(!webkit_web_view_can_go_back(webView)); 288 289 // Check that clearing the empty list does not modify counters 290 webkit_web_back_forward_list_clear(webBackForwardList); 291 g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0); 292 g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0); 293 g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList)); 294 g_assert(!webkit_web_view_can_go_forward(webView)); 295 g_assert(!webkit_web_view_can_go_back(webView)); 296 297 // Add a new item 298 addItem = webkit_web_history_item_new_with_data("http://example.com/", "Added site"); 299 webkit_web_back_forward_list_add_item(webBackForwardList, addItem); 300 g_object_unref(addItem); 301 g_assert(webkit_web_back_forward_list_contains_item(webBackForwardList, addItem)); 302 303 // Check that after clearing the list the added item is no longer in the list 304 webkit_web_back_forward_list_clear(webBackForwardList); 305 g_assert(!webkit_web_back_forward_list_contains_item(webBackForwardList, addItem)); 306 307 // Check that after clearing it, the list is empty 308 g_assert_cmpint(webkit_web_back_forward_list_get_forward_length(webBackForwardList), ==, 0); 309 g_assert_cmpint(webkit_web_back_forward_list_get_back_length(webBackForwardList), ==, 0); 310 g_assert(!webkit_web_back_forward_list_get_current_item(webBackForwardList)); 311 g_assert(!webkit_web_view_can_go_forward(webView)); 312 g_assert(!webkit_web_view_can_go_back(webView)); 313 314 g_object_unref(webView); 315 } 316 269 317 int main(int argc, char** argv) 270 318 { … … 276 324 g_test_add_func("/webkit/webbackforwardlist/list_order", test_webkit_web_back_forward_list_order); 277 325 g_test_add_func("/webkit/webhistoryitem/lifetime", test_webkit_web_history_item_lifetime); 326 g_test_add_func("/webkit/webbackforwardlist/clear", test_webkit_web_back_forward_list_clear); 278 327 return g_test_run (); 279 328 } -
trunk/WebKit/gtk/webkit/webkitwebbackforwardlist.cpp
r55915 r56531 439 439 } 440 440 441 /** 442 * webkit_web_back_forward_list_clear: 443 * @webBackForwardList: a #WebKitWebBackForwardList 444 * 445 * Clears the @webBackForwardList by removing all its elements. Note that not even 446 * the current page is kept in list when cleared so you would have to add it later. 447 * 448 * Since: 1.1.30 449 **/ 450 void webkit_web_back_forward_list_clear(WebKitWebBackForwardList* webBackForwardList) 451 { 452 g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); 453 454 WebCore::BackForwardList* backForwardList = core(webBackForwardList); 455 if (!backForwardList || !backForwardList->enabled() || !backForwardList->entries().size()) 456 return; 457 458 // Clear the current list by setting capacity to 0 459 int capacity = backForwardList->capacity(); 460 backForwardList->setCapacity(0); 461 backForwardList->setCapacity(capacity); 462 } 463 441 464 WebCore::BackForwardList* WebKit::core(WebKitWebBackForwardList* webBackForwardList) 442 465 { -
trunk/WebKit/gtk/webkit/webkitwebbackforwardlist.h
r49168 r56531 111 111 webkit_web_back_forward_list_add_item (WebKitWebBackForwardList *web_back_forward_list, 112 112 WebKitWebHistoryItem *history_item); 113 WEBKIT_API void 114 webkit_web_back_forward_list_clear (WebKitWebBackForwardList *web_back_forward_list); 113 115 114 116 G_END_DECLS
Note: See TracChangeset
for help on using the changeset viewer.