Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: chrome/browser/extensions/extension_service.cc

Issue 10907243: Add "inspect background page" to platform app right-click menu. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix comment in test Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_service.h ('k') | chrome/browser/extensions/platform_app_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698