diff options
author | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-10 22:20:13 +0000 |
---|---|---|
committer | stevenjb@google.com <stevenjb@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-02-10 22:20:13 +0000 |
commit | 7d298337ad1ff51fd737d38e0967d76ea78073f7 (patch) | |
tree | e0cacbce0d872955c03513f22abb4404b66bff62 | |
parent | 3ccbc060349f038e8e3f30aef5b879fec0fe75bb (diff) | |
download | chromium_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
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) |