1 // Copyright (c) 2012 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_RENDERER_DEVTOOLS_DEVTOOLS_CLIENT_H_ 6 #define CONTENT_RENDERER_DEVTOOLS_DEVTOOLS_CLIENT_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "base/memory/scoped_ptr.h" 12 #include "content/public/renderer/render_view_observer.h" 13 #include "third_party/WebKit/public/web/WebDevToolsFrontendClient.h" 14 15 namespace WebKit { 16 class WebDevToolsFrontend; 17 class WebString; 18 } 19 20 namespace content { 21 22 class RenderViewImpl; 23 24 // Developer tools UI end of communication channel between the render process of 25 // the page being inspected and tools UI renderer process. All messages will 26 // go through browser process. On the side of the inspected page there's 27 // corresponding DevToolsAgent object. 28 // TODO(yurys): now the client is almost empty later it will delegate calls to 29 // code in glue 30 class CONTENT_EXPORT DevToolsClient 31 : public RenderViewObserver, 32 NON_EXPORTED_BASE(public WebKit::WebDevToolsFrontendClient) { 33 public: 34 explicit DevToolsClient(RenderViewImpl* render_view); 35 virtual ~DevToolsClient(); 36 37 private: 38 // RenderView::Observer implementation. 39 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 40 41 // WebDevToolsFrontendClient implementation. 42 virtual void sendMessageToBackend(const WebKit::WebString&) OVERRIDE; 43 44 virtual void activateWindow() OVERRIDE; 45 virtual void changeAttachedWindowHeight(unsigned height) OVERRIDE; 46 virtual void closeWindow() OVERRIDE; 47 virtual void moveWindowBy(const WebKit::WebFloatPoint& offset) OVERRIDE; 48 virtual void requestSetDockSide(const WebKit::WebString& side) OVERRIDE; 49 virtual void openInNewTab(const WebKit::WebString& side) OVERRIDE; 50 virtual void save(const WebKit::WebString& url, 51 const WebKit::WebString& content, 52 bool save_as) OVERRIDE; 53 virtual void append(const WebKit::WebString& url, 54 const WebKit::WebString& content) OVERRIDE; 55 56 virtual void requestFileSystems() OVERRIDE; 57 virtual void addFileSystem() OVERRIDE; 58 virtual void removeFileSystem( 59 const WebKit::WebString& file_system_path) OVERRIDE; 60 virtual void indexPath(int request_id, 61 const WebKit::WebString& file_system_path) OVERRIDE; 62 virtual void stopIndexing(int request_id) OVERRIDE; 63 virtual void searchInPath(int request_id, 64 const WebKit::WebString& file_system_path, 65 const WebKit::WebString& query) OVERRIDE; 66 67 virtual bool isUnderTest() OVERRIDE; 68 69 void OnDispatchOnInspectorFrontend(const std::string& message); 70 71 scoped_ptr<WebKit::WebDevToolsFrontend> web_tools_frontend_; 72 73 DISALLOW_COPY_AND_ASSIGN(DevToolsClient); 74 }; 75 76 } // namespace content 77 78 #endif // CONTENT_RENDERER_DEVTOOLS_DEVTOOLS_CLIENT_H_ 79