diff options
Diffstat (limited to 'chrome/browser/debugger/devtools_manager.cc')
-rw-r--r-- | chrome/browser/debugger/devtools_manager.cc | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/chrome/browser/debugger/devtools_manager.cc b/chrome/browser/debugger/devtools_manager.cc index 470fb5c..9f63a97 100644 --- a/chrome/browser/debugger/devtools_manager.cc +++ b/chrome/browser/debugger/devtools_manager.cc @@ -11,6 +11,7 @@ #include "chrome/browser/tab_contents/web_contents.h" #include "chrome/common/notification_registrar.h" #include "chrome/common/notification_type.h" +#include "chrome/renderer/devtools_messages.h" DevToolsManager::DevToolsManager() : web_contents_listeners_(NULL) { } @@ -127,6 +128,28 @@ void DevToolsManager::ForwardToDevToolsClient(const RenderViewHost& from, target_host->SendMessageToClient(message); } +void DevToolsManager::OpenDevToolsWindow(WebContents* wc) { + DevToolsClientHost* host = GetDevToolsClientHostFor(*wc); + if (!host) { + host = DevToolsWindow::Create(); + RegisterDevToolsClientHostFor(*wc, host); + } + DevToolsWindow* window = host->AsDevToolsWindow(); + if (window) + window->Show(); +} + +void DevToolsManager::InspectElement(WebContents* wc, int x, int y) { + OpenDevToolsWindow(wc); + RenderViewHost* target_host = wc->render_view_host(); + if (!target_host) { + return; + } + IPC::Message* m = new DevToolsAgentMsg_InspectElement(x, y); + m->set_routing_id(target_host->routing_id()); + target_host->Send(m); +} + void DevToolsManager::ClientHostClosing(DevToolsClientHost* host) { NavigationController* controller = GetDevToolsAgentNavigationController( *host); |