Home | History | Annotate | Download | only in renderer
      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