]> git.saurik.com Git - wxWidgets.git/commitdiff
Fix history when using custom schemes in GTK.
authorSteve Lamerton <steve.lamerton@gmail.com>
Sat, 20 Aug 2011 14:04:28 +0000 (14:04 +0000)
committerSteve Lamerton <steve.lamerton@gmail.com>
Sat, 20 Aug 2011 14:04:28 +0000 (14:04 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/SOC2011_WEBVIEW@68797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/webview_webkit.cpp

index 91973b1d5f52c9b73111a33dbaacfcefc10d4538..03cb7868e96e3a7b7145924740086b0fecf39ff4 100644 (file)
@@ -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(),