| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/extensions/extension_service.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <iterator> | 8 #include <iterator> |
| 9 #include <set> | 9 #include <set> |
| 10 | 10 |
| (...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 install_updates_when_idle_(true), | 269 install_updates_when_idle_(true), |
| 270 ready_(ready), | 270 ready_(ready), |
| 271 update_once_all_providers_are_ready_(false), | 271 update_once_all_providers_are_ready_(false), |
| 272 browser_terminating_(false), | 272 browser_terminating_(false), |
| 273 installs_delayed_for_gc_(false), | 273 installs_delayed_for_gc_(false), |
| 274 is_first_run_(false), | 274 is_first_run_(false), |
| 275 block_extensions_(false), | 275 block_extensions_(false), |
| 276 shared_module_service_(new extensions::SharedModuleService(profile_)), | 276 shared_module_service_(new extensions::SharedModuleService(profile_)), |
| 277 app_data_migrator_(new extensions::AppDataMigrator(profile_, registry_)) { | 277 app_data_migrator_(new extensions::AppDataMigrator(profile_, registry_)) { |
| 278 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 278 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 279 TRACE_EVENT0("browser,startup", "ExtensionService::ExtensionService::ctor"); |
| 279 | 280 |
| 280 // Figure out if extension installation should be enabled. | 281 // Figure out if extension installation should be enabled. |
| 281 if (extensions::ExtensionsBrowserClient::Get()->AreExtensionsDisabled( | 282 if (extensions::ExtensionsBrowserClient::Get()->AreExtensionsDisabled( |
| 282 *command_line, profile)) | 283 *command_line, profile)) |
| 283 extensions_enabled_ = false; | 284 extensions_enabled_ = false; |
| 284 | 285 |
| 285 registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING, | 286 registrar_.Add(this, chrome::NOTIFICATION_APP_TERMINATING, |
| 286 content::NotificationService::AllBrowserContextsAndSources()); | 287 content::NotificationService::AllBrowserContextsAndSources()); |
| 287 registrar_.Add(this, | 288 registrar_.Add(this, |
| 288 extensions::NOTIFICATION_EXTENSION_PROCESS_TERMINATED, | 289 extensions::NOTIFICATION_EXTENSION_PROCESS_TERMINATED, |
| 289 content::NotificationService::AllBrowserContextsAndSources()); | 290 content::NotificationService::AllBrowserContextsAndSources()); |
| 290 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, | 291 registrar_.Add(this, content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
| 291 content::NotificationService::AllBrowserContextsAndSources()); | 292 content::NotificationService::AllBrowserContextsAndSources()); |
| 292 registrar_.Add(this, chrome::NOTIFICATION_UPGRADE_RECOMMENDED, | 293 registrar_.Add(this, chrome::NOTIFICATION_UPGRADE_RECOMMENDED, |
| 293 content::NotificationService::AllBrowserContextsAndSources()); | 294 content::NotificationService::AllBrowserContextsAndSources()); |
| 294 registrar_.Add(this, | 295 registrar_.Add(this, |
| 295 chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, | 296 chrome::NOTIFICATION_PROFILE_DESTRUCTION_STARTED, |
| 296 content::Source<Profile>(profile_)); | 297 content::Source<Profile>(profile_)); |
| 297 | 298 |
| 298 extensions::ExtensionManagementFactory::GetForBrowserContext(profile_) | 299 extensions::ExtensionManagementFactory::GetForBrowserContext(profile_) |
| 299 ->AddObserver(this); | 300 ->AddObserver(this); |
| 300 | 301 |
| 301 // Set up the ExtensionUpdater | 302 // Set up the ExtensionUpdater. |
| 302 if (autoupdate_enabled) { | 303 if (autoupdate_enabled) { |
| 303 int update_frequency = extensions::kDefaultUpdateFrequencySeconds; | 304 int update_frequency = extensions::kDefaultUpdateFrequencySeconds; |
| 304 if (command_line->HasSwitch(switches::kExtensionsUpdateFrequency)) { | 305 if (command_line->HasSwitch(switches::kExtensionsUpdateFrequency)) { |
| 305 base::StringToInt(command_line->GetSwitchValueASCII( | 306 base::StringToInt(command_line->GetSwitchValueASCII( |
| 306 switches::kExtensionsUpdateFrequency), | 307 switches::kExtensionsUpdateFrequency), |
| 307 &update_frequency); | 308 &update_frequency); |
| 308 } | 309 } |
| 309 updater_.reset(new extensions::ExtensionUpdater( | 310 updater_.reset(new extensions::ExtensionUpdater( |
| 310 this, | 311 this, |
| 311 extension_prefs, | 312 extension_prefs, |
| (...skipping 2244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2556 } | 2557 } |
| 2557 | 2558 |
| 2558 void ExtensionService::OnProfileDestructionStarted() { | 2559 void ExtensionService::OnProfileDestructionStarted() { |
| 2559 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs(); | 2560 ExtensionIdSet ids_to_unload = registry_->enabled_extensions().GetIDs(); |
| 2560 for (ExtensionIdSet::iterator it = ids_to_unload.begin(); | 2561 for (ExtensionIdSet::iterator it = ids_to_unload.begin(); |
| 2561 it != ids_to_unload.end(); | 2562 it != ids_to_unload.end(); |
| 2562 ++it) { | 2563 ++it) { |
| 2563 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN); | 2564 UnloadExtension(*it, UnloadedExtensionInfo::REASON_PROFILE_SHUTDOWN); |
| 2564 } | 2565 } |
| 2565 } | 2566 } |
| OLD | NEW |