summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-10 22:20:13 +0000
committerstevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-02-10 22:20:13 +0000
commit7d298337ad1ff51fd737d38e0967d76ea78073f7 (patch)
treee0cacbce0d872955c03513f22abb4404b66bff62
parent3ccbc060349f038e8e3f30aef5b879fec0fe75bb (diff)
downloadchromium_src-7d298337ad1ff51fd737d38e0967d76ea78073f7.zip
chromium_src-7d298337ad1ff51fd737d38e0967d76ea78073f7.tar.gz
chromium_src-7d298337ad1ff51fd737d38e0967d76ea78073f7.tar.bz2
Always use ProfileSyncService::ShowErrorUI to handle error links.
BUG=chromium-os:11931 TEST=Test handling of sync errors from settings/personal page. Review URL: http://codereview.chromium.org/6489007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74502 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/dom_ui/options/personal_options_handler.cc31
-rw-r--r--chrome/browser/dom_ui/options/personal_options_handler.h1
-rw-r--r--chrome/browser/resources/options/personal_options.js2
3 files changed, 20 insertions, 14 deletions
diff --git a/chrome/browser/dom_ui/options/personal_options_handler.cc b/chrome/browser/dom_ui/options/personal_options_handler.cc
index 504ea54..682ecff 100644
--- a/chrome/browser/dom_ui/options/personal_options_handler.cc
+++ b/chrome/browser/dom_ui/options/personal_options_handler.cc
@@ -165,6 +165,9 @@ void PersonalOptionsHandler::GetLocalizedValues(
void PersonalOptionsHandler::RegisterMessages() {
DCHECK(dom_ui_);
dom_ui_->RegisterMessageCallback(
+ "showSyncActionDialog",
+ NewCallback(this, &PersonalOptionsHandler::ShowSyncActionDialog));
+ dom_ui_->RegisterMessageCallback(
"showSyncLoginDialog",
NewCallback(this, &PersonalOptionsHandler::ShowSyncLoginDialog));
dom_ui_->RegisterMessageCallback(
@@ -321,24 +324,26 @@ void PersonalOptionsHandler::Initialize() {
}
}
-void PersonalOptionsHandler::ShowSyncLoginDialog(const ListValue* args) {
+void PersonalOptionsHandler::ShowSyncActionDialog(const ListValue* args) {
ProfileSyncService* service = dom_ui_->GetProfile()->GetProfileSyncService();
DCHECK(service);
- if (service->HasSyncSetupCompleted()) {
- service->ShowErrorUI(NULL);
- } else {
+ service->ShowErrorUI(NULL);
+}
+
+void PersonalOptionsHandler::ShowSyncLoginDialog(const ListValue* args) {
#if defined(OS_CHROMEOS)
- std::string email = chromeos::UserManager::Get()->logged_in_user().email();
- string16 message = l10n_util::GetStringFUTF16(
- IDS_SYNC_LOGIN_INTRODUCTION,
- l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
- dom_ui_->GetProfile()->GetBrowserSignin()->RequestSignin(
- dom_ui_->tab_contents(), UTF8ToUTF16(email), message, this);
+ std::string email = chromeos::UserManager::Get()->logged_in_user().email();
+ string16 message = l10n_util::GetStringFUTF16(
+ IDS_SYNC_LOGIN_INTRODUCTION,
+ l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
+ dom_ui_->GetProfile()->GetBrowserSignin()->RequestSignin(
+ dom_ui_->tab_contents(), UTF8ToUTF16(email), message, this);
#else
- service->ShowLoginDialog(NULL);
- ProfileSyncService::SyncEvent(ProfileSyncService::START_FROM_OPTIONS);
+ ProfileSyncService* service = dom_ui_->GetProfile()->GetProfileSyncService();
+ DCHECK(service);
+ service->ShowLoginDialog(NULL);
+ ProfileSyncService::SyncEvent(ProfileSyncService::START_FROM_OPTIONS);
#endif
- }
}
void PersonalOptionsHandler::ShowCustomizeSyncDialog(const ListValue* args) {
diff --git a/chrome/browser/dom_ui/options/personal_options_handler.h b/chrome/browser/dom_ui/options/personal_options_handler.h
index 0ded3fa..0340f79 100644
--- a/chrome/browser/dom_ui/options/personal_options_handler.h
+++ b/chrome/browser/dom_ui/options/personal_options_handler.h
@@ -42,6 +42,7 @@ class PersonalOptionsHandler : public OptionsPageUIHandler,
private:
void ObserveThemeChanged();
+ void ShowSyncActionDialog(const ListValue* args);
void ShowSyncLoginDialog(const ListValue* args);
void ShowCustomizeSyncDialog(const ListValue* args);
void ThemesReset(const ListValue* args);
diff --git a/chrome/browser/resources/options/personal_options.js b/chrome/browser/resources/options/personal_options.js
index 3434d14..04634bd 100644
--- a/chrome/browser/resources/options/personal_options.js
+++ b/chrome/browser/resources/options/personal_options.js
@@ -32,7 +32,7 @@ cr.define('options', function() {
var self = this;
$('sync-action-link').onclick = function(event) {
- chrome.send('showSyncLoginDialog');
+ chrome.send('showSyncActionDialog');
};
$('start-stop-sync').onclick = function(event) {
if (self.syncSetupCompleted)