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

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

Issue 12088040: Add a SigninAllowed policy. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Some bugfixes. Created 7 years, 10 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/browser_options_handler.h" 5 #include "chrome/browser/ui/webui/options/browser_options_handler.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 cloud_print_connector_ui_enabled_ = true; 136 cloud_print_connector_ui_enabled_ = true;
137 #endif 137 #endif
138 } 138 }
139 139
140 BrowserOptionsHandler::~BrowserOptionsHandler() { 140 BrowserOptionsHandler::~BrowserOptionsHandler() {
141 ProfileSyncService* sync_service(ProfileSyncServiceFactory:: 141 ProfileSyncService* sync_service(ProfileSyncServiceFactory::
142 GetInstance()->GetForProfile(Profile::FromWebUI(web_ui()))); 142 GetInstance()->GetForProfile(Profile::FromWebUI(web_ui())));
143 if (sync_service) 143 if (sync_service)
144 sync_service->RemoveObserver(this); 144 sync_service->RemoveObserver(this);
145 145
146 SigninManager* signin =
147 SigninManagerFactory::GetInstance()->GetForProfile(
148 Profile::FromWebUI(web_ui()));
149 if (signin)
150 signin->RemoveSigninPrefObserver(this);
151
146 if (default_browser_worker_.get()) 152 if (default_browser_worker_.get())
147 default_browser_worker_->ObserverDestroyed(); 153 default_browser_worker_->ObserverDestroyed();
148 if (template_url_service_) 154 if (template_url_service_)
149 template_url_service_->RemoveObserver(this); 155 template_url_service_->RemoveObserver(this);
150 // There may be pending file dialogs, we need to tell them that we've gone 156 // There may be pending file dialogs, we need to tell them that we've gone
151 // away so they don't try and call back to us. 157 // away so they don't try and call back to us.
152 if (select_folder_dialog_.get()) 158 if (select_folder_dialog_.get())
153 select_folder_dialog_->ListenerDestroyed(); 159 select_folder_dialog_->ListenerDestroyed();
154 } 160 }
155 161
(...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 #endif 575 #endif
570 } 576 }
571 577
572 void BrowserOptionsHandler::OnStateChanged() { 578 void BrowserOptionsHandler::OnStateChanged() {
573 web_ui()->CallJavascriptFunction("BrowserOptions.updateSyncState", 579 web_ui()->CallJavascriptFunction("BrowserOptions.updateSyncState",
574 *GetSyncStateDictionary()); 580 *GetSyncStateDictionary());
575 581
576 SendProfilesInfo(); 582 SendProfilesInfo();
577 } 583 }
578 584
585 void BrowserOptionsHandler::OnSigninAllowedPrefChange(bool signin_allowed) {
586 web_ui()->CallJavascriptFunction("BrowserOptions.updateSyncState",
587 *GetSyncStateDictionary());
588
589 SendProfilesInfo();
590 }
591
579 void BrowserOptionsHandler::PageLoadStarted() { 592 void BrowserOptionsHandler::PageLoadStarted() {
580 page_initialized_ = false; 593 page_initialized_ = false;
581 } 594 }
582 595
583 void BrowserOptionsHandler::InitializeHandler() { 596 void BrowserOptionsHandler::InitializeHandler() {
584 Profile* profile = Profile::FromWebUI(web_ui()); 597 Profile* profile = Profile::FromWebUI(web_ui());
585 PrefService* prefs = profile->GetPrefs(); 598 PrefService* prefs = profile->GetPrefs();
586 599
587 ProfileSyncService* sync_service( 600 ProfileSyncService* sync_service(
588 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); 601 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile));
589 if (sync_service) 602 if (sync_service)
590 sync_service->AddObserver(this); 603 sync_service->AddObserver(this);
591 604
605 SigninManager* signin =
606 SigninManagerFactory::GetInstance()->GetForProfile(profile);
607 if (signin)
608 signin->AddSigninPrefObserver(this);
609
592 // Create our favicon data source. 610 // Create our favicon data source.
593 content::URLDataSource::Add( 611 content::URLDataSource::Add(
594 profile, new FaviconSource(profile, FaviconSource::FAVICON)); 612 profile, new FaviconSource(profile, FaviconSource::FAVICON));
595 613
596 default_browser_policy_.Init( 614 default_browser_policy_.Init(
597 prefs::kDefaultBrowserSettingEnabled, 615 prefs::kDefaultBrowserSettingEnabled,
598 g_browser_process->local_state(), 616 g_browser_process->local_state(),
599 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState, 617 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState,
600 base::Unretained(this))); 618 base::Unretained(this)));
601 619
(...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after
1050 web_ui()->CallJavascriptFunction("BrowserOptions.updateAccountPicture", 1068 web_ui()->CallJavascriptFunction("BrowserOptions.updateAccountPicture",
1051 email_value); 1069 email_value);
1052 } 1070 }
1053 } 1071 }
1054 #endif 1072 #endif
1055 1073
1056 scoped_ptr<DictionaryValue> BrowserOptionsHandler::GetSyncStateDictionary() { 1074 scoped_ptr<DictionaryValue> BrowserOptionsHandler::GetSyncStateDictionary() {
1057 scoped_ptr<DictionaryValue> sync_status(new DictionaryValue); 1075 scoped_ptr<DictionaryValue> sync_status(new DictionaryValue);
1058 ProfileSyncService* service(ProfileSyncServiceFactory:: 1076 ProfileSyncService* service(ProfileSyncServiceFactory::
1059 GetInstance()->GetForProfile(Profile::FromWebUI(web_ui()))); 1077 GetInstance()->GetForProfile(Profile::FromWebUI(web_ui())));
1060 sync_status->SetBoolean("syncSystemEnabled", !!service); 1078 SigninManager* signin = SigninManagerFactory::GetForProfile(
1079 Profile::FromWebUI(web_ui()));
1080 sync_status->SetBoolean("syncSystemEnabled",
1081 !!service && (!signin || signin->IsSigninAllowed()));
Andrew T Wilson (Slow) 2013/02/04 15:41:48 I don't think that signin can be null here so no n
Andrew T Wilson (Slow) 2013/02/05 08:58:53 Also, I'm changing the JS code to not hide the sig
Adrian Kuegel 2013/02/05 10:55:15 Done.
1061 if (!service) 1082 if (!service)
1062 return sync_status.Pass(); 1083 return sync_status.Pass();
1063 1084
1064 sync_status->SetBoolean("setupCompleted", 1085 sync_status->SetBoolean("setupCompleted",
1065 service->HasSyncSetupCompleted()); 1086 service->HasSyncSetupCompleted());
1066 sync_status->SetBoolean("setupInProgress", service->FirstSetupInProgress()); 1087 sync_status->SetBoolean("setupInProgress", service->FirstSetupInProgress());
1067 1088
1068 string16 status_label; 1089 string16 status_label;
1069 string16 link_label; 1090 string16 link_label;
1070 SigninManager* signin = SigninManagerFactory::GetForProfile(
1071 Profile::FromWebUI(web_ui()));
1072 1091
1073 bool status_has_error = sync_ui_util::GetStatusLabels( 1092 bool status_has_error = sync_ui_util::GetStatusLabels(
1074 service, *signin, sync_ui_util::WITH_HTML, &status_label, &link_label) == 1093 service, *signin, sync_ui_util::WITH_HTML, &status_label, &link_label) ==
1075 sync_ui_util::SYNC_ERROR; 1094 sync_ui_util::SYNC_ERROR;
1076 sync_status->SetString("statusText", status_label); 1095 sync_status->SetString("statusText", status_label);
1077 sync_status->SetString("actionLinkText", link_label); 1096 sync_status->SetString("actionLinkText", link_label);
1078 sync_status->SetBoolean("hasError", status_has_error); 1097 sync_status->SetBoolean("hasError", status_has_error);
1079 1098
1080 sync_status->SetBoolean("managed", service->IsManaged()); 1099 sync_status->SetBoolean("managed", service->IsManaged());
1081 sync_status->SetBoolean("signedIn", 1100 sync_status->SetBoolean("signedIn",
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
1414 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); 1433 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
1415 } 1434 }
1416 StringValue label(label_str); 1435 StringValue label(label_str);
1417 1436
1418 web_ui()->CallJavascriptFunction( 1437 web_ui()->CallJavascriptFunction(
1419 "BrowserOptions.setupProxySettingsSection", disabled, label); 1438 "BrowserOptions.setupProxySettingsSection", disabled, label);
1420 #endif // !defined(OS_CHROMEOS) 1439 #endif // !defined(OS_CHROMEOS)
1421 } 1440 }
1422 1441
1423 } // namespace options 1442 } // namespace options
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698