[epiphany/tgt: 5/10] Update history if embedded document displays



commit d8610d18f0463d35c7ec3213b176290c4cf5aed6
Author: Javier M. Mellid <jmunhoz igalia com>
Date:   Tue Aug 13 11:58:14 2013 +0200

    Update history if embedded document displays
    
    When embedded document displays, browser updates its history properly.
    This way embedded document displays are coherent with web view displays.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=689992

 embed/ephy-embed.c    |    5 +++++
 embed/ephy-web-view.c |   10 ++++++++++
 embed/ephy-web-view.h |    2 ++
 3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 39529cb..7bf2411 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -678,6 +678,11 @@ document_download_finished_cb (WebKitDownload *download,
   ephy_web_view_set_title (view, basename);
   g_free (basename);
   ephy_web_view_set_address (view, uri);
+
+  /* history stuff */
+  char *history_uri = g_strdup (uri);
+  ephy_web_view_history_service_visit_url (view, history_uri);
+  g_free (history_uri);
 }
 
 void
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 7396756..11b3175 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -923,6 +923,16 @@ ephy_web_view_is_history_frozen (EphyWebView *view)
   return view->priv->history_frozen;
 }
 
+void
+ephy_web_view_history_service_visit_url (EphyWebView *view,
+                                         char *history_uri)
+{
+  if (!ephy_web_view_is_history_frozen (view)) {
+    ephy_history_service_visit_url (view->priv->history_service,
+                                    history_uri,
+                                    view->priv->visit_type);
+  }
+}
 
 static void
 ephy_web_view_clear_history (EphyWebView *view)
diff --git a/embed/ephy-web-view.h b/embed/ephy-web-view.h
index b94c099..c521bc6 100644
--- a/embed/ephy-web-view.h
+++ b/embed/ephy-web-view.h
@@ -138,6 +138,8 @@ void                       ephy_web_view_load_url                 (EphyWebView
                                                                    const char                *url);
 void                       ephy_web_view_copy_back_history        (EphyWebView               *source,
                                                                    EphyWebView               *dest);
+void                       ephy_web_view_history_service_visit_url (EphyWebView              *view,
+                                                                    char                     *history_uri);
 gboolean                   ephy_web_view_is_loading               (EphyWebView               *view);
 gboolean                   ephy_web_view_load_failed              (EphyWebView               *view);
 const char *               ephy_web_view_get_loading_title        (EphyWebView               *view);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]