diff options
author | altimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-20 14:28:30 +0000 |
---|---|---|
committer | altimofeev@chromium.org <altimofeev@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-01-20 14:28:30 +0000 |
commit | 0e22fde2f0b3e769b266d721bc0d00131cb69ec9 (patch) | |
tree | 5ca4c7c8729bd0a7ae21ffdc6ac1201a68b76ec0 | |
parent | 50f8a5a25236352442d1f5ae5407998dcd31e9ca (diff) | |
download | chromium_src-0e22fde2f0b3e769b266d721bc0d00131cb69ec9.zip chromium_src-0e22fde2f0b3e769b266d721bc0d00131cb69ec9.tar.gz chromium_src-0e22fde2f0b3e769b266d721bc0d00131cb69ec9.tar.bz2 |
Handles path absence instead of CHECKing.
In Chromium OS there is no 'extensions' directory, so this case should
be handled correctly.
BUG=chromium-os:11107,70197
TEST=login to CrOS, no crashing
Review URL: http://codereview.chromium.org/6265014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71952 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/extensions/external_pref_extension_loader.cc | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/chrome/browser/extensions/external_pref_extension_loader.cc b/chrome/browser/extensions/external_pref_extension_loader.cc index fc84b1e..0d246b0 100644 --- a/chrome/browser/extensions/external_pref_extension_loader.cc +++ b/chrome/browser/extensions/external_pref_extension_loader.cc @@ -60,19 +60,22 @@ void ExternalPrefExtensionLoader::StartLoading() { void ExternalPrefExtensionLoader::LoadOnFileThread() { CHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); - CHECK(PathService::Get(base_path_key_, &base_path_)); + scoped_ptr<DictionaryValue> prefs; - FilePath json_file; - json_file = base_path_.Append(FILE_PATH_LITERAL("external_extensions.json")); + if (PathService::Get(base_path_key_, &base_path_)) { + FilePath json_file; + json_file = + base_path_.Append(FILE_PATH_LITERAL("external_extensions.json")); - scoped_ptr<DictionaryValue> prefs; - if (file_util::PathExists(json_file)) { - JSONFileValueSerializer serializer(json_file); - prefs.reset(ExtractPrefs(&serializer)); - } else { - prefs.reset(new DictionaryValue()); + if (file_util::PathExists(json_file)) { + JSONFileValueSerializer serializer(json_file); + prefs.reset(ExtractPrefs(&serializer)); + } } + if (!prefs.get()) + prefs.reset(new DictionaryValue()); + prefs_.reset(prefs.release()); BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, |