/** * webkit_web_back_forward_list_go_back: * @web_back_forward_list: a #WebKitWebBackForwardList * * Steps backward in the back forward list */ void webkit_web_back_forward_list_go_back(WebKitWebBackForwardList* webBackForwardList) { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); WebCore::BackForwardList* backForwardList = core(webBackForwardList); if (backForwardList->enabled()) backForwardList->goBack(); }
/** * webkit_web_back_forward_list_get_limit: * @web_back_forward_list: a #WebKitWebBackForwardList * * Returns the maximum limit of the back forward list. * * Return value: a #gint indicating the number of #WebHistoryItem the back forward list can hold */ gint webkit_web_back_forward_list_get_limit(WebKitWebBackForwardList* webBackForwardList) { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), 0); WebCore::BackForwardList* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return 0; return backForwardList->capacity(); }
/** * webkit_web_back_forward_list_go_to_item: * @web_back_forward_list: a #WebKitWebBackForwardList * @history_item: the #WebKitWebHistoryItem to go to * * Go to the specified @web_history_item in the back forward list */ void webkit_web_back_forward_list_go_to_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem) { g_return_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList)); g_return_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem)); WebCore::HistoryItem* historyItem = core(webHistoryItem); WebCore::BackForwardList* backForwardList = core(webBackForwardList); if (backForwardList->enabled() && historyItem) backForwardList->goToItem(historyItem); }
/** * webkit_web_back_forward_list_get_forward_item: * @web_back_forward_list: a #WebKitWebBackForwardList * * Returns the item that succeeds the current item. * * Returns a NULL value if there nothing that succeeds the current item * * Return value: a #WebKitWebHistoryItem */ WebKitWebHistoryItem* webkit_web_back_forward_list_get_forward_item(WebKitWebBackForwardList* webBackForwardList) { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); WebCore::BackForwardList* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; WebCore::HistoryItem* historyItem = backForwardList->forwardItem(); return (historyItem ? kit(historyItem) : NULL); }
/** * webkit_web_back_forward_list_contains_item: * @web_back_forward_list: a #WebKitWebBackForwardList * @history_item: the #WebKitWebHistoryItem to check * * Checks if @web_history_item is in the back forward list * * Return: %TRUE if @web_history_item is in the back forward list, %FALSE if it doesn't */ gboolean webkit_web_back_forward_list_contains_item(WebKitWebBackForwardList* webBackForwardList, WebKitWebHistoryItem* webHistoryItem) { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), FALSE); g_return_val_if_fail(WEBKIT_IS_WEB_HISTORY_ITEM(webHistoryItem), FALSE); WebCore::HistoryItem* historyItem = core(webHistoryItem); g_return_val_if_fail(historyItem != NULL, FALSE); WebCore::BackForwardList* backForwardList = core(webBackForwardList); return (backForwardList->enabled() ? backForwardList->containsItem(historyItem) : FALSE); }
/** * webkit_web_back_forward_list_get_back_list_with_limit: * @web_back_forward_list: a #WebKitWebBackForwardList * @limit: the number of items to retrieve * * Returns a list of items that precede the current item, limited by @limit * * Return value: a #GList of items preceding the current item, limited by @limit */ GList* webkit_web_back_forward_list_get_back_list_with_limit(WebKitWebBackForwardList* webBackForwardList, gint limit) { g_return_val_if_fail(WEBKIT_IS_WEB_BACK_FORWARD_LIST(webBackForwardList), NULL); WebCore::BackForwardList* backForwardList = core(webBackForwardList); if (!backForwardList || !backForwardList->enabled()) return NULL; WebCore::HistoryItemVector items; GList* backItems = { 0 }; backForwardList->backListWithLimit(limit, items); for (unsigned i = 0; i < items.size(); i++) { WebKitWebHistoryItem* webHistoryItem = webkit_web_history_item_new_with_core_item(items[i].get()); backItems = g_list_prepend(backItems, g_object_ref(webHistoryItem)); } return g_list_reverse(backItems); }