Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(622)

Unified Diff: chrome/browser/gtk/options/cookie_filter_page_gtk.cc

Issue 6251001: Move chrome/browser/gtk/ to chrome/browser/ui/gtk/... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/gtk/options/cookie_filter_page_gtk.h ('k') | chrome/browser/gtk/options/cookies_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/gtk/options/cookie_filter_page_gtk.cc
===================================================================
--- chrome/browser/gtk/options/cookie_filter_page_gtk.cc (revision 71352)
+++ chrome/browser/gtk/options/cookie_filter_page_gtk.cc (working copy)
@@ -1,227 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/gtk/options/cookie_filter_page_gtk.h"
-
-#include "app/l10n_util.h"
-#include "base/auto_reset.h"
-#include "base/command_line.h"
-#include "chrome/browser/browsing_data_local_storage_helper.h"
-#include "chrome/browser/content_settings/host_content_settings_map.h"
-#include "chrome/browser/gtk/browser_window_gtk.h"
-#include "chrome/browser/gtk/gtk_chrome_link_button.h"
-#include "chrome/browser/gtk/gtk_util.h"
-#include "chrome/browser/gtk/options/content_exceptions_window_gtk.h"
-#include "chrome/browser/gtk/options/cookies_view.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/options/show_options_url.h"
-#include "chrome/common/pref_names.h"
-#include "grit/generated_resources.h"
-#include "grit/locale_settings.h"
-
-namespace {
-
-// Stick small widgets in an hbox so it doesn't expand to the whole width.
-GtkWidget* WrapInHBox(GtkWidget* widget) {
- GtkWidget* hbox = gtk_hbox_new(FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, FALSE, 0);
- return hbox;
-}
-
-} // namespace
-
-CookieFilterPageGtk::CookieFilterPageGtk(Profile* profile)
- : OptionsPageBase(profile),
- ignore_toggle_(false) {
- // The pref members must be initialized first since the pref values are read
- // afterwards when we initialize the cookie storing group.
- clear_site_data_on_exit_.Init(prefs::kClearSiteDataOnExit,
- profile->GetPrefs(), this);
-
- block_third_party_cookies_.Init(prefs::kBlockThirdPartyCookies,
- profile->GetPrefs(), this);
-
- managed_default_cookies_setting_.Init(prefs::kManagedDefaultCookiesSetting,
- profile->GetPrefs(), this);
-
- GtkWidget* title_label = gtk_util::CreateBoldLabel(
- l10n_util::GetStringUTF8(IDS_MODIFY_COOKIE_STORING_LABEL));
- page_ = gtk_vbox_new(FALSE, gtk_util::kControlSpacing);
- gtk_box_pack_start(GTK_BOX(page_), title_label, FALSE, FALSE, 0);
- gtk_container_add(GTK_CONTAINER(page_), InitCookieStoringGroup());
-}
-
-CookieFilterPageGtk::~CookieFilterPageGtk() {
-}
-
-void CookieFilterPageGtk::NotifyPrefChanged(const std::string* pref_name) {
- AutoReset<bool> toggle_guard(&ignore_toggle_, true);
-
- if (!pref_name || *pref_name == prefs::kClearSiteDataOnExit) {
- UpdateUiState();
- }
- if (!pref_name || *pref_name == prefs::kManagedDefaultCookiesSetting) {
- UpdateUiState();
- }
- if (!pref_name || *pref_name == prefs::kBlockThirdPartyCookies) {
- UpdateUiState();
- }
-}
-
-void CookieFilterPageGtk::HighlightGroup(OptionsGroup highlight_group) {
- // TODO(erg): implement group highlighting
-}
-
-GtkWidget* CookieFilterPageGtk::InitCookieStoringGroup() {
- GtkWidget* vbox = gtk_vbox_new(FALSE, gtk_util::kControlSpacing);
-
- allow_radio_ = gtk_radio_button_new_with_label(NULL,
- l10n_util::GetStringUTF8(IDS_COOKIES_ALLOW_RADIO).c_str());
- g_signal_connect(G_OBJECT(allow_radio_), "toggled",
- G_CALLBACK(OnCookiesAllowToggledThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), allow_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());
- g_signal_connect(G_OBJECT(block_radio_), "toggled",
- G_CALLBACK(OnCookiesAllowToggledThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), block_radio_, FALSE, FALSE, 0);
-
- exceptions_button_ = gtk_button_new_with_label(
- l10n_util::GetStringUTF8(IDS_COOKIES_EXCEPTIONS_BUTTON).c_str());
- g_signal_connect(G_OBJECT(exceptions_button_), "clicked",
- G_CALLBACK(OnExceptionsClickedThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), WrapInHBox(exceptions_button_),
- FALSE, FALSE, 0);
-
- block_3rdparty_check_ = gtk_check_button_new_with_label(
- l10n_util::GetStringUTF8(IDS_COOKIES_BLOCK_3RDPARTY_CHKBOX).c_str());
- g_signal_connect(G_OBJECT(block_3rdparty_check_), "toggled",
- G_CALLBACK(OnBlockThirdPartyToggledThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), block_3rdparty_check_, FALSE, FALSE, 0);
-
- clear_on_close_check_ = gtk_check_button_new_with_label(
- l10n_util::GetStringUTF8(IDS_COOKIES_CLEAR_WHEN_CLOSE_CHKBOX).c_str());
- g_signal_connect(G_OBJECT(clear_on_close_check_), "toggled",
- G_CALLBACK(OnClearOnCloseToggledThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), clear_on_close_check_, FALSE, FALSE, 0);
-
- show_cookies_button_ = gtk_button_new_with_label(
- l10n_util::GetStringUTF8(IDS_COOKIES_SHOW_COOKIES_BUTTON).c_str());
- g_signal_connect(G_OBJECT(show_cookies_button_), "clicked",
- G_CALLBACK(OnShowCookiesClickedThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), WrapInHBox(show_cookies_button_),
- FALSE, FALSE, 0);
-
- GtkWidget* flash_settings_link = gtk_chrome_link_button_new(
- l10n_util::GetStringUTF8(IDS_FLASH_STORAGE_SETTINGS).c_str());
- g_signal_connect(G_OBJECT(flash_settings_link), "clicked",
- G_CALLBACK(OnFlashLinkClickedThunk), this);
- gtk_box_pack_start(GTK_BOX(vbox), WrapInHBox(flash_settings_link),
- FALSE, FALSE, 0);
-
- ignore_toggle_ = true;
- UpdateUiState();
- ignore_toggle_ = false;
-
- return vbox;
-};
-
-void CookieFilterPageGtk::UpdateUiState() {
- // Get default_setting.
- ContentSetting default_setting;
- default_setting = profile()->GetHostContentSettingsMap()->
- GetDefaultContentSetting(CONTENT_SETTINGS_TYPE_COOKIES);
-
- // Set UI state.
- if (default_setting == CONTENT_SETTING_ALLOW) {
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(allow_radio_), TRUE);
- } else {
- DCHECK(default_setting == CONTENT_SETTING_BLOCK);
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(block_radio_), TRUE);
- }
- gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(clear_on_close_check_),
- clear_site_data_on_exit_.GetValue());
- gtk_toggle_button_set_active(
- GTK_TOGGLE_BUTTON(block_3rdparty_check_),
- block_third_party_cookies_.GetValue());
-
- // Disable the UI if the default content setting is managed.
- gtk_widget_set_sensitive(block_3rdparty_check_,
- !block_third_party_cookies_.IsManaged());
- bool sensitive = true;
- if (profile()->GetHostContentSettingsMap()->IsDefaultContentSettingManaged(
- CONTENT_SETTINGS_TYPE_COOKIES)) {
- sensitive = false;
- }
- gtk_widget_set_sensitive(allow_radio_, sensitive);
- gtk_widget_set_sensitive(block_radio_, sensitive);
- gtk_widget_set_sensitive(exceptions_button_, sensitive);
-}
-
-void CookieFilterPageGtk::OnCookiesAllowToggled(GtkWidget* toggle_button) {
- if (ignore_toggle_)
- return;
-
- if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggle_button))) {
- // When selecting a radio button, we get two signals (one for the old radio
- // being toggled off, one for the new one being toggled on.) Ignore the
- // signal for toggling off the old button.
- return;
- }
-
- ContentSetting setting = CONTENT_SETTING_ALLOW;
- if (toggle_button == allow_radio_)
- setting = CONTENT_SETTING_ALLOW;
- else if (toggle_button == block_radio_)
- setting = CONTENT_SETTING_BLOCK;
-
- profile()->GetHostContentSettingsMap()->SetDefaultContentSetting(
- CONTENT_SETTINGS_TYPE_COOKIES, setting);
-}
-
-void CookieFilterPageGtk::OnExceptionsClicked(GtkWidget* button) {
- HostContentSettingsMap* settings_map = profile()->GetHostContentSettingsMap();
- HostContentSettingsMap* otr_settings_map =
- profile()->HasOffTheRecordProfile() ?
- profile()->GetOffTheRecordProfile()->GetHostContentSettingsMap() :
- NULL;
- ContentExceptionsWindowGtk::ShowExceptionsWindow(
- GTK_WINDOW(gtk_widget_get_toplevel(button)),
- settings_map, otr_settings_map, CONTENT_SETTINGS_TYPE_COOKIES);
-}
-
-void CookieFilterPageGtk::OnBlockThirdPartyToggled(GtkWidget* toggle_button) {
- if (ignore_toggle_)
- return;
-
- HostContentSettingsMap* settings_map = profile()->GetHostContentSettingsMap();
- settings_map->SetBlockThirdPartyCookies(
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggle_button)));
-}
-
-void CookieFilterPageGtk::OnClearOnCloseToggled(GtkWidget* toggle_button) {
- if (ignore_toggle_)
- return;
-
- clear_site_data_on_exit_.SetValue(
- gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(toggle_button)));
-}
-
-void CookieFilterPageGtk::OnShowCookiesClicked(GtkWidget* button) {
- UserMetricsRecordAction(UserMetricsAction("Options_ShowCookies"), NULL);
- CookiesView::Show(GTK_WINDOW(gtk_widget_get_toplevel(button)),
- profile(),
- new BrowsingDataDatabaseHelper(profile()),
- new BrowsingDataLocalStorageHelper(profile()),
- new BrowsingDataAppCacheHelper(profile()),
- BrowsingDataIndexedDBHelper::Create(profile()));
-}
-
-void CookieFilterPageGtk::OnFlashLinkClicked(GtkWidget* button) {
- browser::ShowOptionsURL(
- profile(), GURL(l10n_util::GetStringUTF8(IDS_FLASH_STORAGE_URL)));
-}
« no previous file with comments | « chrome/browser/gtk/options/cookie_filter_page_gtk.h ('k') | chrome/browser/gtk/options/cookies_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698