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 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
182 | 182 |
183 void AdvancedOptionsHandler::Initialize() { | 183 void AdvancedOptionsHandler::Initialize() { |
184 DCHECK(web_ui_); | 184 DCHECK(web_ui_); |
185 SetupMetricsReportingCheckbox(); | 185 SetupMetricsReportingCheckbox(); |
186 SetupMetricsReportingSettingVisibility(); | 186 SetupMetricsReportingSettingVisibility(); |
187 SetupFontSizeLabel(); | 187 SetupFontSizeLabel(); |
188 SetupDownloadLocationPath(); | 188 SetupDownloadLocationPath(); |
189 SetupPromptForDownload(); | 189 SetupPromptForDownload(); |
190 SetupAutoOpenFileTypesDisabledAttribute(); | 190 SetupAutoOpenFileTypesDisabledAttribute(); |
191 SetupProxySettingsSection(); | 191 SetupProxySettingsSection(); |
192 SetupSSLConfigSettings(); | |
193 #if !defined(OS_CHROMEOS) | 192 #if !defined(OS_CHROMEOS) |
194 if (cloud_print_proxy_ui_enabled_) { | 193 if (cloud_print_proxy_ui_enabled_) { |
195 SetupCloudPrintProxySection(); | 194 SetupCloudPrintProxySection(); |
196 RefreshCloudPrintStatusFromService(); | 195 RefreshCloudPrintStatusFromService(); |
197 } else { | 196 } else { |
198 RemoveCloudPrintProxySection(); | 197 RemoveCloudPrintProxySection(); |
199 } | 198 } |
200 #endif | 199 #endif |
201 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 200 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
202 SetupBackgroundModeSettings(); | 201 SetupBackgroundModeSettings(); |
(...skipping 13 matching lines...) Expand all Loading... |
216 // special behaviors that aren't handled by the standard prefs UI. | 215 // special behaviors that aren't handled by the standard prefs UI. |
217 DCHECK(web_ui_); | 216 DCHECK(web_ui_); |
218 PrefService* prefs = web_ui_->GetProfile()->GetPrefs(); | 217 PrefService* prefs = web_ui_->GetProfile()->GetPrefs(); |
219 #if !defined(OS_CHROMEOS) | 218 #if !defined(OS_CHROMEOS) |
220 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, | 219 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, |
221 g_browser_process->local_state(), this); | 220 g_browser_process->local_state(), this); |
222 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); | 221 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); |
223 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); | 222 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); |
224 #endif | 223 #endif |
225 | 224 |
226 rev_checking_enabled_.Init(prefs::kCertRevocationCheckingEnabled, | |
227 g_browser_process->local_state(), this); | |
228 ssl3_enabled_.Init(prefs::kSSL3Enabled, g_browser_process->local_state(), | |
229 this); | |
230 tls1_enabled_.Init(prefs::kTLS1Enabled, g_browser_process->local_state(), | |
231 this); | |
232 | |
233 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 225 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
234 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, | 226 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, |
235 g_browser_process->local_state(), | 227 g_browser_process->local_state(), |
236 this); | 228 this); |
237 #endif | 229 #endif |
238 | 230 |
239 default_download_location_.Init(prefs::kDownloadDefaultDirectory, | 231 default_download_location_.Init(prefs::kDownloadDefaultDirectory, |
240 prefs, this); | 232 prefs, this); |
241 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this); | 233 ask_for_save_location_.Init(prefs::kPromptForDownload, prefs, this); |
242 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs, | 234 allow_file_selection_dialogs_.Init(prefs::kAllowFileSelectionDialogs, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 NewCallback(this, | 275 NewCallback(this, |
284 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog)); | 276 &AdvancedOptionsHandler::ShowCloudPrintSetupDialog)); |
285 web_ui_->RegisterMessageCallback("disableCloudPrintProxy", | 277 web_ui_->RegisterMessageCallback("disableCloudPrintProxy", |
286 NewCallback(this, | 278 NewCallback(this, |
287 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy)); | 279 &AdvancedOptionsHandler::HandleDisableCloudPrintProxy)); |
288 } | 280 } |
289 web_ui_->RegisterMessageCallback("showNetworkProxySettings", | 281 web_ui_->RegisterMessageCallback("showNetworkProxySettings", |
290 NewCallback(this, | 282 NewCallback(this, |
291 &AdvancedOptionsHandler::ShowNetworkProxySettings)); | 283 &AdvancedOptionsHandler::ShowNetworkProxySettings)); |
292 #endif | 284 #endif |
293 web_ui_->RegisterMessageCallback("checkRevocationCheckboxAction", | |
294 NewCallback(this, | |
295 &AdvancedOptionsHandler::HandleCheckRevocationCheckbox)); | |
296 web_ui_->RegisterMessageCallback("useSSL3CheckboxAction", | |
297 NewCallback(this, | |
298 &AdvancedOptionsHandler::HandleUseSSL3Checkbox)); | |
299 web_ui_->RegisterMessageCallback("useTLS1CheckboxAction", | |
300 NewCallback(this, | |
301 &AdvancedOptionsHandler::HandleUseTLS1Checkbox)); | |
302 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 285 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
303 web_ui_->RegisterMessageCallback("backgroundModeAction", | 286 web_ui_->RegisterMessageCallback("backgroundModeAction", |
304 NewCallback(this, | 287 NewCallback(this, |
305 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox)); | 288 &AdvancedOptionsHandler::HandleBackgroundModeCheckbox)); |
306 #endif | 289 #endif |
307 } | 290 } |
308 | 291 |
309 void AdvancedOptionsHandler::Observe(NotificationType type, | 292 void AdvancedOptionsHandler::Observe(NotificationType type, |
310 const NotificationSource& source, | 293 const NotificationSource& source, |
311 const NotificationDetails& details) { | 294 const NotificationDetails& details) { |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
349 } | 332 } |
350 | 333 |
351 void AdvancedOptionsHandler::HandlePromptForDownload( | 334 void AdvancedOptionsHandler::HandlePromptForDownload( |
352 const ListValue* args) { | 335 const ListValue* args) { |
353 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | 336 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
354 ask_for_save_location_.SetValue(checked_str == "true"); | 337 ask_for_save_location_.SetValue(checked_str == "true"); |
355 } | 338 } |
356 | 339 |
357 void AdvancedOptionsHandler::FileSelected(const FilePath& path, int index, | 340 void AdvancedOptionsHandler::FileSelected(const FilePath& path, int index, |
358 void* params) { | 341 void* params) { |
359 UserMetricsRecordAction(UserMetricsAction("Options_SetDownloadDirectory")); | 342 UserMetrics::RecordAction(UserMetricsAction("Options_SetDownloadDirectory")); |
360 default_download_location_.SetValue(path); | 343 default_download_location_.SetValue(path); |
361 SetupDownloadLocationPath(); | 344 SetupDownloadLocationPath(); |
362 } | 345 } |
363 | 346 |
364 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() { | 347 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() { |
365 #if !defined(OS_CHROMEOS) | 348 #if !defined(OS_CHROMEOS) |
366 if (cloud_print_proxy_ui_enabled_) | 349 if (cloud_print_proxy_ui_enabled_) |
367 SetupCloudPrintProxySection(); | 350 SetupCloudPrintProxySection(); |
368 #endif | 351 #endif |
369 } | 352 } |
370 | 353 |
371 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) { | 354 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) { |
372 UserMetricsRecordAction(UserMetricsAction("Options_ResetAutoOpenFiles")); | 355 UserMetrics::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles")); |
373 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager(); | 356 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager(); |
374 if (manager) | 357 if (manager) |
375 manager->download_prefs()->ResetAutoOpen(); | 358 manager->download_prefs()->ResetAutoOpen(); |
376 } | 359 } |
377 | 360 |
378 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox( | 361 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox( |
379 const ListValue* args) { | 362 const ListValue* args) { |
380 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS) | 363 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS) |
381 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | 364 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
382 bool enabled = checked_str == "true"; | 365 bool enabled = checked_str == "true"; |
383 UserMetricsRecordAction( | 366 UserMetrics::RecordAction( |
384 enabled ? | 367 enabled ? |
385 UserMetricsAction("Options_MetricsReportingCheckbox_Enable") : | 368 UserMetricsAction("Options_MetricsReportingCheckbox_Enable") : |
386 UserMetricsAction("Options_MetricsReportingCheckbox_Disable")); | 369 UserMetricsAction("Options_MetricsReportingCheckbox_Disable")); |
387 bool is_enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled); | 370 bool is_enabled = OptionsUtil::ResolveMetricsReportingEnabled(enabled); |
388 enable_metrics_recording_.SetValue(is_enabled); | 371 enable_metrics_recording_.SetValue(is_enabled); |
389 SetupMetricsReportingCheckbox(); | 372 SetupMetricsReportingCheckbox(); |
390 #endif | 373 #endif |
391 } | 374 } |
392 | 375 |
393 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) { | 376 void AdvancedOptionsHandler::HandleDefaultFontSize(const ListValue* args) { |
394 int font_size; | 377 int font_size; |
395 if (ExtractIntegerValue(args, &font_size)) { | 378 if (ExtractIntegerValue(args, &font_size)) { |
396 if (font_size > 0) { | 379 if (font_size > 0) { |
397 default_font_size_.SetValue(font_size); | 380 default_font_size_.SetValue(font_size); |
398 SetupFontSizeLabel(); | 381 SetupFontSizeLabel(); |
399 } | 382 } |
400 } | 383 } |
401 } | 384 } |
402 | 385 |
403 void AdvancedOptionsHandler::HandleCheckRevocationCheckbox( | |
404 const ListValue* args) { | |
405 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | |
406 bool enabled = checked_str == "true"; | |
407 std::string metric = | |
408 (enabled ? "Options_CheckCertRevocation_Enable" | |
409 : "Options_CheckCertRevocation_Disable"); | |
410 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); | |
411 rev_checking_enabled_.SetValue(enabled); | |
412 } | |
413 | |
414 void AdvancedOptionsHandler::HandleUseSSL3Checkbox(const ListValue* args) { | |
415 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | |
416 bool enabled = checked_str == "true"; | |
417 std::string metric = | |
418 (enabled ? "Options_SSL3_Enable" : "Options_SSL3_Disable"); | |
419 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); | |
420 ssl3_enabled_.SetValue(enabled); | |
421 } | |
422 | |
423 void AdvancedOptionsHandler::HandleUseTLS1Checkbox(const ListValue* args) { | |
424 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | |
425 bool enabled = checked_str == "true"; | |
426 std::string metric = | |
427 (enabled ? "Options_TLS1_Enable" : "Options_TLS1_Disable"); | |
428 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); | |
429 tls1_enabled_.SetValue(enabled); | |
430 } | |
431 | |
432 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) | 386 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) |
433 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox( | 387 void AdvancedOptionsHandler::HandleBackgroundModeCheckbox( |
434 const ListValue* args) { | 388 const ListValue* args) { |
435 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); | 389 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); |
436 bool enabled = checked_str == "true"; | 390 bool enabled = checked_str == "true"; |
437 std::string metric = enabled ? "Options_BackgroundMode_Enable" : | 391 if (enabled) { |
438 "Options_BackgroundMode_Disable"; | 392 UserMetrics::RecordAction( |
439 UserMetricsRecordAction(UserMetricsAction(metric.c_str())); | 393 UserMetricsAction("Options_BackgroundMode_Enable")); |
| 394 } else { |
| 395 UserMetrics::RecordAction( |
| 396 UserMetricsAction("Options_BackgroundMode_Disable")); |
| 397 } |
440 background_mode_enabled_.SetValue(enabled); | 398 background_mode_enabled_.SetValue(enabled); |
441 } | 399 } |
442 | 400 |
443 void AdvancedOptionsHandler::SetupBackgroundModeSettings() { | 401 void AdvancedOptionsHandler::SetupBackgroundModeSettings() { |
444 FundamentalValue checked(background_mode_enabled_.GetValue()); | 402 FundamentalValue checked(background_mode_enabled_.GetValue()); |
445 web_ui_->CallJavascriptFunction( | 403 web_ui_->CallJavascriptFunction( |
446 "options.AdvancedOptions.SetBackgroundModeCheckboxState", checked); | 404 "options.AdvancedOptions.SetBackgroundModeCheckboxState", checked); |
447 } | 405 } |
448 #endif | 406 #endif |
449 | 407 |
450 #if !defined(OS_CHROMEOS) | 408 #if !defined(OS_CHROMEOS) |
451 void AdvancedOptionsHandler::ShowNetworkProxySettings(const ListValue* args) { | 409 void AdvancedOptionsHandler::ShowNetworkProxySettings(const ListValue* args) { |
452 UserMetricsRecordAction(UserMetricsAction("Options_ShowProxySettings")); | 410 UserMetrics::RecordAction(UserMetricsAction("Options_ShowProxySettings")); |
453 AdvancedOptionsUtilities::ShowNetworkProxySettings(web_ui_->tab_contents()); | 411 AdvancedOptionsUtilities::ShowNetworkProxySettings(web_ui_->tab_contents()); |
454 } | 412 } |
455 #endif | 413 #endif |
456 | 414 |
457 #if !defined(USE_NSS) && !defined(USE_OPENSSL) | 415 #if !defined(USE_NSS) && !defined(USE_OPENSSL) |
458 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) { | 416 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) { |
459 UserMetricsRecordAction(UserMetricsAction("Options_ManageSSLCertificates")); | 417 UserMetrics::RecordAction(UserMetricsAction("Options_ManageSSLCertificates")); |
460 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents()); | 418 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents()); |
461 } | 419 } |
462 #endif | 420 #endif |
463 | 421 |
464 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) { | 422 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) { |
465 UserMetricsRecordAction(UserMetricsAction("Options_ManageCloudPrinters")); | 423 UserMetrics::RecordAction(UserMetricsAction("Options_ManageCloudPrinters")); |
466 // Open a new tab in the current window for the management page. | 424 // Open a new tab in the current window for the management page. |
467 web_ui_->tab_contents()->OpenURL( | 425 web_ui_->tab_contents()->OpenURL( |
468 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceManageURL(), | 426 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceManageURL(), |
469 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); | 427 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); |
470 } | 428 } |
471 | 429 |
472 #if !defined(OS_CHROMEOS) | 430 #if !defined(OS_CHROMEOS) |
473 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) { | 431 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) { |
474 UserMetricsRecordAction(UserMetricsAction("Options_EnableCloudPrintProxy")); | 432 UserMetrics::RecordAction(UserMetricsAction("Options_EnableCloudPrintProxy")); |
475 cloud_print_setup_handler_.reset(new CloudPrintSetupHandler(this)); | 433 cloud_print_setup_handler_.reset(new CloudPrintSetupHandler(this)); |
476 CloudPrintSetupFlow::OpenDialog( | 434 CloudPrintSetupFlow::OpenDialog( |
477 web_ui_->GetProfile(), cloud_print_setup_handler_->AsWeakPtr(), | 435 web_ui_->GetProfile(), cloud_print_setup_handler_->AsWeakPtr(), |
478 web_ui_->tab_contents()->GetDialogRootWindow()); | 436 web_ui_->tab_contents()->GetDialogRootWindow()); |
479 } | 437 } |
480 | 438 |
481 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy( | 439 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy( |
482 const ListValue* args) { | 440 const ListValue* args) { |
483 UserMetricsRecordAction(UserMetricsAction("Options_DisableCloudPrintProxy")); | 441 UserMetrics::RecordAction( |
| 442 UserMetricsAction("Options_DisableCloudPrintProxy")); |
484 web_ui_->GetProfile()->GetCloudPrintProxyService()->DisableForUser(); | 443 web_ui_->GetProfile()->GetCloudPrintProxyService()->DisableForUser(); |
485 } | 444 } |
486 | 445 |
487 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() { | 446 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() { |
488 DCHECK(web_ui_); | 447 DCHECK(web_ui_); |
489 if (cloud_print_proxy_ui_enabled_) | 448 if (cloud_print_proxy_ui_enabled_) |
490 web_ui_->GetProfile()->GetCloudPrintProxyService()-> | 449 web_ui_->GetProfile()->GetCloudPrintProxyService()-> |
491 RefreshStatusFromService(); | 450 RefreshStatusFromService(); |
492 } | 451 } |
493 | 452 |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
612 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); | 571 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); |
613 } else { | 572 } else { |
614 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, | 573 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, |
615 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); | 574 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); |
616 } | 575 } |
617 StringValue label(label_str); | 576 StringValue label(label_str); |
618 | 577 |
619 web_ui_->CallJavascriptFunction( | 578 web_ui_->CallJavascriptFunction( |
620 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); | 579 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); |
621 } | 580 } |
622 | |
623 void AdvancedOptionsHandler::SetupSSLConfigSettings() { | |
624 { | |
625 FundamentalValue checked(rev_checking_enabled_.GetValue()); | |
626 FundamentalValue disabled(rev_checking_enabled_.IsManaged()); | |
627 web_ui_->CallJavascriptFunction( | |
628 "options.AdvancedOptions.SetCheckRevocationCheckboxState", checked, | |
629 disabled); | |
630 } | |
631 { | |
632 FundamentalValue checked(ssl3_enabled_.GetValue()); | |
633 FundamentalValue disabled(ssl3_enabled_.IsManaged()); | |
634 web_ui_->CallJavascriptFunction( | |
635 "options.AdvancedOptions.SetUseSSL3CheckboxState", checked, disabled); | |
636 } | |
637 { | |
638 FundamentalValue checked(tls1_enabled_.GetValue()); | |
639 FundamentalValue disabled(tls1_enabled_.IsManaged()); | |
640 web_ui_->CallJavascriptFunction( | |
641 "options.AdvancedOptions.SetUseTLS1CheckboxState", checked, disabled); | |
642 } | |
643 } | |
OLD | NEW |