Index: chrome/browser/profiles/profile_impl.cc |
diff --git a/chrome/browser/profiles/profile_impl.cc b/chrome/browser/profiles/profile_impl.cc |
index 0151e138c46729861ed0aa03b4b920afbe147588..fbaf8bbe9644604aae4fb426af6874fb42b844d8 100644 |
--- a/chrome/browser/profiles/profile_impl.cc |
+++ b/chrome/browser/profiles/profile_impl.cc |
@@ -40,8 +40,6 @@ |
#include "chrome/browser/download/chrome_download_manager_delegate.h" |
#include "chrome/browser/download/download_service.h" |
#include "chrome/browser/download/download_service_factory.h" |
-#include "chrome/browser/extensions/extension_service.h" |
-#include "chrome/browser/extensions/extension_special_storage_policy.h" |
#include "chrome/browser/history/top_sites.h" |
#include "chrome/browser/net/chrome_url_request_context.h" |
#include "chrome/browser/net/net_pref_observer.h" |
@@ -71,7 +69,6 @@ |
#include "chrome/browser/services/gcm/push_messaging_service_impl.h" |
#include "chrome/browser/sessions/session_service_factory.h" |
#include "chrome/browser/ui/startup/startup_browser_creator.h" |
-#include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
#include "chrome/common/chrome_constants.h" |
#include "chrome/common/chrome_paths_internal.h" |
#include "chrome/common/chrome_switches.h" |
@@ -98,10 +95,6 @@ |
#include "content/public/browser/user_metrics.h" |
#include "content/public/common/content_constants.h" |
#include "content/public/common/page_zoom.h" |
-#include "extensions/browser/extension_pref_store.h" |
-#include "extensions/browser/extension_pref_value_map.h" |
-#include "extensions/browser/extension_pref_value_map_factory.h" |
-#include "extensions/browser/extension_system.h" |
#include "grit/chromium_strings.h" |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
@@ -133,7 +126,14 @@ |
#endif |
#if defined(ENABLE_EXTENSIONS) |
+#include "chrome/browser/extensions/extension_service.h" |
+#include "chrome/browser/extensions/extension_special_storage_policy.h" |
#include "chrome/browser/guest_view/guest_view_manager.h" |
+#include "chrome/browser/ui/webui/extensions/extension_icon_source.h" |
+#include "extensions/browser/extension_pref_store.h" |
+#include "extensions/browser/extension_pref_value_map.h" |
+#include "extensions/browser/extension_pref_value_map_factory.h" |
+#include "extensions/browser/extension_system.h" |
#endif |
#if defined(ENABLE_MANAGED_USERS) |
@@ -152,20 +152,20 @@ namespace { |
#if defined(ENABLE_SESSION_SERVICE) |
// Delay, in milliseconds, before we explicitly create the SessionService. |
-static const int kCreateSessionServiceDelayMS = 500; |
+const int kCreateSessionServiceDelayMS = 500; |
#endif |
// Text content of README file created in each profile directory. Both %s |
// placeholders must contain the product name. This is not localizable and hence |
// not in resources. |
-static const char kReadmeText[] = |
+const char kReadmeText[] = |
"%s settings and storage represent user-selected preferences and " |
"information and MUST not be extracted, overwritten or modified except " |
"through %s defined APIs."; |
// Value written to prefs for EXIT_CRASHED and EXIT_SESSION_ENDED. |
-const char* const kPrefExitTypeCrashed = "Crashed"; |
-const char* const kPrefExitTypeSessionEnded = "SessionEnded"; |
+const char kPrefExitTypeCrashed[] = "Crashed"; |
+const char kPrefExitTypeSessionEnded[] = "SessionEnded"; |
// Helper method needed because PostTask cannot currently take a Callback |
// function with non-void return type. |
@@ -260,6 +260,17 @@ void RegisterDomDistillerViewerSource(Profile* profile) { |
} |
} |
+PrefStore* CreateExtensionPrefStore(Profile* profile, |
+ bool incognito_pref_store) { |
+#if defined(ENABLE_EXTENSIONS) |
+ return new ExtensionPrefStore( |
+ ExtensionPrefValueMapFactory::GetForBrowserContext(profile), |
+ incognito_pref_store); |
+#else |
+ return NULL; |
+#endif |
+} |
+ |
} // namespace |
// static |
@@ -469,8 +480,7 @@ ProfileImpl::ProfileImpl( |
pref_validation_delegate_.get(), |
profile_policy_connector_->policy_service(), |
supervised_user_settings, |
- new ExtensionPrefStore( |
- ExtensionPrefValueMapFactory::GetForBrowserContext(this), false), |
+ CreateExtensionPrefStore(this, false), |
pref_registry_, |
async_prefs).Pass(); |
// Register on BrowserContext. |
@@ -737,8 +747,10 @@ ProfileImpl::~ProfileImpl() { |
ProfileDestroyer::DestroyOffTheRecordProfileNow( |
off_the_record_profile_.get()); |
} else { |
+#if defined(ENABLE_EXTENSIONS) |
ExtensionPrefValueMapFactory::GetForBrowserContext(this)-> |
ClearAllIncognitoSessionOnlyPreferences(); |
+#endif |
} |
BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( |
@@ -794,8 +806,10 @@ Profile* ProfileImpl::GetOffTheRecordProfile() { |
void ProfileImpl::DestroyOffTheRecordProfile() { |
off_the_record_profile_.reset(); |
+#if defined(ENABLE_EXTENSIONS) |
ExtensionPrefValueMapFactory::GetForBrowserContext(this)-> |
ClearAllIncognitoSessionOnlyPreferences(); |
+#endif |
} |
bool ProfileImpl::HasOffTheRecordProfile() { |
@@ -812,12 +826,16 @@ bool ProfileImpl::IsSupervised() { |
ExtensionSpecialStoragePolicy* |
ProfileImpl::GetExtensionSpecialStoragePolicy() { |
+#if defined(ENABLE_EXTENSIONS) |
if (!extension_special_storage_policy_.get()) { |
TRACE_EVENT0("browser", "ProfileImpl::GetExtensionSpecialStoragePolicy") |
extension_special_storage_policy_ = new ExtensionSpecialStoragePolicy( |
CookieSettings::Factory::GetForProfile(this).get()); |
} |
return extension_special_storage_policy_.get(); |
+#else |
+ return NULL; |
+#endif |
} |
void ProfileImpl::OnPrefsLoaded(bool success) { |
@@ -925,8 +943,7 @@ PrefService* ProfileImpl::GetOffTheRecordPrefs() { |
// The new ExtensionPrefStore is ref_counted and the new PrefService |
// stores a reference so that we do not leak memory here. |
otr_prefs_.reset(prefs_->CreateIncognitoPrefService( |
- new ExtensionPrefStore( |
- ExtensionPrefValueMapFactory::GetForBrowserContext(this), true))); |
+ CreateExtensionPrefStore(this, true))); |
} |
return otr_prefs_.get(); |
} |
@@ -1029,7 +1046,11 @@ DownloadManagerDelegate* ProfileImpl::GetDownloadManagerDelegate() { |
} |
quota::SpecialStoragePolicy* ProfileImpl::GetSpecialStoragePolicy() { |
+#if defined(ENABLE_EXTENSIONS) |
return GetExtensionSpecialStoragePolicy(); |
+#else |
+ return NULL; |
+#endif |
} |
content::PushMessagingService* ProfileImpl::GetPushMessagingService() { |