| OLD | NEW |
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/gtk/options/advanced_contents_gtk.h" | 5 #include "chrome/browser/gtk/options/advanced_contents_gtk.h" |
| 6 | 6 |
| 7 #include <sys/types.h> | 7 #include <sys/types.h> |
| 8 #include <sys/wait.h> | 8 #include <sys/wait.h> |
| 9 | 9 |
| 10 #include "app/l10n_util.h" | 10 #include "app/l10n_util.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" | 29 #include "chrome/browser/renderer_host/resource_dispatcher_host.h" |
| 30 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 30 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 31 #include "chrome/common/chrome_paths.h" | 31 #include "chrome/common/chrome_paths.h" |
| 32 #include "chrome/common/gtk_util.h" | 32 #include "chrome/common/gtk_util.h" |
| 33 #include "chrome/common/pref_member.h" | 33 #include "chrome/common/pref_member.h" |
| 34 #include "chrome/common/pref_names.h" | 34 #include "chrome/common/pref_names.h" |
| 35 #include "chrome/common/process_watcher.h" | 35 #include "chrome/common/process_watcher.h" |
| 36 #include "grit/chromium_strings.h" | 36 #include "grit/chromium_strings.h" |
| 37 #include "grit/generated_resources.h" | 37 #include "grit/generated_resources.h" |
| 38 #include "grit/locale_settings.h" | 38 #include "grit/locale_settings.h" |
| 39 #include "net/base/cookie_policy.h" | |
| 40 | 39 |
| 41 namespace { | 40 namespace { |
| 42 | 41 |
| 43 // Command used to configure GNOME proxy settings. The command was renamed | 42 // Command used to configure GNOME proxy settings. The command was renamed |
| 44 // in January 2009, so both are used to work on both old and new systems. | 43 // in January 2009, so both are used to work on both old and new systems. |
| 45 const char* kOldGNOMEProxyConfigCommand[] = {"gnome-network-preferences", NULL}; | 44 const char* kOldGNOMEProxyConfigCommand[] = {"gnome-network-preferences", NULL}; |
| 46 const char* kGNOMEProxyConfigCommand[] = {"gnome-network-properties", NULL}; | 45 const char* kGNOMEProxyConfigCommand[] = {"gnome-network-properties", NULL}; |
| 47 // KDE3 and KDE4 are only slightly different, but incompatible. Go figure. | 46 // KDE3 and KDE4 are only slightly different, but incompatible. Go figure. |
| 48 const char* kKDE3ProxyConfigCommand[] = {"kcmshell", "proxy", NULL}; | 47 const char* kKDE3ProxyConfigCommand[] = {"kcmshell", "proxy", NULL}; |
| 49 const char* kKDE4ProxyConfigCommand[] = {"kcmshell4", "proxy", NULL}; | 48 const char* kKDE4ProxyConfigCommand[] = {"kcmshell4", "proxy", NULL}; |
| (...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 525 GtkWidget* reporting_enabled_checkbox_; | 524 GtkWidget* reporting_enabled_checkbox_; |
| 526 #endif | 525 #endif |
| 527 GtkWidget* cookie_behavior_combobox_; | 526 GtkWidget* cookie_behavior_combobox_; |
| 528 | 527 |
| 529 // Preferences for this section: | 528 // Preferences for this section: |
| 530 BooleanPrefMember alternate_error_pages_; | 529 BooleanPrefMember alternate_error_pages_; |
| 531 BooleanPrefMember use_suggest_; | 530 BooleanPrefMember use_suggest_; |
| 532 BooleanPrefMember dns_prefetch_enabled_; | 531 BooleanPrefMember dns_prefetch_enabled_; |
| 533 BooleanPrefMember safe_browsing_; | 532 BooleanPrefMember safe_browsing_; |
| 534 BooleanPrefMember enable_metrics_recording_; | 533 BooleanPrefMember enable_metrics_recording_; |
| 535 IntegerPrefMember cookie_behavior_; | |
| 536 | 534 |
| 537 // Flag to ignore gtk callbacks while we are loading prefs, to avoid | 535 // Flag to ignore gtk callbacks while we are loading prefs, to avoid |
| 538 // then turning around and saving them again. | 536 // then turning around and saving them again. |
| 539 bool pref_changing_; | 537 bool pref_changing_; |
| 540 | 538 |
| 541 scoped_ptr<AccessibleWidgetHelper> accessible_widget_helper_; | 539 scoped_ptr<AccessibleWidgetHelper> accessible_widget_helper_; |
| 542 | 540 |
| 543 DISALLOW_COPY_AND_ASSIGN(PrivacySection); | 541 DISALLOW_COPY_AND_ASSIGN(PrivacySection); |
| 544 }; | 542 }; |
| 545 | 543 |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 659 // Init member prefs so we can update the controls if prefs change. | 657 // Init member prefs so we can update the controls if prefs change. |
| 660 alternate_error_pages_.Init(prefs::kAlternateErrorPagesEnabled, | 658 alternate_error_pages_.Init(prefs::kAlternateErrorPagesEnabled, |
| 661 profile->GetPrefs(), this); | 659 profile->GetPrefs(), this); |
| 662 use_suggest_.Init(prefs::kSearchSuggestEnabled, | 660 use_suggest_.Init(prefs::kSearchSuggestEnabled, |
| 663 profile->GetPrefs(), this); | 661 profile->GetPrefs(), this); |
| 664 dns_prefetch_enabled_.Init(prefs::kDnsPrefetchingEnabled, | 662 dns_prefetch_enabled_.Init(prefs::kDnsPrefetchingEnabled, |
| 665 profile->GetPrefs(), this); | 663 profile->GetPrefs(), this); |
| 666 safe_browsing_.Init(prefs::kSafeBrowsingEnabled, profile->GetPrefs(), this); | 664 safe_browsing_.Init(prefs::kSafeBrowsingEnabled, profile->GetPrefs(), this); |
| 667 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, | 665 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, |
| 668 g_browser_process->local_state(), this); | 666 g_browser_process->local_state(), this); |
| 669 cookie_behavior_.Init(prefs::kCookieBehavior, profile->GetPrefs(), this); | |
| 670 | 667 |
| 671 NotifyPrefChanged(NULL); | 668 NotifyPrefChanged(NULL); |
| 672 } | 669 } |
| 673 | 670 |
| 674 // static | 671 // static |
| 675 void PrivacySection::OnLearnMoreLinkClicked(GtkButton *button, | 672 void PrivacySection::OnLearnMoreLinkClicked(GtkButton *button, |
| 676 PrivacySection* privacy_section) { | 673 PrivacySection* privacy_section) { |
| 677 BrowserList::GetLastActive()-> | 674 BrowserList::GetLastActive()-> |
| 678 OpenURL(GURL(l10n_util::GetStringUTF8(IDS_LEARN_MORE_PRIVACY_URL)), | 675 OpenURL(GURL(l10n_util::GetStringUTF8(IDS_LEARN_MORE_PRIVACY_URL)), |
| 679 GURL(), NEW_WINDOW, PageTransition::LINK); | 676 GURL(), NEW_WINDOW, PageTransition::LINK); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 761 privacy_section->ShowRestartMessageBox(); | 758 privacy_section->ShowRestartMessageBox(); |
| 762 g_signal_handlers_unblock_by_func(widget, | 759 g_signal_handlers_unblock_by_func(widget, |
| 763 reinterpret_cast<gpointer>(OnLoggingChange), | 760 reinterpret_cast<gpointer>(OnLoggingChange), |
| 764 privacy_section); | 761 privacy_section); |
| 765 privacy_section->enable_metrics_recording_.SetValue(enabled); | 762 privacy_section->enable_metrics_recording_.SetValue(enabled); |
| 766 } | 763 } |
| 767 | 764 |
| 768 // static | 765 // static |
| 769 void PrivacySection::OnCookieBehaviorChanged(GtkComboBox* combo_box, | 766 void PrivacySection::OnCookieBehaviorChanged(GtkComboBox* combo_box, |
| 770 PrivacySection* privacy_section) { | 767 PrivacySection* privacy_section) { |
| 771 if (privacy_section->pref_changing_) | 768 // TODO(darin): Remove everything else related to this setter. |
| 772 return; | |
| 773 net::CookiePolicy::Type cookie_policy = | |
| 774 net::CookiePolicy::FromInt(gtk_combo_box_get_active(combo_box)); | |
| 775 const char* kUserMetrics[] = { | |
| 776 "Options_AllowAllCookies", | |
| 777 "Options_BlockThirdPartyCookies", | |
| 778 "Options_BlockAllCookies" | |
| 779 }; | |
| 780 if (cookie_policy < 0 || | |
| 781 static_cast<size_t>(cookie_policy) >= arraysize(kUserMetrics)) { | |
| 782 NOTREACHED(); | |
| 783 return; | |
| 784 } | |
| 785 privacy_section->UserMetricsRecordAction( | |
| 786 kUserMetrics[cookie_policy], privacy_section->profile()->GetPrefs()); | |
| 787 privacy_section->cookie_behavior_.SetValue(cookie_policy); | |
| 788 } | 769 } |
| 789 | 770 |
| 790 // static | 771 // static |
| 791 void PrivacySection::OnShowCookiesButtonClicked( | 772 void PrivacySection::OnShowCookiesButtonClicked( |
| 792 GtkButton *button, PrivacySection* privacy_section) { | 773 GtkButton *button, PrivacySection* privacy_section) { |
| 793 privacy_section->UserMetricsRecordAction("Options_ShowCookies", NULL); | 774 privacy_section->UserMetricsRecordAction("Options_ShowCookies", NULL); |
| 794 CookiesView::Show(privacy_section->profile(), | 775 CookiesView::Show(privacy_section->profile(), |
| 795 new BrowsingDataLocalStorageHelper( | 776 new BrowsingDataLocalStorageHelper( |
| 796 privacy_section->profile())); | 777 privacy_section->profile())); |
| 797 } | 778 } |
| (...skipping 20 matching lines...) Expand all Loading... |
| 818 GTK_TOGGLE_BUTTON(enable_safe_browsing_checkbox_), | 799 GTK_TOGGLE_BUTTON(enable_safe_browsing_checkbox_), |
| 819 safe_browsing_.GetValue()); | 800 safe_browsing_.GetValue()); |
| 820 } | 801 } |
| 821 #if defined(GOOGLE_CHROME_BUILD) | 802 #if defined(GOOGLE_CHROME_BUILD) |
| 822 if (!pref_name || *pref_name == prefs::kMetricsReportingEnabled) { | 803 if (!pref_name || *pref_name == prefs::kMetricsReportingEnabled) { |
| 823 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(reporting_enabled_checkbox_), | 804 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(reporting_enabled_checkbox_), |
| 824 enable_metrics_recording_.GetValue()); | 805 enable_metrics_recording_.GetValue()); |
| 825 ResolveMetricsReportingEnabled(); | 806 ResolveMetricsReportingEnabled(); |
| 826 } | 807 } |
| 827 #endif | 808 #endif |
| 828 if (!pref_name || *pref_name == prefs::kCookieBehavior) { | |
| 829 gtk_combo_box_set_active( | |
| 830 GTK_COMBO_BOX(cookie_behavior_combobox_), | |
| 831 net::CookiePolicy::FromInt(cookie_behavior_.GetValue())); | |
| 832 } | |
| 833 pref_changing_ = false; | 809 pref_changing_ = false; |
| 834 } | 810 } |
| 835 | 811 |
| 836 void PrivacySection::ResolveMetricsReportingEnabled() { | 812 void PrivacySection::ResolveMetricsReportingEnabled() { |
| 837 #if defined(GOOGLE_CHROME_BUILD) | 813 #if defined(GOOGLE_CHROME_BUILD) |
| 838 bool enabled = gtk_toggle_button_get_active( | 814 bool enabled = gtk_toggle_button_get_active( |
| 839 GTK_TOGGLE_BUTTON(reporting_enabled_checkbox_)); | 815 GTK_TOGGLE_BUTTON(reporting_enabled_checkbox_)); |
| 840 | 816 |
| 841 enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled); | 817 enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled); |
| 842 | 818 |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1154 l10n_util::GetStringUTF8(IDS_OPTIONS_ADVANCED_SECTION_TITLE_CONTENT), | 1130 l10n_util::GetStringUTF8(IDS_OPTIONS_ADVANCED_SECTION_TITLE_CONTENT), |
| 1155 web_content_section_->get_page_widget(), false); | 1131 web_content_section_->get_page_widget(), false); |
| 1156 | 1132 |
| 1157 security_section_.reset(new SecuritySection(profile_)); | 1133 security_section_.reset(new SecuritySection(profile_)); |
| 1158 options_builder.AddOptionGroup( | 1134 options_builder.AddOptionGroup( |
| 1159 l10n_util::GetStringUTF8(IDS_OPTIONS_ADVANCED_SECTION_TITLE_SECURITY), | 1135 l10n_util::GetStringUTF8(IDS_OPTIONS_ADVANCED_SECTION_TITLE_SECURITY), |
| 1160 security_section_->get_page_widget(), false); | 1136 security_section_->get_page_widget(), false); |
| 1161 | 1137 |
| 1162 page_ = options_builder.get_page_widget(); | 1138 page_ = options_builder.get_page_widget(); |
| 1163 } | 1139 } |
| OLD | NEW |