Merge lp:~kalikiana/midori/appprivacy into lp:midori

Proposed by Cris Dywan
Status: Merged
Approved by: André Stösel
Approved revision: 6282
Merged at revision: 6288
Proposed branch: lp:~kalikiana/midori/appprivacy
Merge into: lp:midori
Diff against target: 143 lines (+46/-37)
3 files modified
midori/midori-frontend.c (+12/-10)
midori/midori-preferences.c (+3/-0)
midori/midori-websettings.c (+31/-27)
To merge this branch: bzr merge lp:~kalikiana/midori/appprivacy
Reviewer Review Type Date Requested Status
André Stösel Approve
Review via email: mp+177180@code.launchpad.net

Commit message

Add privacy preferences in web app mode

To post a comment you must log in.
Revision history for this message
André Stösel (ivaldi) wrote :

There is an issue with the "app" object (if you change some settings):

** (midori4:3734): CRITICAL **: katze_object_get_object: assertion `G_IS_OBJECT (object)' failed

Program received signal SIGTRAP, Trace/breakpoint trap.
0x00007ffff78dcd4d in g_logv () from /usr/lib/libglib-2.0.so.0
(gdb) bt
#0 0x00007ffff78dcd4d in g_logv () from /usr/lib/libglib-2.0.so.0
#1 0x00007ffff78dcf32 in g_log () from /usr/lib/libglib-2.0.so.0
#2 0x000000000042a50a in katze_object_get_object (object=object@entry=0x0, property=property@entry=0x482f2c "extensions") at ../katze/katze-utils.c:1209
#3 0x00000000004596b2 in midori_settings_save_to_file (settings=settings@entry=0x862b10, app=0x0, filename=filename@entry=0x1076440 "/home/andre/.local/share/midori/apps/0d31a7f58f9a80b737cb713872090cc6/config",
    error=error@entry=0x7fffffffcbb8) at ../midori/midori-websettings.c:1486
#4 0x000000000044c86d in settings_notify_cb (settings=0x862b10, pspec=<optimized out>, app=0x0) at ../midori/midori-session.c:353

review: Needs Fixing
Revision history for this message
André Stösel (ivaldi) wrote :

Works fine now.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'midori/midori-frontend.c'
--- midori/midori-frontend.c 2013-06-30 14:58:59 +0000
+++ midori/midori-frontend.c 2013-07-29 17:43:29 +0000
@@ -36,6 +36,15 @@
36 return new_browser;36 return new_browser;
37}37}
3838
39static void
40midori_browser_privacy_preferences_cb (MidoriBrowser* browser,
41 KatzePreferences* preferences,
42 gpointer user_data)
43{
44 MidoriWebSettings* settings = midori_browser_get_settings (browser);
45 midori_preferences_add_privacy_category (preferences, settings);
46}
47
39MidoriBrowser*48MidoriBrowser*
40midori_web_app_new (const gchar* webapp,49midori_web_app_new (const gchar* webapp,
41 gchar** open_uris,50 gchar** open_uris,
@@ -50,6 +59,8 @@
50 MidoriBrowser* browser = midori_browser_new ();59 MidoriBrowser* browser = midori_browser_new ();
51 g_signal_connect (browser, "new-window",60 g_signal_connect (browser, "new-window",
52 G_CALLBACK (midori_frontend_browser_new_window_cb), NULL);61 G_CALLBACK (midori_frontend_browser_new_window_cb), NULL);
62 g_signal_connect (browser, "show-preferences",
63 G_CALLBACK (midori_browser_privacy_preferences_cb), NULL);
5364
54 midori_browser_set_action_visible (browser, "Menubar", FALSE);65 midori_browser_set_action_visible (browser, "Menubar", FALSE);
55 midori_browser_set_action_visible (browser, "CompactMenu", FALSE);66 midori_browser_set_action_visible (browser, "CompactMenu", FALSE);
@@ -243,15 +254,6 @@
243}254}
244255
245static void256static void
246midori_browser_privacy_preferences_cb (MidoriBrowser* browser,
247 KatzePreferences* preferences,
248 MidoriApp* app)
249{
250 MidoriWebSettings* settings = midori_browser_get_settings (browser);
251 midori_preferences_add_privacy_category (preferences, settings);
252}
253
254static void
255midori_app_add_browser_cb (MidoriApp* app,257midori_app_add_browser_cb (MidoriApp* app,
256 MidoriBrowser* browser,258 MidoriBrowser* browser,
257 gpointer user_data)259 gpointer user_data)
@@ -269,7 +271,7 @@
269271
270 /* Extensions */272 /* Extensions */
271 g_signal_connect (browser, "show-preferences",273 g_signal_connect (browser, "show-preferences",
272 G_CALLBACK (midori_browser_privacy_preferences_cb), app);274 G_CALLBACK (midori_browser_privacy_preferences_cb), NULL);
273 g_signal_connect (browser, "show-preferences",275 g_signal_connect (browser, "show-preferences",
274 G_CALLBACK (midori_browser_show_preferences_cb), app);276 G_CALLBACK (midori_browser_show_preferences_cb), app);
275277
276278
=== modified file 'midori/midori-preferences.c'
--- midori/midori-preferences.c 2013-07-07 12:25:55 +0000
+++ midori/midori-preferences.c 2013-07-29 17:43:29 +0000
@@ -539,6 +539,9 @@
539 GtkWidget* label;539 GtkWidget* label;
540 gchar* markup;540 gchar* markup;
541541
542 g_return_if_fail (KATZE_IS_PREFERENCES (preferences));
543 g_return_if_fail (MIDORI_IS_WEB_SETTINGS (settings));
544
542 katze_preferences_add_category (preferences, _("Privacy"), GTK_STOCK_INDEX);545 katze_preferences_add_category (preferences, _("Privacy"), GTK_STOCK_INDEX);
543 katze_preferences_add_group (preferences, NULL);546 katze_preferences_add_group (preferences, NULL);
544 button = gtk_label_new (_("Delete old Cookies after:"));547 button = gtk_label_new (_("Delete old Cookies after:"));
545548
=== modified file 'midori/midori-websettings.c'
--- midori/midori-websettings.c 2013-07-11 15:20:32 +0000
+++ midori/midori-websettings.c 2013-07-29 17:43:29 +0000
@@ -1483,9 +1483,6 @@
1483 GType type;1483 GType type;
1484 const gchar* property;1484 const gchar* property;
1485 gboolean saved;1485 gboolean saved;
1486 KatzeArray* extensions = katze_object_get_object (app, "extensions");
1487 MidoriExtension* extension;
1488 gchar** _extensions;
14891486
1490 key_file = g_key_file_new ();1487 key_file = g_key_file_new ();
1491 class = G_OBJECT_GET_CLASS (settings);1488 class = G_OBJECT_GET_CLASS (settings);
@@ -1573,30 +1570,37 @@
1573 }1570 }
1574 g_free (pspecs);1571 g_free (pspecs);
15751572
1576 /* Take frozen list of active extensions until preferences reset it */1573 if (app != NULL)
1577 if ((_extensions = g_object_get_data (G_OBJECT (app), "extensions")))1574 {
1578 {1575 /* Take frozen list of active extensions until preferences reset it */
1579 i = 0;1576 gchar** _extensions;
1580 while (_extensions[i])1577 KatzeArray* extensions;
1581 g_key_file_set_boolean (key_file, "extensions", _extensions[i++], TRUE);1578 if ((_extensions = g_object_get_data (G_OBJECT (app), "extensions")))
1582 }1579 {
1583 else if (extensions)1580 i = 0;
1584 {1581 while (_extensions[i])
1585 KATZE_ARRAY_FOREACH_ITEM (extension, extensions)1582 g_key_file_set_boolean (key_file, "extensions", _extensions[i++], TRUE);
1586 if (midori_extension_is_active (extension))1583 }
1587 {1584 else if ((extensions = katze_object_get_object (app, "extensions")))
1588 const gchar* filename = g_object_get_data (G_OBJECT (extension), "filename");1585 {
1589 g_return_val_if_fail (filename != NULL, FALSE);1586 MidoriExtension* extension;
1590 if (filename && strchr (filename, '/'))1587 KATZE_ARRAY_FOREACH_ITEM (extension, extensions)
1591 g_warning ("%s: %s unexpected /", G_STRFUNC, filename);1588 if (midori_extension_is_active (extension))
1592 gchar* key = katze_object_get_string (extension, "key");1589 {
1593 gchar* subname = key ? g_strdup_printf ("%s/%s", filename, key) : g_strdup (filename);1590 const gchar* filename = g_object_get_data (G_OBJECT (extension), "filename");
1594 g_key_file_set_boolean (key_file, "extensions", subname, TRUE);1591 g_return_val_if_fail (filename != NULL, FALSE);
1595 g_free (key);1592 if (filename && strchr (filename, '/'))
1596 g_free (subname);1593 g_warning ("%s: %s unexpected /", G_STRFUNC, filename);
1597 }1594 gchar* key = katze_object_get_string (extension, "key");
1598 g_object_unref (extensions);1595 gchar* subname = key ? g_strdup_printf ("%s/%s", filename, key) : g_strdup (filename);
1599 }1596 g_key_file_set_boolean (key_file, "extensions", subname, TRUE);
1597 g_free (key);
1598 g_free (subname);
1599 }
1600 g_object_unref (extensions);
1601 }
1602 }
1603
1600 saved = sokoke_key_file_save_to_file (key_file, filename, error);1604 saved = sokoke_key_file_save_to_file (key_file, filename, error);
1601 g_key_file_free (key_file);1605 g_key_file_free (key_file);
1602 return saved;1606 return saved;

Subscribers

People subscribed via source and target branches

to all changes: