| Index: chrome/browser/extensions/external_pref_extension_loader.cc
|
| diff --git a/chrome/browser/extensions/external_pref_extension_loader.cc b/chrome/browser/extensions/external_pref_extension_loader.cc
|
| index fc84b1ebf6df8b9023c67fba18696c0fd0069688..0d246b01c50735cfaca21b472616272377238262 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,
|
|
|