| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/webui/options/advanced_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/advanced_options_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 | 197 |
| 198 void AdvancedOptionsHandler::Initialize() { | 198 void AdvancedOptionsHandler::Initialize() { |
| 199 DCHECK(web_ui_); | 199 DCHECK(web_ui_); |
| 200 SetupMetricsReportingCheckbox(); | 200 SetupMetricsReportingCheckbox(); |
| 201 SetupMetricsReportingSettingVisibility(); | 201 SetupMetricsReportingSettingVisibility(); |
| 202 SetupFontSizeLabel(); | 202 SetupFontSizeLabel(); |
| 203 SetupDownloadLocationPath(); | 203 SetupDownloadLocationPath(); |
| 204 SetupPromptForDownload(); | 204 SetupPromptForDownload(); |
| 205 SetupAutoOpenFileTypesDisabledAttribute(); | 205 SetupAutoOpenFileTypesDisabledAttribute(); |
| 206 SetupProxySettingsSection(); | 206 SetupProxySettingsSection(); |
| 207 SetupSSLConfigSettings(); |
| 207 #if !defined(OS_CHROMEOS) | 208 #if !defined(OS_CHROMEOS) |
| 208 if (cloud_print_proxy_ui_enabled_) { | 209 if (cloud_print_proxy_ui_enabled_) { |
| 209 SetupCloudPrintProxySection(); | 210 SetupCloudPrintProxySection(); |
| 210 RefreshCloudPrintStatusFromService(); | 211 RefreshCloudPrintStatusFromService(); |
| 211 } else { | 212 } else { |
| 212 RemoveCloudPrintProxySection(); | 213 RemoveCloudPrintProxySection(); |
| 213 } | 214 } |
| 214 #endif | 215 #endif |
| 215 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 216 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
| 216 SetupBackgroundModeSettings(); | 217 SetupBackgroundModeSettings(); |
| 217 #endif | 218 #endif |
| 218 | 219 |
| 219 } | 220 } |
| 220 | 221 |
| 221 WebUIMessageHandler* AdvancedOptionsHandler::Attach(WebUI* web_ui) { | 222 WebUIMessageHandler* AdvancedOptionsHandler::Attach(WebUI* web_ui) { |
| 222 // Call through to superclass. | 223 // Call through to superclass. |
| 223 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui); | 224 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui); |
| 224 | 225 |
| 225 // Register for preferences that we need to observe manually. These have | 226 // Register for preferences that we need to observe manually. These have |
| 226 // special behaviors that aren't handled by the standard prefs UI. | 227 // special behaviors that aren't handled by the standard prefs UI. |
| 227 DCHECK(web_ui_); | 228 DCHECK(web_ui_); |
| 228 PrefService* prefs = Profile::FromWebUI(web_ui_)->GetPrefs(); | 229 PrefService* prefs = Profile::FromWebUI(web_ui_)->GetPrefs(); |
| 229 #if !defined(OS_CHROMEOS) | 230 #if !defined(OS_CHROMEOS) |
| 230 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, | 231 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, |
| 231 g_browser_process->local_state(), this); | 232 g_browser_process->local_state(), this); |
| 232 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); | 233 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); |
| 233 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); | 234 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); |
| 234 #endif | 235 #endif |
| 235 | 236 |
| 237 rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled, |
| 238 g_browser_process->local_state(), this); |
| 239 ssl3_enabled_.Init(prefs::kSSL3Enabled, g_browser_process->local_state(), |
| 240 this); |
| 241 tls1_enabled_.Init(prefs::kTLS1Enabled, g_browser_process->local_state(), |
| 242 this); |
| 243 |
| 236 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 244 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
| 237 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, | 245 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, |
| 238 g_browser_process->local_state(), | 246 g_browser_process->local_state(), |
| 239 this); | 247 this); |
| 240 #endif | 248 #endif |
| 241 | 249 |
| 242 default_download_location_.Init(prefs::kDownloadDefaultDirectory, | 250 default_download_location_.Init(prefs::kDownloadDefaultDirectory, |
| 243 prefs, this); | 251 prefs, this); |
| 244 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this); | 252 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this); |
| 245 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs, | 253 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs, |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 286 NewCallback(this, | 294 NewCallback(this, |
| 287 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog)); | 295 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog)); |
| 288 web_ui_->RegisterMessageCallback("disableCloudPrintProxy", | 296 web_ui_->RegisterMessageCallback("disableCloudPrintProxy", |
| 289 NewCallback(this, | 297 NewCallback(this, |
| 290 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy)); | 298 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy)); |
| 291 } | 299 } |
| 292 web_ui_->RegisterMessageCallback("showNetworkProxySettings", | 300 web_ui_->RegisterMessageCallback("showNetworkProxySettings", |
| 293 NewCallback(this, | 301 NewCallback(this, |
| 294 &AdvancedOptionsHandler::ShowNetworkProxySettings)); | 302 &AdvancedOptionsHandler::ShowNetworkProxySettings)); |
| 295 #endif | 303 #endif |
| 304 web_ui_->RegisterMessageCallback("checkRevocationCheckboxAction", |
| 305 NewCallback(this, |
| 306 &AdvancedOptionsHandler::HandleCheckRevocationCheckbox)); |
| 307 web_ui_->RegisterMessageCallback("useSSL3CheckboxAction", |
| 308 NewCallback(this, |
| 309 &AdvancedOptionsHandler::HandleUseSSL3Checkbox)); |
| 310 web_ui_->RegisterMessageCallback("useTLS1CheckboxAction", |
| 311 NewCallback(this, |
| 312 &AdvancedOptionsHandler::HandleUseTLS1Checkbox)); |
| 296 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 313 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
| 297 web_ui_->RegisterMessageCallback("backgroundModeAction", | 314 web_ui_->RegisterMessageCallback("backgroundModeAction", |
| 298 NewCallback(this, | 315 NewCallback(this, |
| 299 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox)); | 316 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox)); |
| 300 #endif | 317 #endif |
| 301 } | 318 } |
| 302 | 319 |
| 303 void AdvancedOptionsHandler::Observe(int type, | 320 void AdvancedOptionsHandler::Observe(int type, |
| 304 const NotificationSource& source, | 321 const NotificationSource& source, |
| 305 const NotificationDetails& details) { | 322 const NotificationDetails& details) { |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 388 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) { | 405 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) { |
| 389 int font_size; | 406 int font_size; |
| 390 if (ExtractIntegerValue(args, &font_size)) { | 407 if (ExtractIntegerValue(args, &font_size)) { |
| 391 if (font_size > 0) { | 408 if (font_size > 0) { |
| 392 default_font_size_.SetValue(font_size); | 409 default_font_size_.SetValue(font_size); |
| 393 SetupFontSizeLabel(); | 410 SetupFontSizeLabel(); |
| 394 } | 411 } |
| 395 } | 412 } |
| 396 } | 413 } |
| 397 | 414 |
| 415 void AdvancedOptionsHandler::HandleCheckRevocationCheckbox( |
| 416 const ListValue* args) { |
| 417 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
| 418 bool enabled = checked_str == "true"; |
| 419 UserMetrics::RecordAction( |
| 420 enabled ? |
| 421 UserMetricsAction("Options_CheckCertRevocation_Enable") : |
| 422 UserMetricsAction("Options_CheckCertRevocation_Disable")); |
| 423 rev_checking_enabled_.SetValue(enabled); |
| 424 } |
| 425 |
| 426 void AdvancedOptionsHandler::HandleUseSSL3Checkbox(const ListValue* args) { |
| 427 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
| 428 bool enabled = checked_str == "true"; |
| 429 UserMetrics::RecordAction( |
| 430 enabled ? |
| 431 UserMetricsAction("Options_SSL3_Enable") : |
| 432 UserMetricsAction("Options_SSL3_Disable")); |
| 433 ssl3_enabled_.SetValue(enabled); |
| 434 } |
| 435 |
| 436 void AdvancedOptionsHandler::HandleUseTLS1Checkbox(const ListValue* args) { |
| 437 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
| 438 bool enabled = checked_str == "true"; |
| 439 UserMetrics::RecordAction( |
| 440 enabled ? |
| 441 UserMetricsAction("Options_TLS1_Enable") : |
| 442 UserMetricsAction("Options_TLS1_Disable")); |
| 443 tls1_enabled_.SetValue(enabled); |
| 444 } |
| 445 |
| 398 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 446 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
| 399 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox( | 447 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox( |
| 400 const ListValue* args) { | 448 const ListValue* args) { |
| 401 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | 449 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
| 402 bool enabled = checked_str == "true"; | 450 bool enabled = checked_str == "true"; |
| 403 UserMetrics::RecordAction(enabled ? | 451 UserMetrics::RecordAction(enabled ? |
| 404 UserMetricsAction("Options_BackgroundMode_Enable") : | 452 UserMetricsAction("Options_BackgroundMode_Enable") : |
| 405 UserMetricsAction("Options_BackgroundMode_Disable")); | 453 UserMetricsAction("Options_BackgroundMode_Disable")); |
| 406 background_mode_enabled_.SetValue(enabled); | 454 background_mode_enabled_.SetValue(enabled); |
| 407 } | 455 } |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 584 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); | 632 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); |
| 585 } else { | 633 } else { |
| 586 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, | 634 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, |
| 587 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); | 635 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); |
| 588 } | 636 } |
| 589 StringValue label(label_str); | 637 StringValue label(label_str); |
| 590 | 638 |
| 591 web_ui_->CallJavascriptFunction( | 639 web_ui_->CallJavascriptFunction( |
| 592 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); | 640 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); |
| 593 } | 641 } |
| 642 |
| 643 void AdvancedOptionsHandler::SetupSSLConfigSettings() { |
| 644 { |
| 645 base::FundamentalValue checked(rev_checking_enabled_.GetValue()); |
| 646 base::FundamentalValue disabled(rev_checking_enabled_.IsManaged()); |
| 647 web_ui_->CallJavascriptFunction( |
| 648 "options.AdvancedOptions.SetCheckRevocationCheckboxState", checked, |
| 649 disabled); |
| 650 } |
| 651 { |
| 652 base::FundamentalValue checked(ssl3_enabled_.GetValue()); |
| 653 base::FundamentalValue disabled(ssl3_enabled_.IsManaged()); |
| 654 web_ui_->CallJavascriptFunction( |
| 655 "options.AdvancedOptions.SetUseSSL3CheckboxState", checked, disabled); |
| 656 } |
| 657 { |
| 658 base::FundamentalValue checked(tls1_enabled_.GetValue()); |
| 659 base::FundamentalValue disabled(tls1_enabled_.IsManaged()); |
| 660 web_ui_->CallJavascriptFunction( |
| 661 "options.AdvancedOptions.SetUseTLS1CheckboxState", checked, disabled); |
| 662 } |
| 663 } |
| OLD | NEW |