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

Unified Diff: chrome/browser/extensions/api/i18n/i18n_api.cc

Issue 2344653002: [Extensions] Convert some ChromeSyncExtensionFunctions (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/i18n/i18n_api.cc
diff --git a/chrome/browser/extensions/api/i18n/i18n_api.cc b/chrome/browser/extensions/api/i18n/i18n_api.cc
index f95797475b033cf678ddc566b797322afa42e58e..ce22beb3588197e73cb567a9b244ddcd80cf50bc 100644
--- a/chrome/browser/extensions/api/i18n/i18n_api.cc
+++ b/chrome/browser/extensions/api/i18n/i18n_api.cc
@@ -27,9 +27,10 @@ static const char kEmptyAcceptLanguagesError[] = "accept-languages is empty.";
}
-bool I18nGetAcceptLanguagesFunction::RunSync() {
- std::string accept_languages =
- GetProfile()->GetPrefs()->GetString(prefs::kAcceptLanguages);
+ExtensionFunction::ResponseAction I18nGetAcceptLanguagesFunction::Run() {
+ std::string accept_languages = Profile::FromBrowserContext(browser_context())
+ ->GetPrefs()
+ ->GetString(prefs::kAcceptLanguages);
// Currently, there are 2 ways to set browser's accept-languages: through UI
// or directly modify the preference file. The accept-languages set through
// UI is guranteed to be valid, and the accept-languages string returned from
@@ -40,23 +41,19 @@ bool I18nGetAcceptLanguagesFunction::RunSync() {
// of the language code) on accept-languages set through editing preference
// file directly. So, here, we're adding extra checks to be resistant to
// crashes caused by data corruption.
- if (accept_languages.empty()) {
- error_ = kEmptyAcceptLanguagesError;
- return false;
- }
+ if (accept_languages.empty())
+ return RespondNow(Error(kEmptyAcceptLanguagesError));
std::vector<std::string> languages = base::SplitString(
accept_languages, ",", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
languages.erase(std::remove(languages.begin(), languages.end(), ""),
languages.end());
- if (languages.empty()) {
- error_ = kEmptyAcceptLanguagesError;
- return false;
- }
+ if (languages.empty())
+ return RespondNow(Error(kEmptyAcceptLanguagesError));
- results_ = GetAcceptLanguages::Results::Create(languages);
- return true;
+ return RespondNow(
+ ArgumentList(GetAcceptLanguages::Results::Create(languages)));
}
} // namespace extensions
« no previous file with comments | « chrome/browser/extensions/api/i18n/i18n_api.h ('k') | chrome/browser/extensions/api/identity/identity_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698