1ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// Use of this source code is governed by a BSD-style license that can be 3ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen// found in the LICENSE file. 4ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 5ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/debugger/devtools_handler.h" 6ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 7ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/browser/debugger/devtools_manager.h" 8ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen#include "chrome/common/devtools_messages.h" 9ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 10ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenDevToolsHandler::DevToolsHandler(RenderViewHost* render_view_host) 11ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen : RenderViewHostObserver(render_view_host) { 12ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 13ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 14ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian MonsenDevToolsHandler::~DevToolsHandler() { 15ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 16ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 17ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenbool DevToolsHandler::OnMessageReceived(const IPC::Message& message) { 18ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen bool handled = true; 19ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_BEGIN_MESSAGE_MAP(DevToolsHandler, message) 20ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_ForwardToAgent, OnForwardToAgent) 21ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_ForwardToClient, OnForwardToClient) 22ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_ActivateWindow, OnActivateWindow) 23ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_CloseWindow, OnCloseWindow) 24ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_RequestDockWindow, OnRequestDockWindow) 25ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_RequestUndockWindow, 26ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen OnRequestUndockWindow) 27ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_HANDLER(DevToolsHostMsg_RuntimePropertyChanged, 28ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen OnRuntimePropertyChanged) 29ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_MESSAGE_UNHANDLED(handled = false) 30ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen IPC_END_MESSAGE_MAP() 31ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen return handled; 32ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 33ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 34ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnForwardToAgent(const IPC::Message& message) { 35ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->ForwardToDevToolsAgent( 36ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen render_view_host(), message); 37ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 38ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 39ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnForwardToClient(const IPC::Message& message) { 40ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->ForwardToDevToolsClient( 41ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen render_view_host(), message); 42ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 43ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 44ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnActivateWindow() { 45ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->ActivateWindow(render_view_host()); 46ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 47ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 48ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnCloseWindow() { 49ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->CloseWindow(render_view_host()); 50ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 51ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 52ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnRequestDockWindow() { 53ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->RequestDockWindow(render_view_host()); 54ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 55ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 56ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnRequestUndockWindow() { 57ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->RequestUndockWindow(render_view_host()); 58ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 59ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen 60ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsenvoid DevToolsHandler::OnRuntimePropertyChanged(const std::string& name, 61ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen const std::string& value) { 62ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen DevToolsManager::GetInstance()->RuntimePropertyChanged( 63ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen render_view_host(), name, value); 64ddb351dbec246cf1fab5ec20d2d5520909041de1Kristian Monsen} 65