From: Steve Lamerton Date: Sat, 20 Aug 2011 14:04:28 +0000 (+0000) Subject: Fix history when using custom schemes in GTK. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/ce88a107ad20adcbb75a1e233d4dc74012f5bebf Fix history when using custom schemes in GTK. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/gtk/webview_webkit.cpp b/src/gtk/webview_webkit.cpp index 91973b1d5f..03cb7868e9 100644 --- a/src/gtk/webview_webkit.cpp +++ b/src/gtk/webview_webkit.cpp @@ -43,6 +43,17 @@ wxgtk_webview_webkit_load_status(GtkWidget* widget, if (status == WEBKIT_LOAD_FINISHED) { + WebKitWebBackForwardList* hist = webkit_web_view_get_back_forward_list(WEBKIT_WEB_VIEW(widget)); + WebKitWebHistoryItem* item = webkit_web_back_forward_list_get_current_item(hist); + //We have to check if we are actually storing history + //If the item isn't added we add it ourselves, it isn't added otherwise + //with a custom scheme. + if(WEBKIT_IS_WEB_HISTORY_ITEM(item) && webkit_web_history_item_get_uri(item) != url) + { + WebKitWebHistoryItem* newitem = webkit_web_history_item_new_with_data(url, webKitCtrl->GetCurrentTitle()); + webkit_web_back_forward_list_add_item(hist, newitem); + } + webKitCtrl->m_busy = false; wxWebViewEvent event(wxEVT_COMMAND_WEB_VIEW_LOADED, webKitCtrl->GetId(),