1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CONTENT_SHELL_SHELL_DEVTOOLS_FRONTEND_H_ 6#define CONTENT_SHELL_SHELL_DEVTOOLS_FRONTEND_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "base/memory/ref_counted.h" 11#include "base/memory/scoped_ptr.h" 12#include "content/public/browser/devtools_agent_host.h" 13#include "content/public/browser/devtools_client_host.h" 14#include "content/public/browser/devtools_frontend_host_delegate.h" 15#include "content/public/browser/web_contents_observer.h" 16 17namespace content { 18 19class RenderViewHost; 20class Shell; 21class WebContents; 22 23class ShellDevToolsFrontend : public WebContentsObserver, 24 public DevToolsFrontendHostDelegate { 25 public: 26 static ShellDevToolsFrontend* Show(WebContents* inspected_contents); 27 void Focus(); 28 void Close(); 29 30 Shell* frontend_shell() const { return frontend_shell_; } 31 32 private: 33 ShellDevToolsFrontend(Shell* frontend_shell, DevToolsAgentHost* agent_host); 34 virtual ~ShellDevToolsFrontend(); 35 36 // WebContentsObserver overrides 37 virtual void RenderViewCreated(RenderViewHost* render_view_host) OVERRIDE; 38 virtual void WebContentsDestroyed(WebContents* web_contents) OVERRIDE; 39 40 // DevToolsFrontendHostDelegate implementation 41 virtual void ActivateWindow() OVERRIDE {} 42 virtual void ChangeAttachedWindowHeight(unsigned height) OVERRIDE {} 43 virtual void CloseWindow() OVERRIDE {} 44 virtual void MoveWindow(int x, int y) OVERRIDE {} 45 virtual void SetDockSide(const std::string& side) OVERRIDE {} 46 virtual void OpenInNewTab(const std::string& url) OVERRIDE {} 47 virtual void SaveToFile(const std::string& url, 48 const std::string& content, 49 bool save_as) OVERRIDE {} 50 virtual void AppendToFile(const std::string& url, 51 const std::string& content) OVERRIDE {} 52 virtual void RequestFileSystems() OVERRIDE {} 53 virtual void AddFileSystem() OVERRIDE {} 54 virtual void RemoveFileSystem(const std::string& file_system_path) OVERRIDE {} 55 virtual void IndexPath(int request_id, 56 const std::string& file_system_path) OVERRIDE {} 57 virtual void StopIndexing(int request_id) OVERRIDE {} 58 virtual void SearchInPath(int request_id, 59 const std::string& file_system_path, 60 const std::string& query) OVERRIDE {} 61 62 virtual void InspectedContentsClosing() OVERRIDE; 63 64 Shell* frontend_shell_; 65 scoped_refptr<DevToolsAgentHost> agent_host_; 66 scoped_ptr<DevToolsClientHost> frontend_host_; 67 68 DISALLOW_COPY_AND_ASSIGN(ShellDevToolsFrontend); 69}; 70 71} // namespace content 72 73#endif // CONTENT_SHELL_SHELL_DEVTOOLS_FRONTEND_H_ 74