| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_system.h" | 5 #include "chrome/browser/extensions/extension_system.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 10 #include "base/string_tokenizer.h" | 10 #include "base/string_tokenizer.h" |
| 11 #include "chrome/browser/browser_process.h" | 11 #include "chrome/browser/browser_process.h" |
| 12 #include "chrome/browser/extensions/component_loader.h" | |
| 13 #include "chrome/browser/content_settings/cookie_settings.h" | 12 #include "chrome/browser/content_settings/cookie_settings.h" |
| 14 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" | 13 #include "chrome/browser/extensions/api/alarms/alarm_manager.h" |
| 15 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" | 14 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" |
| 15 #include "chrome/browser/extensions/component_loader.h" |
| 16 #include "chrome/browser/extensions/extension_devtools_manager.h" | 16 #include "chrome/browser/extensions/extension_devtools_manager.h" |
| 17 #include "chrome/browser/extensions/extension_error_reporter.h" | 17 #include "chrome/browser/extensions/extension_error_reporter.h" |
| 18 #include "chrome/browser/extensions/extension_event_router.h" | 18 #include "chrome/browser/extensions/extension_event_router.h" |
| 19 #include "chrome/browser/extensions/extension_info_map.h" | 19 #include "chrome/browser/extensions/extension_info_map.h" |
| 20 #include "chrome/browser/extensions/extension_message_service.h" | 20 #include "chrome/browser/extensions/extension_message_service.h" |
| 21 #include "chrome/browser/extensions/extension_navigation_observer.h" | 21 #include "chrome/browser/extensions/extension_navigation_observer.h" |
| 22 #include "chrome/browser/extensions/extension_pref_store.h" | 22 #include "chrome/browser/extensions/extension_pref_store.h" |
| 23 #include "chrome/browser/extensions/extension_pref_value_map.h" | 23 #include "chrome/browser/extensions/extension_pref_value_map.h" |
| 24 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" | 24 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" |
| 25 #include "chrome/browser/extensions/extension_process_manager.h" | 25 #include "chrome/browser/extensions/extension_process_manager.h" |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 271 | 271 |
| 272 const CommandLine* command_line = CommandLine::ForCurrentProcess(); | 272 const CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 273 if (command_line->HasSwitch( | 273 if (command_line->HasSwitch( |
| 274 switches::kEnableExtensionTimelineApi)) { | 274 switches::kEnableExtensionTimelineApi)) { |
| 275 extension_devtools_manager_ = new ExtensionDevToolsManager(profile_); | 275 extension_devtools_manager_ = new ExtensionDevToolsManager(profile_); |
| 276 } | 276 } |
| 277 | 277 |
| 278 shared_->InitInfoMap(); | 278 shared_->InitInfoMap(); |
| 279 | 279 |
| 280 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); | 280 extension_process_manager_.reset(ExtensionProcessManager::Create(profile_)); |
| 281 alarm_manager_.reset(new AlarmManager(profile_, | 281 alarm_manager_.reset(new AlarmManager(profile_, &base::Time::Now)); |
| 282 &base::Time::Now)); | 282 |
| 283 serial_connection_manager_.reset(new ApiResourceManager<SerialConnection>( |
| 284 BrowserThread::FILE)); |
| 285 socket_manager_.reset(new ApiResourceManager<Socket>(BrowserThread::IO)); |
| 286 usb_device_resource_manager_.reset( |
| 287 new ApiResourceManager<UsbDeviceResource>(BrowserThread::IO)); |
| 283 | 288 |
| 284 shared_->Init(extensions_enabled); | 289 shared_->Init(extensions_enabled); |
| 285 } | 290 } |
| 286 | 291 |
| 287 ExtensionService* ExtensionSystemImpl::extension_service() { | 292 ExtensionService* ExtensionSystemImpl::extension_service() { |
| 288 return shared_->extension_service(); | 293 return shared_->extension_service(); |
| 289 } | 294 } |
| 290 | 295 |
| 291 ManagementPolicy* ExtensionSystemImpl::management_policy() { | 296 ManagementPolicy* ExtensionSystemImpl::management_policy() { |
| 292 return shared_->management_policy(); | 297 return shared_->management_policy(); |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 327 } | 332 } |
| 328 | 333 |
| 329 ExtensionEventRouter* ExtensionSystemImpl::event_router() { | 334 ExtensionEventRouter* ExtensionSystemImpl::event_router() { |
| 330 return shared_->event_router(); | 335 return shared_->event_router(); |
| 331 } | 336 } |
| 332 | 337 |
| 333 RulesRegistryService* ExtensionSystemImpl::rules_registry_service() { | 338 RulesRegistryService* ExtensionSystemImpl::rules_registry_service() { |
| 334 return shared_->rules_registry_service(); | 339 return shared_->rules_registry_service(); |
| 335 } | 340 } |
| 336 | 341 |
| 342 ApiResourceManager<SerialConnection>* |
| 343 ExtensionSystemImpl::serial_connection_manager() { |
| 344 return serial_connection_manager_.get(); |
| 345 } |
| 346 |
| 347 ApiResourceManager<Socket>*ExtensionSystemImpl::socket_manager() { |
| 348 return socket_manager_.get(); |
| 349 } |
| 350 |
| 351 ApiResourceManager<UsbDeviceResource>* |
| 352 ExtensionSystemImpl::usb_device_resource_manager() { |
| 353 return usb_device_resource_manager_.get(); |
| 354 } |
| 355 |
| 337 void ExtensionSystemImpl::RegisterExtensionWithRequestContexts( | 356 void ExtensionSystemImpl::RegisterExtensionWithRequestContexts( |
| 338 const Extension* extension) { | 357 const Extension* extension) { |
| 339 base::Time install_time; | 358 base::Time install_time; |
| 340 if (extension->location() != Extension::COMPONENT) { | 359 if (extension->location() != Extension::COMPONENT) { |
| 341 install_time = extension_service()->extension_prefs()-> | 360 install_time = extension_service()->extension_prefs()-> |
| 342 GetInstallTime(extension->id()); | 361 GetInstallTime(extension->id()); |
| 343 } | 362 } |
| 344 bool incognito_enabled = | 363 bool incognito_enabled = |
| 345 extension_service()->IsIncognitoEnabled(extension->id()); | 364 extension_service()->IsIncognitoEnabled(extension->id()); |
| 346 BrowserThread::PostTask( | 365 BrowserThread::PostTask( |
| 347 BrowserThread::IO, FROM_HERE, | 366 BrowserThread::IO, FROM_HERE, |
| 348 base::Bind(&ExtensionInfoMap::AddExtension, info_map(), | 367 base::Bind(&ExtensionInfoMap::AddExtension, info_map(), |
| 349 make_scoped_refptr(extension), install_time, | 368 make_scoped_refptr(extension), install_time, |
| 350 incognito_enabled)); | 369 incognito_enabled)); |
| 351 } | 370 } |
| 352 | 371 |
| 353 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( | 372 void ExtensionSystemImpl::UnregisterExtensionWithRequestContexts( |
| 354 const std::string& extension_id, | 373 const std::string& extension_id, |
| 355 const extension_misc::UnloadedExtensionReason reason) { | 374 const extension_misc::UnloadedExtensionReason reason) { |
| 356 BrowserThread::PostTask( | 375 BrowserThread::PostTask( |
| 357 BrowserThread::IO, FROM_HERE, | 376 BrowserThread::IO, FROM_HERE, |
| 358 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), | 377 base::Bind(&ExtensionInfoMap::RemoveExtension, info_map(), |
| 359 extension_id, reason)); | 378 extension_id, reason)); |
| 360 } | 379 } |
| 361 | 380 |
| 362 } // namespace extensions | 381 } // namespace extensions |
| OLD | NEW |