Index: chrome/browser/sync/sync_setup_wizard.cc |
=================================================================== |
--- chrome/browser/sync/sync_setup_wizard.cc (revision 62207) |
+++ chrome/browser/sync/sync_setup_wizard.cc (working copy) |
@@ -23,6 +23,17 @@ |
#include "grit/chromium_strings.h" |
#include "grit/locale_settings.h" |
+namespace { |
+ |
+// Utility method to keep dictionary population code streamlined. |
+void AddString(DictionaryValue* dictionary, |
+ const std::string& key, |
+ int resource_id) { |
+ dictionary->SetString(key, l10n_util::GetStringUTF16(resource_id)); |
+} |
+ |
+} |
+ |
class SyncResourcesSource : public ChromeURLDataManager::DataSource { |
public: |
SyncResourcesSource() |
@@ -61,136 +72,126 @@ |
void SyncResourcesSource::StartDataRequest(const std::string& path_raw, |
bool is_off_the_record, int request_id) { |
+ using l10n_util::GetStringUTF16; |
+ using l10n_util::GetStringFUTF16; |
+ |
+ const char kSyncSetupFlowPath[] = "setup"; |
const char kSyncGaiaLoginPath[] = "gaialogin"; |
- const char kSyncChooseDataTypesPath[] = "choosedatatypes"; |
- const char kSyncSetupFlowPath[] = "setup"; |
+ const char kSyncConfigurePath[] = "configure"; |
+ const char kSyncPassphrasePath[] = "passphrase"; |
+ const char kSyncSettingUpPath[] = "settingup"; |
const char kSyncSetupDonePath[] = "setupdone"; |
std::string response; |
+ DictionaryValue strings; |
+ DictionaryValue* dict = &strings; |
+ int html_resource_id = 0; |
if (path_raw == kSyncGaiaLoginPath) { |
- DictionaryValue localized_strings; |
+ html_resource_id = IDR_GAIA_LOGIN_HTML; |
// Start by setting the per-locale URLs we show on the setup wizard. |
- localized_strings.SetString("invalidpasswordhelpurl", |
- GetLocalizedUrl(kInvalidPasswordHelpUrl)); |
- localized_strings.SetString("cannotaccessaccounturl", |
- GetLocalizedUrl(kCanNotAccessAccountUrl)); |
- localized_strings.SetString("createnewaccounturl", |
- GetLocalizedUrl(kCreateNewAccountUrl)); |
+ dict->SetString("invalidpasswordhelpurl", |
+ GetLocalizedUrl(kInvalidPasswordHelpUrl)); |
+ dict->SetString("cannotaccessaccounturl", |
+ GetLocalizedUrl(kCanNotAccessAccountUrl)); |
+ dict->SetString("createnewaccounturl", |
+ GetLocalizedUrl(kCreateNewAccountUrl)); |
+ AddString(dict, "settingupsync", IDS_SYNC_LOGIN_SETTING_UP_SYNC); |
+ dict->SetString("introduction", |
+ GetStringFUTF16(IDS_SYNC_LOGIN_INTRODUCTION, |
+ GetStringUTF16(IDS_PRODUCT_NAME))); |
+ AddString(dict, "signinprefix", IDS_SYNC_LOGIN_SIGNIN_PREFIX); |
+ AddString(dict, "signinsuffix", IDS_SYNC_LOGIN_SIGNIN_SUFFIX); |
+ AddString(dict, "cannotbeblank",IDS_SYNC_CANNOT_BE_BLANK); |
+ AddString(dict, "emaillabel", IDS_SYNC_LOGIN_EMAIL); |
+ AddString(dict, "passwordlabel", IDS_SYNC_LOGIN_PASSWORD); |
+ AddString(dict, "invalidcredentials", IDS_SYNC_INVALID_USER_CREDENTIALS); |
+ AddString(dict, "signin", IDS_SYNC_SIGNIN); |
+ AddString(dict, "couldnotconnect", IDS_SYNC_LOGIN_COULD_NOT_CONNECT); |
+ AddString(dict, "cannotaccessaccount", IDS_SYNC_CANNOT_ACCESS_ACCOUNT); |
+ AddString(dict, "createaccount", IDS_SYNC_CREATE_ACCOUNT); |
+ AddString(dict, "cancel", IDS_CANCEL); |
+ AddString(dict, "settingup", IDS_SYNC_LOGIN_SETTING_UP); |
+ AddString(dict, "success", IDS_SYNC_SUCCESS); |
+ AddString(dict, "errorsigningin", IDS_SYNC_ERROR_SIGNING_IN); |
+ AddString(dict, "captchainstructions", IDS_SYNC_GAIA_CAPTCHA_INSTRUCTIONS); |
- localized_strings.SetString("settingupsync", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_SETTING_UP_SYNC)); |
- localized_strings.SetString("introduction", |
- l10n_util::GetStringFUTF16(IDS_SYNC_LOGIN_INTRODUCTION, |
- l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); |
- localized_strings.SetString("signinprefix", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_SIGNIN_PREFIX)); |
- localized_strings.SetString("signinsuffix", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_SIGNIN_SUFFIX)); |
- localized_strings.SetString("cannotbeblank", |
- l10n_util::GetStringUTF16(IDS_SYNC_CANNOT_BE_BLANK)); |
- localized_strings.SetString("emaillabel", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_EMAIL)); |
- localized_strings.SetString("passwordlabel", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_PASSWORD)); |
- localized_strings.SetString("invalidcredentials", |
- l10n_util::GetStringUTF16(IDS_SYNC_INVALID_USER_CREDENTIALS)); |
- localized_strings.SetString("signin", |
- l10n_util::GetStringUTF16(IDS_SYNC_SIGNIN)); |
- localized_strings.SetString("couldnotconnect", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_COULD_NOT_CONNECT)); |
- localized_strings.SetString("cannotaccessaccount", |
- l10n_util::GetStringUTF16(IDS_SYNC_CANNOT_ACCESS_ACCOUNT)); |
- localized_strings.SetString("createaccount", |
- l10n_util::GetStringUTF16(IDS_SYNC_CREATE_ACCOUNT)); |
- localized_strings.SetString("cancel", |
- l10n_util::GetStringUTF16(IDS_CANCEL)); |
- localized_strings.SetString("settingup", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_SETTING_UP)); |
- localized_strings.SetString("success", |
- l10n_util::GetStringUTF16(IDS_SYNC_SUCCESS)); |
- localized_strings.SetString("errorsigningin", |
- l10n_util::GetStringUTF16(IDS_SYNC_ERROR_SIGNING_IN)); |
- localized_strings.SetString("captchainstructions", |
- l10n_util::GetStringUTF16(IDS_SYNC_GAIA_CAPTCHA_INSTRUCTIONS)); |
+ AddString(dict, "invalidaccesscode", IDS_SYNC_INVALID_ACCESS_CODE_LABEL); |
+ AddString(dict, "enteraccesscode", IDS_SYNC_ENTER_ACCESS_CODE_LABEL); |
+ AddString(dict, "getaccesscodehelp", IDS_SYNC_ACCESS_CODE_HELP_LABEL); |
+ AddString(dict, "getaccesscodeurl", IDS_SYNC_GET_ACCESS_CODE_URL); |
+ } else if (path_raw == kSyncConfigurePath) { |
+ html_resource_id = IDR_SYNC_CONFIGURE_HTML; |
- localized_strings.SetString("invalidaccesscode", |
- l10n_util::GetStringUTF16(IDS_SYNC_INVALID_ACCESS_CODE_LABEL)); |
- localized_strings.SetString("enteraccesscode", |
- l10n_util::GetStringUTF16(IDS_SYNC_ENTER_ACCESS_CODE_LABEL)); |
- localized_strings.SetString("getaccesscodehelp", |
- l10n_util::GetStringUTF16(IDS_SYNC_ACCESS_CODE_HELP_LABEL)); |
- localized_strings.SetString("getaccesscodeurl", |
- l10n_util::GetStringUTF16(IDS_SYNC_GET_ACCESS_CODE_URL)); |
+ AddString(dict, "dataTypes", IDS_SYNC_DATA_TYPES_TAB_NAME); |
+ AddString(dict, "encryption", IDS_SYNC_ENCRYPTION_TAB_NAME); |
- static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
- .GetRawDataResource(IDR_GAIA_LOGIN_HTML)); |
- SetFontAndTextDirection(&localized_strings); |
- response = jstemplate_builder::GetI18nTemplateHtml( |
- html, &localized_strings); |
- } else if (path_raw == kSyncChooseDataTypesPath) { |
- DictionaryValue localized_strings; |
- localized_strings.SetString("choosedatatypesheader", |
- l10n_util::GetStringUTF16(IDS_SYNC_CHOOSE_DATATYPES_HEADER)); |
- localized_strings.SetString("choosedatatypesinstructions", |
- l10n_util::GetStringFUTF16(IDS_SYNC_CHOOSE_DATATYPES_INSTRUCTIONS, |
- l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); |
- localized_strings.SetString("keepeverythingsynced", |
- l10n_util::GetStringUTF16(IDS_SYNC_EVERYTHING)); |
- localized_strings.SetString("choosedatatypes", |
- l10n_util::GetStringUTF16(IDS_SYNC_CHOOSE_DATATYPES)); |
- localized_strings.SetString("bookmarks", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_BOOKMARKS)); |
- localized_strings.SetString("preferences", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_PREFERENCES)); |
- localized_strings.SetString("autofill", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_AUTOFILL)); |
- localized_strings.SetString("themes", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_THEMES)); |
- localized_strings.SetString("passwords", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_PASSWORDS)); |
- localized_strings.SetString("extensions", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_EXTENSIONS)); |
- localized_strings.SetString("typedurls", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_TYPED_URLS)); |
- localized_strings.SetString("apps", |
- l10n_util::GetStringUTF16(IDS_SYNC_DATATYPE_APPS)); |
- localized_strings.SetString("synczerodatatypeserror", |
- l10n_util::GetStringUTF16(IDS_SYNC_ZERO_DATA_TYPES_ERROR)); |
- localized_strings.SetString("setupabortederror", |
- l10n_util::GetStringUTF16(IDS_SYNC_SETUP_ABORTED_BY_PENDING_CLEAR)); |
- localized_strings.SetString("ok", |
- l10n_util::GetStringUTF16(IDS_OK)); |
- localized_strings.SetString("cancel", |
- l10n_util::GetStringUTF16(IDS_CANCEL)); |
- localized_strings.SetString("settingup", |
- l10n_util::GetStringUTF16(IDS_SYNC_LOGIN_SETTING_UP)); |
- static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
- .GetRawDataResource(IDR_SYNC_CHOOSE_DATATYPES_HTML)); |
- SetFontAndTextDirection(&localized_strings); |
- response = jstemplate_builder::GetI18nTemplateHtml( |
- html, &localized_strings); |
+ // Stuff for the choose data types localized. |
+ AddString(dict, "choosedatatypesheader", IDS_SYNC_CHOOSE_DATATYPES_HEADER); |
+ dict->SetString("choosedatatypesinstructions", |
+ GetStringFUTF16(IDS_SYNC_CHOOSE_DATATYPES_INSTRUCTIONS, |
+ GetStringUTF16(IDS_PRODUCT_NAME))); |
+ AddString(dict, "keepeverythingsynced", IDS_SYNC_EVERYTHING); |
+ AddString(dict, "choosedatatypes", IDS_SYNC_CHOOSE_DATATYPES); |
+ AddString(dict, "bookmarks", IDS_SYNC_DATATYPE_BOOKMARKS); |
+ AddString(dict, "preferences", IDS_SYNC_DATATYPE_PREFERENCES); |
+ AddString(dict, "autofill", IDS_SYNC_DATATYPE_AUTOFILL); |
+ AddString(dict, "themes", IDS_SYNC_DATATYPE_THEMES); |
+ AddString(dict, "passwords", IDS_SYNC_DATATYPE_PASSWORDS); |
+ AddString(dict, "extensions", IDS_SYNC_DATATYPE_EXTENSIONS); |
+ AddString(dict, "typedurls", IDS_SYNC_DATATYPE_TYPED_URLS); |
+ AddString(dict, "apps", IDS_SYNC_DATATYPE_APPS); |
+ AddString(dict, "synczerodatatypeserror", IDS_SYNC_ZERO_DATA_TYPES_ERROR); |
+ AddString(dict, "abortederror", IDS_SYNC_SETUP_ABORTED_BY_PENDING_CLEAR); |
+ |
+ // Stuff for the encryption tab. |
+ dict->SetString("encryptionInstructions", |
+ GetStringFUTF16(IDS_SYNC_ENCRYPTION_INSTRUCTIONS, |
+ GetStringUTF16(IDS_PRODUCT_NAME))); |
+ AddString(dict, "encryptAllLabel", IDS_SYNC_ENCRYPT_ALL_LABEL); |
+ AddString(dict, "usePassphraseLabel", IDS_SYNC_PASSPHRASE_CHECKBOX_LABEL); |
+ AddString(dict, "passphraseWarning", IDS_SYNC_PASSPHRASE_WARNING); |
+ |
+ // Stuff for the footer. |
+ AddString(dict, "ok", IDS_OK); |
+ AddString(dict, "cancel", IDS_CANCEL); |
+ } else if (path_raw == kSyncPassphrasePath) { |
+ html_resource_id = IDR_SYNC_PASSPHRASE_HTML; |
+ AddString(dict, "newPassphraseTitle", IDS_SYNC_NEW_PASSPHRASE_TITLE); |
+ AddString(dict, "newPassphraseBody", IDS_SYNC_NEW_PASSPHRASE_BODY); |
+ AddString(dict, "enterPassphraseTitle", IDS_SYNC_ENTER_PASSPHRASE_TITLE); |
+ AddString(dict, "enterPassphraseBody", IDS_SYNC_ENTER_PASSPHRASE_BODY); |
+ AddString(dict, "gaiaPassphraseTitle", IDS_SYNC_GAIA_PASSPHRASE_TITLE); |
+ AddString(dict, "gaiaPassphraseBody", IDS_SYNC_GAIA_PASSPHRASE_BODY); |
+ AddString(dict, "passphraseLabel", IDS_SYNC_PASSPHRASE_LABEL); |
+ AddString(dict, "ok", IDS_OK); |
+ AddString(dict, "cancel", IDS_CANCEL); |
+ } else if (path_raw == kSyncSettingUpPath) { |
+ html_resource_id = IDR_SYNC_SETTING_UP_HTML; |
+ |
+ AddString(dict, "settingup", IDS_SYNC_LOGIN_SETTING_UP); |
+ AddString(dict, "cancel", IDS_CANCEL); |
} else if (path_raw == kSyncSetupDonePath) { |
- DictionaryValue localized_strings; |
- localized_strings.SetString("success", |
- l10n_util::GetStringUTF16(IDS_SYNC_SUCCESS)); |
- localized_strings.SetString("setupsummary", |
- l10n_util::GetStringFUTF16(IDS_SYNC_SETUP_ALL_DONE, |
- l10n_util::GetStringUTF16(IDS_PRODUCT_NAME))); |
- localized_strings.SetString("firsttimesetupsummary", |
- l10n_util::GetStringUTF16(IDS_SYNC_SETUP_FIRST_TIME_ALL_DONE)); |
- localized_strings.SetString("okay", |
- l10n_util::GetStringUTF16(IDS_SYNC_SETUP_OK_BUTTON_LABEL)); |
- static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
- .GetRawDataResource(IDR_SYNC_SETUP_DONE_HTML)); |
- SetFontAndTextDirection(&localized_strings); |
- response = jstemplate_builder::GetI18nTemplateHtml( |
- html, &localized_strings); |
+ html_resource_id = IDR_SYNC_SETUP_DONE_HTML; |
+ |
+ AddString(dict, "success", IDS_SYNC_SUCCESS); |
+ dict->SetString("setupsummary", |
+ GetStringFUTF16(IDS_SYNC_SETUP_ALL_DONE, |
+ GetStringUTF16(IDS_PRODUCT_NAME))); |
+ AddString(dict, "firsttimesummary", IDS_SYNC_SETUP_FIRST_TIME_ALL_DONE); |
+ AddString(dict, "okay", IDS_SYNC_SETUP_OK_BUTTON_LABEL); |
} else if (path_raw == kSyncSetupFlowPath) { |
- static const base::StringPiece html(ResourceBundle::GetSharedInstance() |
- .GetRawDataResource(IDR_SYNC_SETUP_FLOW_HTML)); |
- response = html.as_string(); |
+ html_resource_id = IDR_SYNC_SETUP_FLOW_HTML; |
} |
+ |
+ if (html_resource_id > 0) { |
+ const base::StringPiece html( |
+ ResourceBundle::GetSharedInstance().GetRawDataResource( |
+ html_resource_id)); |
+ SetFontAndTextDirection(dict); |
+ response = jstemplate_builder::GetI18nTemplateHtml(html, dict); |
+ } |
+ |
// Send the response. |
scoped_refptr<RefCountedBytes> html_bytes(new RefCountedBytes); |
html_bytes->data.resize(response.size()); |
@@ -278,7 +279,7 @@ |
State result = FATAL_ERROR; |
if (start_state == GAIA_LOGIN) { |
result = GAIA_SUCCESS; |
- } else if (start_state == CHOOSE_DATA_TYPES) { |
+ } else if (start_state == CONFIGURE) { |
result = DONE; |
} |
DCHECK_NE(FATAL_ERROR, result) << |