diff options
author | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-30 20:23:40 +0000 |
---|---|---|
committer | jochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-30 20:23:40 +0000 |
commit | 73b614655f121464c7f71b020e97a6137ce193af (patch) | |
tree | 7d18c57772422e17367517e1202471ac9e9b6a4d /chrome/browser/gtk | |
parent | 3b500fccc9c9024862284eeeb4d1c4dcc148f8de (diff) | |
download | chromium_src-73b614655f121464c7f71b020e97a6137ce193af.zip chromium_src-73b614655f121464c7f71b020e97a6137ce193af.tar.gz chromium_src-73b614655f121464c7f71b020e97a6137ce193af.tar.bz2 |
Merge 54308 - Command line flag to disable the cookie prompt.
The XIB change re-introduces the cookie tab view item with the "ask" setting
as additinoal tab view item. The controller deletes the one not required
according to the command line flag.
BUG=50083
TEST=none
Review URL: http://codereview.chromium.org/3075013
TBR=jochen@chromium.org
Review URL: http://codereview.chromium.org/2832100
git-svn-id: svn://svn.chromium.org/chrome/branches/472/src@54371 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/gtk')
-rw-r--r-- | chrome/browser/gtk/options/cookie_filter_page_gtk.cc | 22 | ||||
-rw-r--r-- | chrome/browser/gtk/options/cookie_filter_page_gtk.h | 1 |
2 files changed, 21 insertions, 2 deletions
diff --git a/chrome/browser/gtk/options/cookie_filter_page_gtk.cc b/chrome/browser/gtk/options/cookie_filter_page_gtk.cc index 878fdd0..27afdcd 100644 --- a/chrome/browser/gtk/options/cookie_filter_page_gtk.cc +++ b/chrome/browser/gtk/options/cookie_filter_page_gtk.cc @@ -5,6 +5,7 @@ #include "chrome/browser/gtk/options/cookie_filter_page_gtk.h" #include "app/l10n_util.h" +#include "base/command_line.h" #include "chrome/browser/browser.h" #include "chrome/browser/browsing_data_local_storage_helper.h" #include "chrome/browser/gtk/browser_window_gtk.h" @@ -14,6 +15,7 @@ #include "chrome/browser/gtk/options/cookies_view.h" #include "chrome/browser/host_content_settings_map.h" #include "chrome/browser/profile.h" +#include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "grit/generated_resources.h" #include "grit/locale_settings.h" @@ -64,6 +66,9 @@ void CookieFilterPageGtk::HighlightGroup(OptionsGroup highlight_group) { } GtkWidget* CookieFilterPageGtk::InitCookieStoringGroup() { + bool disable_cookie_prompt = CommandLine::ForCurrentProcess()->HasSwitch( + switches::kDisableCookiePrompt); + GtkWidget* vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing); allow_radio_ = gtk_radio_button_new_with_label(NULL, @@ -72,6 +77,15 @@ GtkWidget* CookieFilterPageGtk::InitCookieStoringGroup() { G_CALLBACK(OnCookiesAllowToggledThunk), this); gtk_box_pack_start(GTK_BOX(vbox), allow_radio_, FALSE, FALSE, 0); + if (!disable_cookie_prompt) { + ask_every_time_radio_ = gtk_radio_button_new_with_label_from_widget( + GTK_RADIO_BUTTON(allow_radio_), + l10n_util::GetStringUTF8(IDS_COOKIES_ASK_EVERY_TIME_RADIO).c_str()); + g_signal_connect(G_OBJECT(ask_every_time_radio_), "toggled", + G_CALLBACK(OnCookiesAllowToggledThunk), this); + gtk_box_pack_start(GTK_BOX(vbox), ask_every_time_radio_, FALSE, FALSE, 0); + } + block_radio_ = gtk_radio_button_new_with_label_from_widget( GTK_RADIO_BUTTON(allow_radio_), l10n_util::GetStringUTF8(IDS_COOKIES_BLOCK_RADIO).c_str()); @@ -89,9 +103,11 @@ GtkWidget* CookieFilterPageGtk::InitCookieStoringGroup() { GtkWidget* radio_button = NULL; if (default_setting == CONTENT_SETTING_ALLOW) { radio_button = allow_radio_; - } else { - DCHECK(default_setting == CONTENT_SETTING_BLOCK); + } else if (default_setting == CONTENT_SETTING_BLOCK) { radio_button = block_radio_; + } else { + DCHECK(default_setting == CONTENT_SETTING_ASK); + radio_button = ask_every_time_radio_; } gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radio_button), TRUE); @@ -148,6 +164,8 @@ void CookieFilterPageGtk::OnCookiesAllowToggled(GtkWidget* toggle_button) { ContentSetting setting = CONTENT_SETTING_ALLOW; if (toggle_button == allow_radio_) setting = CONTENT_SETTING_ALLOW; + else if (toggle_button == ask_every_time_radio_) + setting = CONTENT_SETTING_ASK; else if (toggle_button == block_radio_) setting = CONTENT_SETTING_BLOCK; diff --git a/chrome/browser/gtk/options/cookie_filter_page_gtk.h b/chrome/browser/gtk/options/cookie_filter_page_gtk.h index 062b099..3eb6bb1 100644 --- a/chrome/browser/gtk/options/cookie_filter_page_gtk.h +++ b/chrome/browser/gtk/options/cookie_filter_page_gtk.h @@ -43,6 +43,7 @@ class CookieFilterPageGtk : public OptionsPageBase { // Widgets of the cookie storing group GtkWidget* allow_radio_; + GtkWidget* ask_every_time_radio_; GtkWidget* block_radio_; GtkWidget* exceptions_button_; |