summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk
diff options
context:
space:
mode:
authorjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-30 20:23:40 +0000
committerjochen@chromium.org <jochen@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-30 20:23:40 +0000
commit73b614655f121464c7f71b020e97a6137ce193af (patch)
tree7d18c57772422e17367517e1202471ac9e9b6a4d /chrome/browser/gtk
parent3b500fccc9c9024862284eeeb4d1c4dcc148f8de (diff)
downloadchromium_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.cc22
-rw-r--r--chrome/browser/gtk/options/cookie_filter_page_gtk.h1
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_;