diff options
author | Xan Lopez <xan@igalia.com> | 2012-03-14 19:48:23 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-03-14 19:48:23 +0800 |
commit | 1b941be52d0ed9ec90036efe4987740076c501a2 (patch) | |
tree | a4dd0fcbf6d55f215df06043641d5218209b873f /embed/ephy-web-view.c | |
parent | 6f220733c22c7c2f04ba8894a470ba7b7c64d8bd (diff) | |
download | gsoc2013-epiphany-1b941be52d0ed9ec90036efe4987740076c501a2.tar.gz gsoc2013-epiphany-1b941be52d0ed9ec90036efe4987740076c501a2.tar.zst gsoc2013-epiphany-1b941be52d0ed9ec90036efe4987740076c501a2.zip |
ephy-web-view: move history management to EphyWebView
Diffstat (limited to 'embed/ephy-web-view.c')
-rw-r--r-- | embed/ephy-web-view.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c index 55aa51d44..47f7c0b24 100644 --- a/embed/ephy-web-view.c +++ b/embed/ephy-web-view.c @@ -1936,12 +1936,14 @@ load_status_cb (WebKitWebView *web_view, const gchar* uri; EphyWebViewSecurityLevel security_level; + /* Title and location. */ uri = webkit_web_view_get_uri (web_view); ephy_web_view_location_changed (view, uri); ephy_web_view_set_title (view, NULL); + /* Security status. */ if (uri && g_str_has_prefix (uri, "https")) { WebKitWebFrame *frame; WebKitWebDataSource *source; @@ -1963,7 +1965,25 @@ load_status_cb (WebKitWebView *web_view, ephy_web_view_set_security_level (EPHY_WEB_VIEW (web_view), security_level); + /* Zoom level. */ restore_zoom_level (view, uri); + + /* History. */ + if (!ephy_web_view_is_loading_homepage (view)) { + char *history_uri = NULL; + + /* TODO: move the normalization down to the history service? */ + if (g_str_has_prefix (uri, EPHY_ABOUT_SCHEME)) + history_uri = g_strdup_printf ("about:%s", uri + EPHY_ABOUT_SCHEME_LEN + 1); + else + history_uri = g_strdup (uri); + + ephy_history_service_visit_url (priv->history_service, + history_uri, + priv->visit_type); + + g_free (history_uri); + } } break; case WEBKIT_LOAD_FINISHED: { |