Chromium Code Reviews| Index: chrome/browser/extensions/extension_service.cc |
| diff --git a/chrome/browser/extensions/extension_service.cc b/chrome/browser/extensions/extension_service.cc |
| index ad71689d7a0f1542241593dd9f90dea75aed5374..3ca55c71a2ac0f65a8cb4364f77e7fcb45e12a3c 100644 |
| --- a/chrome/browser/extensions/extension_service.cc |
| +++ b/chrome/browser/extensions/extension_service.cc |
| @@ -2047,21 +2047,25 @@ const Extension* ExtensionService::GetPendingExtensionUpdate( |
| } |
| void ExtensionService::RegisterContentSettings( |
| - HostContentSettingsMap* host_content_settings_map) { |
| + HostContentSettingsMap* host_content_settings_map, |
| + Profile* profile) { |
| + // Do nothing if extensions are not enabled for this profile. |
| + if (!extensions::ContentSettingsService::Get(profile)) |
|
Devlin
2017/05/05 22:27:56
The ContentSettingsService is just a BrowserContex
mmenke
2017/05/05 22:54:34
It's null for incognito, causing this method to cr
Devlin
2017/05/05 23:00:08
Ah, okay. ExtensionService only has a single shar
mmenke
2017/05/08 17:50:35
I've confirmed that in the original code, we calle
Devlin
2017/05/15 16:53:21
Note: We don't have a separate ExtensionService fo
|
| + return; |
| TRACE_EVENT0("browser,startup", "ExtensionService::RegisterContentSettings"); |
| DCHECK_CURRENTLY_ON(BrowserThread::UI); |
| host_content_settings_map->RegisterProvider( |
| HostContentSettingsMap::INTERNAL_EXTENSION_PROVIDER, |
| std::unique_ptr<content_settings::ObservableProvider>( |
| - new content_settings::InternalExtensionProvider(profile_))); |
| + new content_settings::InternalExtensionProvider(profile))); |
|
Devlin
2017/05/05 22:27:55
Note: this relies on the ExtensionRegistry, which
|
| host_content_settings_map->RegisterProvider( |
| HostContentSettingsMap::CUSTOM_EXTENSION_PROVIDER, |
| std::unique_ptr<content_settings::ObservableProvider>( |
| new content_settings::CustomExtensionProvider( |
| - extensions::ContentSettingsService::Get(profile_) |
| + extensions::ContentSettingsService::Get(profile) |
| ->content_settings_store(), |
| - profile_->GetOriginalProfile() != profile_))); |
| + profile->GetOriginalProfile() != profile))); |
| } |
| void ExtensionService::TrackTerminatedExtension( |