| 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_service.h" | 5 #include "chrome/browser/extensions/extension_service.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 #include "base/threading/thread_restrictions.h" | 23 #include "base/threading/thread_restrictions.h" |
| 24 #include "base/time.h" | 24 #include "base/time.h" |
| 25 #include "base/utf_string_conversions.h" | 25 #include "base/utf_string_conversions.h" |
| 26 #include "base/values.h" | 26 #include "base/values.h" |
| 27 #include "base/version.h" | 27 #include "base/version.h" |
| 28 #include "chrome/browser/accessibility/accessibility_extension_api.h" | 28 #include "chrome/browser/accessibility/accessibility_extension_api.h" |
| 29 #include "chrome/browser/bookmarks/bookmark_extension_api.h" | 29 #include "chrome/browser/bookmarks/bookmark_extension_api.h" |
| 30 #include "chrome/browser/bookmarks/bookmark_model_factory.h" | 30 #include "chrome/browser/bookmarks/bookmark_model_factory.h" |
| 31 #include "chrome/browser/browser_process.h" | 31 #include "chrome/browser/browser_process.h" |
| 32 #include "chrome/browser/chrome_plugin_service_filter.h" | 32 #include "chrome/browser/chrome_plugin_service_filter.h" |
| 33 #include "chrome/browser/debugger/devtools_window.h" |
| 33 #include "chrome/browser/extensions/api/cookies/cookies_api.h" | 34 #include "chrome/browser/extensions/api/cookies/cookies_api.h" |
| 34 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" | 35 #include "chrome/browser/extensions/api/declarative/rules_registry_service.h" |
| 35 #include "chrome/browser/extensions/api/extension_action/extension_actions_api.h
" | 36 #include "chrome/browser/extensions/api/extension_action/extension_actions_api.h
" |
| 36 #include "chrome/browser/extensions/api/font_settings/font_settings_api.h" | 37 #include "chrome/browser/extensions/api/font_settings/font_settings_api.h" |
| 37 #include "chrome/browser/extensions/api/managed_mode/managed_mode_api.h" | 38 #include "chrome/browser/extensions/api/managed_mode/managed_mode_api.h" |
| 38 #include "chrome/browser/extensions/api/management/management_api.h" | 39 #include "chrome/browser/extensions/api/management/management_api.h" |
| 39 #include "chrome/browser/extensions/api/media_galleries_private/media_galleries_
private_event_router.h" | 40 #include "chrome/browser/extensions/api/media_galleries_private/media_galleries_
private_event_router.h" |
| 40 #include "chrome/browser/extensions/api/processes/processes_api.h" | 41 #include "chrome/browser/extensions/api/processes/processes_api.h" |
| 41 #include "chrome/browser/extensions/api/push_messaging/push_messaging_api.h" | 42 #include "chrome/browser/extensions/api/push_messaging/push_messaging_api.h" |
| 42 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" | 43 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api.h" |
| (...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2512 | 2513 |
| 2513 void ExtensionService::SetBackgroundPageReady(const Extension* extension) { | 2514 void ExtensionService::SetBackgroundPageReady(const Extension* extension) { |
| 2514 DCHECK(extension->has_background_page()); | 2515 DCHECK(extension->has_background_page()); |
| 2515 extension_runtime_data_[extension->id()].background_page_ready = true; | 2516 extension_runtime_data_[extension->id()].background_page_ready = true; |
| 2516 content::NotificationService::current()->Notify( | 2517 content::NotificationService::current()->Notify( |
| 2517 chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY, | 2518 chrome::NOTIFICATION_EXTENSION_BACKGROUND_PAGE_READY, |
| 2518 content::Source<const Extension>(extension), | 2519 content::Source<const Extension>(extension), |
| 2519 content::NotificationService::NoDetails()); | 2520 content::NotificationService::NoDetails()); |
| 2520 } | 2521 } |
| 2521 | 2522 |
| 2523 void ExtensionService::InspectBackgroundPage(const Extension* extension) { |
| 2524 DCHECK(extension); |
| 2525 |
| 2526 ExtensionProcessManager* pm = profile_->GetExtensionProcessManager(); |
| 2527 extensions::LazyBackgroundTaskQueue* queue = |
| 2528 extensions::ExtensionSystem::Get(profile_)->lazy_background_task_queue(); |
| 2529 |
| 2530 extensions::ExtensionHost* host = |
| 2531 pm->GetBackgroundHostForExtension(extension->id()); |
| 2532 if (host) { |
| 2533 InspectExtensionHost(host); |
| 2534 } else { |
| 2535 queue->AddPendingTask( |
| 2536 profile_, extension->id(), |
| 2537 base::Bind(&ExtensionService::InspectExtensionHost, |
| 2538 base::Unretained(this))); |
| 2539 } |
| 2540 } |
| 2541 |
| 2522 bool ExtensionService::IsBeingUpgraded(const Extension* extension) const { | 2542 bool ExtensionService::IsBeingUpgraded(const Extension* extension) const { |
| 2523 ExtensionRuntimeDataMap::const_iterator it = | 2543 ExtensionRuntimeDataMap::const_iterator it = |
| 2524 extension_runtime_data_.find(extension->id()); | 2544 extension_runtime_data_.find(extension->id()); |
| 2525 return it == extension_runtime_data_.end() ? false : | 2545 return it == extension_runtime_data_.end() ? false : |
| 2526 it->second.being_upgraded; | 2546 it->second.being_upgraded; |
| 2527 } | 2547 } |
| 2528 | 2548 |
| 2529 void ExtensionService::SetBeingUpgraded(const Extension* extension, | 2549 void ExtensionService::SetBeingUpgraded(const Extension* extension, |
| 2530 bool value) { | 2550 bool value) { |
| 2531 extension_runtime_data_[extension->id()].being_upgraded = value; | 2551 extension_runtime_data_[extension->id()].being_upgraded = value; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2637 extensions::ExtensionHost* extension_host) { | 2657 extensions::ExtensionHost* extension_host) { |
| 2638 if (!extension_host) | 2658 if (!extension_host) |
| 2639 return; | 2659 return; |
| 2640 | 2660 |
| 2641 #if !defined(OS_ANDROID) | 2661 #if !defined(OS_ANDROID) |
| 2642 extensions::LaunchPlatformApp(extension_host->profile(), | 2662 extensions::LaunchPlatformApp(extension_host->profile(), |
| 2643 extension_host->extension(), | 2663 extension_host->extension(), |
| 2644 NULL, FilePath()); | 2664 NULL, FilePath()); |
| 2645 #endif | 2665 #endif |
| 2646 } | 2666 } |
| 2667 |
| 2668 void ExtensionService::InspectExtensionHost( |
| 2669 extensions::ExtensionHost* host) { |
| 2670 if (host) |
| 2671 DevToolsWindow::OpenDevToolsWindow(host->render_view_host()); |
| 2672 } |
| OLD | NEW |