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

Side by Side Diff: chrome/browser/ui/webui/options/advanced_options_handler.cc

Issue 7554008: Removal of Profile from content part 6. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Profile helper function, rebase Created 9 years, 4 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 218
219 } 219 }
220 220
221 WebUIMessageHandler* AdvancedOptionsHandler::Attach(WebUI* web_ui) { 221 WebUIMessageHandler* AdvancedOptionsHandler::Attach(WebUI* web_ui) {
222 // Call through to superclass. 222 // Call through to superclass.
223 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui); 223 WebUIMessageHandler* handler = OptionsPageUIHandler::Attach(web_ui);
224 224
225 // Register for preferences that we need to observe manually. These have 225 // Register for preferences that we need to observe manually. These have
226 // special behaviors that aren't handled by the standard prefs UI. 226 // special behaviors that aren't handled by the standard prefs UI.
227 DCHECK(web_ui_); 227 DCHECK(web_ui_);
228 PrefService* prefs = web_ui_->GetProfile()->GetPrefs(); 228 PrefService* prefs = Profile::FromWebUI(web_ui_)->GetPrefs();
229 #if !defined(OS_CHROMEOS) 229 #if !defined(OS_CHROMEOS)
230 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled, 230 enable_metrics_recording_.Init(prefs::kMetricsReportingEnabled,
231 g_browser_process->local_state(), this); 231 g_browser_process->local_state(), this);
232 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this); 232 cloud_print_proxy_email_.Init(prefs::kCloudPrintEmail, prefs, this);
233 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this); 233 cloud_print_proxy_enabled_.Init(prefs::kCloudPrintProxyEnabled, prefs, this);
234 #endif 234 #endif
235 235
236 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 236 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
237 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled, 237 background_mode_enabled_.Init(prefs::kBackgroundModeEnabled,
238 g_browser_process->local_state(), 238 g_browser_process->local_state(),
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS) 325 #if !defined(OS_MACOSX) && !defined(OS_CHROMEOS)
326 } else if (*pref_name == prefs::kBackgroundModeEnabled) { 326 } else if (*pref_name == prefs::kBackgroundModeEnabled) {
327 SetupBackgroundModeSettings(); 327 SetupBackgroundModeSettings();
328 #endif 328 #endif
329 } 329 }
330 } 330 }
331 } 331 }
332 332
333 void AdvancedOptionsHandler::HandleSelectDownloadLocation( 333 void AdvancedOptionsHandler::HandleSelectDownloadLocation(
334 const ListValue* args) { 334 const ListValue* args) {
335 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs(); 335 PrefService* pref_service = Profile::FromWebUI(web_ui_)->GetPrefs();
336 select_folder_dialog_ = SelectFileDialog::Create(this); 336 select_folder_dialog_ = SelectFileDialog::Create(this);
337 select_folder_dialog_->SelectFile( 337 select_folder_dialog_->SelectFile(
338 SelectFileDialog::SELECT_FOLDER, 338 SelectFileDialog::SELECT_FOLDER,
339 l10n_util::GetStringUTF16(IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE), 339 l10n_util::GetStringUTF16(IDS_OPTIONS_DOWNLOADLOCATION_BROWSE_TITLE),
340 pref_service->GetFilePath(prefs::kDownloadDefaultDirectory), 340 pref_service->GetFilePath(prefs::kDownloadDefaultDirectory),
341 NULL, 0, FILE_PATH_LITERAL(""), web_ui_->tab_contents(), 341 NULL, 0, FILE_PATH_LITERAL(""), web_ui_->tab_contents(),
342 web_ui_->tab_contents()->view()->GetTopLevelNativeWindow(), NULL); 342 web_ui_->tab_contents()->view()->GetTopLevelNativeWindow(), NULL);
343 } 343 }
344 344
345 void AdvancedOptionsHandler::HandlePromptForDownload( 345 void AdvancedOptionsHandler::HandlePromptForDownload(
(...skipping 11 matching lines...) Expand all
357 357
358 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() { 358 void AdvancedOptionsHandler::OnCloudPrintSetupClosed() {
359 #if !defined(OS_CHROMEOS) 359 #if !defined(OS_CHROMEOS)
360 if (cloud_print_proxy_ui_enabled_) 360 if (cloud_print_proxy_ui_enabled_)
361 SetupCloudPrintProxySection(); 361 SetupCloudPrintProxySection();
362 #endif 362 #endif
363 } 363 }
364 364
365 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) { 365 void AdvancedOptionsHandler::HandleAutoOpenButton(const ListValue* args) {
366 UserMetrics::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles")); 366 UserMetrics::RecordAction(UserMetricsAction("Options_ResetAutoOpenFiles"));
367 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager(); 367 DownloadManager* manager =
368 web_ui_->tab_contents()->browser_context()->GetDownloadManager();
368 if (manager) 369 if (manager)
369 manager->download_prefs()->ResetAutoOpen(); 370 manager->download_prefs()->ResetAutoOpen();
370 } 371 }
371 372
372 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox( 373 void AdvancedOptionsHandler::HandleMetricsReportingCheckbox(
373 const ListValue* args) { 374 const ListValue* args) {
374 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS) 375 #if defined(GOOGLE_CHROME_BUILD) && !defined(OS_CHROMEOS)
375 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args)); 376 std::string checked_str = UTF16ToUTF8(ExtractStringValue(args));
376 bool enabled = checked_str == "true"; 377 bool enabled = checked_str == "true";
377 UserMetrics::RecordAction( 378 UserMetrics::RecordAction(
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
422 #if !defined(USE_NSS) && !defined(USE_OPENSSL) 423 #if !defined(USE_NSS) && !defined(USE_OPENSSL)
423 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) { 424 void AdvancedOptionsHandler::ShowManageSSLCertificates(const ListValue* args) {
424 UserMetrics::RecordAction(UserMetricsAction("Options_ManageSSLCertificates")); 425 UserMetrics::RecordAction(UserMetricsAction("Options_ManageSSLCertificates"));
425 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents()); 426 AdvancedOptionsUtilities::ShowManageSSLCertificates(web_ui_->tab_contents());
426 } 427 }
427 #endif 428 #endif
428 429
429 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) { 430 void AdvancedOptionsHandler::ShowCloudPrintManagePage(const ListValue* args) {
430 UserMetrics::RecordAction(UserMetricsAction("Options_ManageCloudPrinters")); 431 UserMetrics::RecordAction(UserMetricsAction("Options_ManageCloudPrinters"));
431 // Open a new tab in the current window for the management page. 432 // Open a new tab in the current window for the management page.
433 Profile* profile = Profile::FromWebUI(web_ui_);
432 web_ui_->tab_contents()->OpenURL( 434 web_ui_->tab_contents()->OpenURL(
433 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceManageURL(), 435 CloudPrintURL(profile).GetCloudPrintServiceManageURL(),
434 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK); 436 GURL(), NEW_FOREGROUND_TAB, PageTransition::LINK);
435 } 437 }
436 438
437 #if !defined(OS_CHROMEOS) 439 #if !defined(OS_CHROMEOS)
438 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) { 440 void AdvancedOptionsHandler::ShowCloudPrintSetupDialog(const ListValue* args) {
439 UserMetrics::RecordAction(UserMetricsAction("Options_EnableCloudPrintProxy")); 441 UserMetrics::RecordAction(UserMetricsAction("Options_EnableCloudPrintProxy"));
440 // Open the connector enable page in the current tab. 442 // Open the connector enable page in the current tab.
443 Profile* profile = Profile::FromWebUI(web_ui_);
441 web_ui_->tab_contents()->OpenURL( 444 web_ui_->tab_contents()->OpenURL(
442 CloudPrintURL(web_ui_->GetProfile()).GetCloudPrintServiceEnableURL( 445 CloudPrintURL(profile).GetCloudPrintServiceEnableURL(
443 CloudPrintProxyServiceFactory::GetForProfile( 446 CloudPrintProxyServiceFactory::GetForProfile(profile)->proxy_id()),
444 web_ui_->GetProfile())->proxy_id()),
445 GURL(), CURRENT_TAB, PageTransition::LINK); 447 GURL(), CURRENT_TAB, PageTransition::LINK);
446 } 448 }
447 449
448 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy( 450 void AdvancedOptionsHandler::HandleDisableCloudPrintProxy(
449 const ListValue* args) { 451 const ListValue* args) {
450 UserMetrics::RecordAction( 452 UserMetrics::RecordAction(
451 UserMetricsAction("Options_DisableCloudPrintProxy")); 453 UserMetricsAction("Options_DisableCloudPrintProxy"));
452 CloudPrintProxyServiceFactory::GetForProfile(web_ui_->GetProfile())-> 454 CloudPrintProxyServiceFactory::GetForProfile(Profile::FromWebUI(web_ui_))->
453 DisableForUser(); 455 DisableForUser();
454 } 456 }
455 457
456 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() { 458 void AdvancedOptionsHandler::RefreshCloudPrintStatusFromService() {
457 DCHECK(web_ui_); 459 DCHECK(web_ui_);
458 if (cloud_print_proxy_ui_enabled_) 460 if (cloud_print_proxy_ui_enabled_)
459 CloudPrintProxyServiceFactory::GetForProfile(web_ui_->GetProfile())-> 461 CloudPrintProxyServiceFactory::GetForProfile(Profile::FromWebUI(web_ui_))->
460 RefreshStatusFromService(); 462 RefreshStatusFromService();
461 } 463 }
462 464
463 void AdvancedOptionsHandler::SetupCloudPrintProxySection() { 465 void AdvancedOptionsHandler::SetupCloudPrintProxySection() {
464 if (!CloudPrintProxyServiceFactory::GetForProfile(web_ui_->GetProfile())) { 466 Profile* profile = Profile::FromWebUI(web_ui_);
467 if (!CloudPrintProxyServiceFactory::GetForProfile(profile)) {
465 cloud_print_proxy_ui_enabled_ = false; 468 cloud_print_proxy_ui_enabled_ = false;
466 RemoveCloudPrintProxySection(); 469 RemoveCloudPrintProxySection();
467 return; 470 return;
468 } 471 }
469 472
470 bool cloud_print_proxy_allowed = 473 bool cloud_print_proxy_allowed =
471 !cloud_print_proxy_enabled_.IsManaged() || 474 !cloud_print_proxy_enabled_.IsManaged() ||
472 cloud_print_proxy_enabled_.GetValue(); 475 cloud_print_proxy_enabled_.GetValue();
473 FundamentalValue allowed(cloud_print_proxy_allowed); 476 FundamentalValue allowed(cloud_print_proxy_allowed);
474 477
475 std::string email; 478 std::string email;
476 if (web_ui_->GetProfile()->GetPrefs()->HasPrefPath(prefs::kCloudPrintEmail) && 479 if (profile->GetPrefs()->HasPrefPath(prefs::kCloudPrintEmail) &&
477 cloud_print_proxy_allowed) { 480 cloud_print_proxy_allowed) {
478 email = web_ui_->GetProfile()->GetPrefs()->GetString( 481 email = profile->GetPrefs()->GetString(prefs::kCloudPrintEmail);
479 prefs::kCloudPrintEmail);
480 } 482 }
481 FundamentalValue disabled(email.empty()); 483 FundamentalValue disabled(email.empty());
482 484
483 string16 label_str; 485 string16 label_str;
484 if (email.empty()) { 486 if (email.empty()) {
485 label_str = l10n_util::GetStringUTF16( 487 label_str = l10n_util::GetStringUTF16(
486 IDS_OPTIONS_CLOUD_PRINT_PROXY_DISABLED_LABEL); 488 IDS_OPTIONS_CLOUD_PRINT_PROXY_DISABLED_LABEL);
487 } else { 489 } else {
488 label_str = l10n_util::GetStringFUTF16( 490 label_str = l10n_util::GetStringFUTF16(
489 IDS_OPTIONS_CLOUD_PRINT_PROXY_ENABLED_LABEL, UTF8ToUTF16(email)); 491 IDS_OPTIONS_CLOUD_PRINT_PROXY_ENABLED_LABEL, UTF8ToUTF16(email));
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
549 // be changed. 551 // be changed.
550 FundamentalValue disabled(default_download_location_.IsManaged() || 552 FundamentalValue disabled(default_download_location_.IsManaged() ||
551 !allow_file_selection_dialogs_.GetValue()); 553 !allow_file_selection_dialogs_.GetValue());
552 web_ui_->CallJavascriptFunction( 554 web_ui_->CallJavascriptFunction(
553 "options.AdvancedOptions.SetPromptForDownload", checked, disabled); 555 "options.AdvancedOptions.SetPromptForDownload", checked, disabled);
554 } 556 }
555 557
556 void AdvancedOptionsHandler::SetupAutoOpenFileTypesDisabledAttribute() { 558 void AdvancedOptionsHandler::SetupAutoOpenFileTypesDisabledAttribute() {
557 // Set the enabled state for the AutoOpenFileTypesResetToDefault button. 559 // Set the enabled state for the AutoOpenFileTypesResetToDefault button.
558 // We enable the button if the user has any auto-open file types registered. 560 // We enable the button if the user has any auto-open file types registered.
559 DownloadManager* manager = web_ui_->GetProfile()->GetDownloadManager(); 561 DownloadManager* manager =
562 web_ui_->tab_contents()->browser_context()->GetDownloadManager();
560 bool disabled = !(manager && manager->download_prefs()->IsAutoOpenUsed()); 563 bool disabled = !(manager && manager->download_prefs()->IsAutoOpenUsed());
561 FundamentalValue value(disabled); 564 FundamentalValue value(disabled);
562 web_ui_->CallJavascriptFunction( 565 web_ui_->CallJavascriptFunction(
563 "options.AdvancedOptions.SetAutoOpenFileTypesDisabledAttribute", value); 566 "options.AdvancedOptions.SetAutoOpenFileTypesDisabledAttribute", value);
564 } 567 }
565 568
566 void AdvancedOptionsHandler::SetupProxySettingsSection() { 569 void AdvancedOptionsHandler::SetupProxySettingsSection() {
567 // Disable the button if proxy settings are managed by a sysadmin or 570 // Disable the button if proxy settings are managed by a sysadmin or
568 // overridden by an extension. 571 // overridden by an extension.
569 PrefService* pref_service = web_ui_->GetProfile()->GetPrefs(); 572 PrefService* pref_service = Profile::FromWebUI(web_ui_)->GetPrefs();
570 const PrefService::Preference* proxy_config = 573 const PrefService::Preference* proxy_config =
571 pref_service->FindPreference(prefs::kProxy); 574 pref_service->FindPreference(prefs::kProxy);
572 bool is_extension_controlled = (proxy_config && 575 bool is_extension_controlled = (proxy_config &&
573 proxy_config->IsExtensionControlled()); 576 proxy_config->IsExtensionControlled());
574 577
575 FundamentalValue disabled(proxy_prefs_->IsManaged() || 578 FundamentalValue disabled(proxy_prefs_->IsManaged() ||
576 is_extension_controlled); 579 is_extension_controlled);
577 580
578 // Get the appropriate info string to describe the button. 581 // Get the appropriate info string to describe the button.
579 string16 label_str; 582 string16 label_str;
580 if (is_extension_controlled) { 583 if (is_extension_controlled) {
581 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL); 584 label_str = l10n_util::GetStringUTF16(IDS_OPTIONS_EXTENSION_PROXIES_LABEL);
582 } else { 585 } else {
583 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL, 586 label_str = l10n_util::GetStringFUTF16(IDS_OPTIONS_SYSTEM_PROXIES_LABEL,
584 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); 587 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
585 } 588 }
586 StringValue label(label_str); 589 StringValue label(label_str);
587 590
588 web_ui_->CallJavascriptFunction( 591 web_ui_->CallJavascriptFunction(
589 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label); 592 "options.AdvancedOptions.SetupProxySettingsSection", disabled, label);
590 } 593 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/ntp/shown_sections_handler.cc ('k') | chrome/browser/ui/webui/options/autofill_options_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698