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

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

Issue 8549022: Define DevTools content API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: DevToolsManager -> DevToolsManagerImpl, moved client to public Created 9 years, 1 month 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_devtools_bridge.h" 5 #include "chrome/browser/extensions/extension_devtools_bridge.h"
6 6
7 #include "base/json/json_writer.h" 7 #include "base/json/json_writer.h"
8 #include "base/message_loop.h" 8 #include "base/message_loop.h"
9 #include "base/string_util.h" 9 #include "base/string_util.h"
10 #include "base/stringprintf.h" 10 #include "base/stringprintf.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "chrome/browser/extensions/extension_devtools_events.h" 12 #include "chrome/browser/extensions/extension_devtools_events.h"
13 #include "chrome/browser/extensions/extension_devtools_manager.h" 13 #include "chrome/browser/extensions/extension_devtools_manager.h"
14 #include "chrome/browser/extensions/extension_event_router.h" 14 #include "chrome/browser/extensions/extension_event_router.h"
15 #include "chrome/browser/extensions/extension_tab_util.h" 15 #include "chrome/browser/extensions/extension_tab_util.h"
16 #include "chrome/browser/profiles/profile.h" 16 #include "chrome/browser/profiles/profile.h"
17 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 17 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
18 #include "content/browser/debugger/devtools_manager.h"
19 #include "content/browser/tab_contents/tab_contents.h" 18 #include "content/browser/tab_contents/tab_contents.h"
20 #include "content/common/devtools_messages.h" 19 #include "content/common/devtools_messages.h"
20 #include "content/public/browser/devtools/devtools_agent_host_registry.h"
21 #include "content/public/browser/devtools/devtools_manager.h"
22
23 using content::DevToolsAgentHost;
24 using content::DevToolsAgentHostRegistry;
25 using content::DevToolsManager;
21 26
22 ExtensionDevToolsBridge::ExtensionDevToolsBridge(int tab_id, 27 ExtensionDevToolsBridge::ExtensionDevToolsBridge(int tab_id,
23 Profile* profile) 28 Profile* profile)
24 : tab_id_(tab_id), 29 : tab_id_(tab_id),
25 profile_(profile), 30 profile_(profile),
26 on_page_event_name_( 31 on_page_event_name_(
27 ExtensionDevToolsEvents::OnPageEventNameForTab(tab_id)), 32 ExtensionDevToolsEvents::OnPageEventNameForTab(tab_id)),
28 on_tab_close_event_name_( 33 on_tab_close_event_name_(
29 ExtensionDevToolsEvents::OnTabCloseEventNameForTab(tab_id)) { 34 ExtensionDevToolsEvents::OnTabCloseEventNameForTab(tab_id)) {
30 extension_devtools_manager_ = profile_->GetExtensionDevToolsManager(); 35 extension_devtools_manager_ = profile_->GetExtensionDevToolsManager();
(...skipping 18 matching lines...) Expand all
49 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); 54 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI);
50 55
51 Browser* browser; 56 Browser* browser;
52 TabStripModel* tab_strip; 57 TabStripModel* tab_strip;
53 TabContentsWrapper* contents; 58 TabContentsWrapper* contents;
54 int tab_index; 59 int tab_index;
55 if (ExtensionTabUtil::GetTabById(tab_id_, profile_, true, 60 if (ExtensionTabUtil::GetTabById(tab_id_, profile_, true,
56 &browser, &tab_strip, 61 &browser, &tab_strip,
57 &contents, &tab_index)) { 62 &contents, &tab_index)) {
58 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); 63 DevToolsManager* devtools_manager = DevToolsManager::GetInstance();
59 if (devtools_manager->GetDevToolsClientHostFor(contents-> 64 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost(
60 render_view_host()) != NULL) 65 contents->render_view_host());
66 if (devtools_manager->GetDevToolsClientHostFor(agent))
61 return false; 67 return false;
62 68
63 devtools_manager->RegisterDevToolsClientHostFor( 69 devtools_manager->RegisterDevToolsClientHostFor(agent, this);
64 contents->render_view_host(), this);
65 70
66 // Following messages depend on inspector protocol that is not yet 71 // Following messages depend on inspector protocol that is not yet
67 // finalized. 72 // finalized.
68 73
69 // 1. Report front-end is loaded. 74 // 1. Report front-end is loaded.
70 devtools_manager->ForwardToDevToolsAgent( 75 devtools_manager->ForwardToDevToolsAgent(
71 this, 76 this,
72 DevToolsAgentMsg_FrontendLoaded(MSG_ROUTING_NONE)); 77 DevToolsAgentMsg_FrontendLoaded(MSG_ROUTING_NONE));
73 78
74 // 2. Start timeline profiler. 79 // 2. Start timeline profiler.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 } 130 }
126 131
127 void ExtensionDevToolsBridge::OnDispatchOnInspectorFrontend( 132 void ExtensionDevToolsBridge::OnDispatchOnInspectorFrontend(
128 const std::string& data) { 133 const std::string& data) {
129 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); 134 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI);
130 135
131 std::string json = base::StringPrintf("[%s]", data.c_str()); 136 std::string json = base::StringPrintf("[%s]", data.c_str());
132 profile_->GetExtensionEventRouter()->DispatchEventToRenderers( 137 profile_->GetExtensionEventRouter()->DispatchEventToRenderers(
133 on_page_event_name_, json, profile_, GURL()); 138 on_page_event_name_, json, profile_, GURL());
134 } 139 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698