aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-embed.c
diff options
context:
space:
mode:
authorXan Lopez <xan@igalia.com>2012-02-29 23:35:32 +0800
committerXan Lopez <xan@igalia.com>2012-03-07 04:49:44 +0800
commit92dec4e47d68bfb77be9ff256fcf44d1407d4ef4 (patch)
treece2d1e7a37a200d7ca714761c4a44685d11f594f /embed/ephy-embed.c
parent8ad6302a3f9e1a867f3dd61605196d22e9bd2f86 (diff)
downloadgsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar.gz
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar.bz2
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar.lz
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar.xz
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.tar.zst
gsoc2013-epiphany-92dec4e47d68bfb77be9ff256fcf44d1407d4ef4.zip
Store zoom levels per host, not per URL
Zoom levels have always been stored per host in Epiphany, not per URL (otherwise you'd have to re-apply the zoom level again and again when visiting, say, every news entry in your favorite newspaper). Change things to work like that. Note: this changes the SQL table format for the history, so you'll need to re-migrate your history.
Diffstat (limited to 'embed/ephy-embed.c')
-rw-r--r--embed/ephy-embed.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 49a2e1568..b9f1f46d6 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -230,12 +230,12 @@ ephy_embed_statusbar_pop (EphyEmbed *embed, guint context_id)
}
static void
-get_url_for_zoom_cb (gpointer service,
+get_host_for_url_cb (gpointer service,
gboolean success,
gpointer result_data,
gpointer user_data)
{
- EphyHistoryURL *url;
+ EphyHistoryHost *host;
EphyEmbed *embed;
WebKitWebView *web_view;
double current_zoom;
@@ -244,22 +244,21 @@ get_url_for_zoom_cb (gpointer service,
return;
embed = EPHY_EMBED (user_data);
- url = (EphyHistoryURL *) result_data;
-
- g_assert (url != NULL);
+ host = (EphyHistoryHost *)result_data;
web_view = embed->priv->web_view;
- g_object_get (web_view, "zoom-level", &current_zoom,
+ g_object_get (web_view,
+ "zoom-level", &current_zoom,
NULL);
- if (url->zoom_level != current_zoom) {
+ if (host->zoom_level != current_zoom) {
embed->priv->is_setting_zoom = TRUE;
- g_object_set (web_view, "zoom-level", url->zoom_level, NULL);
+ g_object_set (web_view, "zoom-level", host->zoom_level, NULL);
embed->priv->is_setting_zoom = FALSE;
}
- ephy_history_url_free (url);
+ ephy_history_host_free (host);
}
static void
@@ -268,9 +267,9 @@ restore_zoom_level (EphyEmbed *embed,
{
/* restore zoom level */
if (ephy_embed_utils_address_has_web_scheme (address)) {
- ephy_browse_history_get_url (embed->priv->browse_history,
- address,
- (EphyHistoryJobCallback)get_url_for_zoom_cb, embed);
+ ephy_browse_history_get_host_for_url (embed->priv->browse_history,
+ address,
+ (EphyHistoryJobCallback)get_host_for_url_cb, embed);
}
}