1 // Copyright 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_RENDER_VIEW_OBSERVER_H_ 6 #define CONTENT_SHELL_SHELL_RENDER_VIEW_OBSERVER_H_ 7 8 #include <string> 9 #include "base/memory/scoped_ptr.h" 10 #include "content/public/renderer/render_view_observer.h" 11 12 namespace blink { 13 class WebFrame; 14 } 15 16 namespace content { 17 18 class IPCEcho; 19 class RenderView; 20 21 22 class ShellRenderViewObserver : public RenderViewObserver { 23 public: 24 explicit ShellRenderViewObserver(RenderView* render_view); 25 virtual ~ShellRenderViewObserver(); 26 27 private: 28 // Message handlers. 29 void OnEchoPong(int id, const std::string& body); 30 31 // RenderViewObserver implementation. 32 virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; 33 virtual void DidClearWindowObject(blink::WebLocalFrame* frame) OVERRIDE; 34 35 scoped_ptr<IPCEcho> ipc_echo_; 36 DISALLOW_COPY_AND_ASSIGN(ShellRenderViewObserver); 37 }; 38 39 } // namespace content 40 41 #endif // CONTENT_SHELL_SHELL_RENDER_VIEW_OBSERVER_H_ 42