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, |