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

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: 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::DevToolsAgentHostRegistry;
24 using content::DevToolsManager;
21 25
22 ExtensionDevToolsBridge::ExtensionDevToolsBridge(int tab_id, 26 ExtensionDevToolsBridge::ExtensionDevToolsBridge(int tab_id,
23 Profile* profile) 27 Profile* profile)
24 : tab_id_(tab_id), 28 : tab_id_(tab_id),
25 profile_(profile), 29 profile_(profile),
26 on_page_event_name_( 30 on_page_event_name_(
27 ExtensionDevToolsEvents::OnPageEventNameForTab(tab_id)), 31 ExtensionDevToolsEvents::OnPageEventNameForTab(tab_id)),
28 on_tab_close_event_name_( 32 on_tab_close_event_name_(
29 ExtensionDevToolsEvents::OnTabCloseEventNameForTab(tab_id)) { 33 ExtensionDevToolsEvents::OnTabCloseEventNameForTab(tab_id)) {
30 extension_devtools_manager_ = profile_->GetExtensionDevToolsManager(); 34 extension_devtools_manager_ = profile_->GetExtensionDevToolsManager();
(...skipping 18 matching lines...) Expand all
49 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); 53 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI);
50 54
51 Browser* browser; 55 Browser* browser;
52 TabStripModel* tab_strip; 56 TabStripModel* tab_strip;
53 TabContentsWrapper* contents; 57 TabContentsWrapper* contents;
54 int tab_index; 58 int tab_index;
55 if (ExtensionTabUtil::GetTabById(tab_id_, profile_, true, 59 if (ExtensionTabUtil::GetTabById(tab_id_, profile_, true,
56 &browser, &tab_strip, 60 &browser, &tab_strip,
57 &contents, &tab_index)) { 61 &contents, &tab_index)) {
58 DevToolsManager* devtools_manager = DevToolsManager::GetInstance(); 62 DevToolsManager* devtools_manager = DevToolsManager::GetInstance();
59 if (devtools_manager->GetDevToolsClientHostFor(contents-> 63 DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost(
60 render_view_host()) != NULL) 64 contents->render_view_host());
65 if (devtools_manager->GetDevToolsClientHostFor(agent))
61 return false; 66 return false;
62 67
63 devtools_manager->RegisterDevToolsClientHostFor( 68 devtools_manager->RegisterDevToolsClientHostFor(agent, this);
64 contents->render_view_host(), this);
65 69
66 // Following messages depend on inspector protocol that is not yet 70 // Following messages depend on inspector protocol that is not yet
67 // finalized. 71 // finalized.
68 72
69 // 1. Report front-end is loaded. 73 // 1. Report front-end is loaded.
70 devtools_manager->ForwardToDevToolsAgent( 74 devtools_manager->ForwardToDevToolsAgent(
71 this, 75 this,
72 DevToolsAgentMsg_FrontendLoaded(MSG_ROUTING_NONE)); 76 DevToolsAgentMsg_FrontendLoaded(MSG_ROUTING_NONE));
73 77
74 // 2. Start timeline profiler. 78 // 2. Start timeline profiler.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 } 129 }
126 130
127 void ExtensionDevToolsBridge::OnDispatchOnInspectorFrontend( 131 void ExtensionDevToolsBridge::OnDispatchOnInspectorFrontend(
128 const std::string& data) { 132 const std::string& data) {
129 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI); 133 DCHECK_EQ(MessageLoop::current()->type(), MessageLoop::TYPE_UI);
130 134
131 std::string json = base::StringPrintf("[%s]", data.c_str()); 135 std::string json = base::StringPrintf("[%s]", data.c_str());
132 profile_->GetExtensionEventRouter()->DispatchEventToRenderers( 136 profile_->GetExtensionEventRouter()->DispatchEventToRenderers(
133 on_page_event_name_, json, profile_, GURL()); 137 on_page_event_name_, json, profile_, GURL());
134 } 138 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698