aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2013-01-29 04:05:00 +0800
committerClaudio Saavedra <csaavedra@igalia.com>2013-02-08 05:54:58 +0800
commit180ad78567be78007ac26fe5b73b0a2a28c0eb1f (patch)
tree2d0a370577e113ea30c22f29342e1a212cef4a08
parent946292f704d24d3e82761a97bc4666df3458bc5b (diff)
downloadgsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar.gz
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar.bz2
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar.lz
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar.xz
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.tar.zst
gsoc2013-epiphany-180ad78567be78007ac26fe5b73b0a2a28c0eb1f.zip
ephy-embed-shell: add EPHY_EMBED_SHELL_MODE_INCOGNITO
Since we need to differenciate between incognito and private mode in order to enable restoring closed tabs only for the latter case. Add a macro for the cases in which either mode should behave in the same way to simplify the change. https://bugzilla.gnome.org/show_bug.cgi?id=128184
-rw-r--r--embed/ephy-embed-shell.h4
-rw-r--r--embed/ephy-embed-single.c2
-rw-r--r--embed/ephy-web-view.c4
-rw-r--r--src/ephy-main.c3
-rw-r--r--src/ephy-shell.c2
-rw-r--r--src/pdm-dialog.c5
6 files changed, 11 insertions, 9 deletions
diff --git a/embed/ephy-embed-shell.h b/embed/ephy-embed-shell.h
index 08558f7f2..e9973a288 100644
--- a/embed/ephy-embed-shell.h
+++ b/embed/ephy-embed-shell.h
@@ -47,10 +47,14 @@ typedef enum
{
EPHY_EMBED_SHELL_MODE_BROWSER,
EPHY_EMBED_SHELL_MODE_PRIVATE,
+ EPHY_EMBED_SHELL_MODE_INCOGNITO,
EPHY_EMBED_SHELL_MODE_APPLICATION,
EPHY_EMBED_SHELL_MODE_TEST
} EphyEmbedShellMode;
+#define EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE(mode) \
+ (mode == EPHY_EMBED_SHELL_MODE_PRIVATE || mode == EPHY_EMBED_SHELL_MODE_INCOGNITO)
+
struct _EphyEmbedShell
{
GtkApplication parent;
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c
index 0925e30ae..3bb161607 100644
--- a/embed/ephy-embed-single.c
+++ b/embed/ephy-embed-single.c
@@ -469,7 +469,7 @@ ephy_embed_single_initialize (EphyEmbedSingle *single)
mode = ephy_embed_shell_get_mode (ephy_embed_shell_get_default ());
/* WebKitSoupCache */
- cache_dir = g_build_filename (mode == EPHY_EMBED_SHELL_MODE_PRIVATE ?
+ cache_dir = g_build_filename (EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE (mode) ?
ephy_dot_dir () : g_get_user_cache_dir (),
g_get_prgname (), NULL);
priv->cache = soup_cache_new (cache_dir, SOUP_CACHE_SINGLE_USER);
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index b1d84de1a..adfdc7450 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -2207,7 +2207,7 @@ load_changed_cb (WebKitWebView *web_view,
#if 0
/* TODO: DOM bindings */
- if (ephy_embed_shell_get_mode (ephy_embed_shell_get_default ()) != EPHY_EMBED_SHELL_MODE_PRIVATE &&
+ if (!EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE(ephy_embed_shell_get_mode (ephy_embed_shell_get_default ())) &&
g_settings_get_boolean (EPHY_SETTINGS_MAIN,
EPHY_PREFS_REMEMBER_PASSWORDS))
_ephy_web_view_hook_into_forms (view);
@@ -2329,7 +2329,7 @@ load_status_cb (WebKitWebView *web_view,
if (priv->is_blank)
ephy_web_view_set_title (view, NULL);
- if (ephy_embed_shell_get_mode (ephy_embed_shell_get_default ()) != EPHY_EMBED_SHELL_MODE_PRIVATE &&
+ if (!EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE(ephy_embed_shell_get_mode (ephy_embed_shell_get_default ())) &&
g_settings_get_boolean (EPHY_SETTINGS_MAIN,
EPHY_PREFS_REMEMBER_PASSWORDS))
_ephy_web_view_hook_into_forms (view);
diff --git a/src/ephy-main.c b/src/ephy-main.c
index 471ccaeb2..3a464e476 100644
--- a/src/ephy-main.c
+++ b/src/ephy-main.c
@@ -419,8 +419,7 @@ main (int argc,
if (private_instance)
mode = EPHY_EMBED_SHELL_MODE_PRIVATE;
else if (incognito_mode) {
- /* Internally incognito mode is also a private mode. */
- mode = EPHY_EMBED_SHELL_MODE_PRIVATE;
+ mode = EPHY_EMBED_SHELL_MODE_INCOGNITO;
/* Use the right theming. */
g_object_set (gtk_settings_get_default (),
diff --git a/src/ephy-shell.c b/src/ephy-shell.c
index 5d7f47cda..f08097422 100644
--- a/src/ephy-shell.c
+++ b/src/ephy-shell.c
@@ -660,7 +660,7 @@ ephy_shell_init (EphyShell *shell)
/* Initialize the favicon cache as early as possible, or further
calls to webkit_web_context_get_favicon_database will fail. */
mode = ephy_embed_shell_get_mode (ephy_embed_shell_get_default ());
- favicon_db_path = g_build_filename (mode == EPHY_EMBED_SHELL_MODE_PRIVATE ?
+ favicon_db_path = g_build_filename (EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE (mode) ?
ephy_dot_dir () : g_get_user_cache_dir (),
g_get_prgname (), "icondatabase", NULL);
diff --git a/src/pdm-dialog.c b/src/pdm-dialog.c
index 5243c1517..0b56a2cfd 100644
--- a/src/pdm-dialog.c
+++ b/src/pdm-dialog.c
@@ -1609,9 +1609,8 @@ pdm_dialog_init (PdmDialog *dialog)
PdmDialogPrivate *priv;
PdmActionInfo *cookies, *passwords;
GtkWidget *window;
- gboolean has_private_profile =
- ephy_embed_shell_get_mode (ephy_embed_shell_get_default ()) == EPHY_EMBED_SHELL_MODE_PRIVATE;
-
+ gboolean has_private_profile =
+ EPHY_EMBED_SHELL_MODE_HAS_PRIVATE_PROFILE (ephy_embed_shell_get_mode (ephy_embed_shell_get_default ()));
priv = dialog->priv = EPHY_PDM_DIALOG_GET_PRIVATE (dialog);