render_frame.h revision 868fa2fe829687343ffae624259930155e16dbd8
1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file.
4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "content/common/content_export.h"
9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ipc/ipc_listener.h"
10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "ipc/ipc_sender.h"
11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace content {
13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// This interface wraps functionality, which is specific to frames, such as
15868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// navigation. It provides communication with a corresponding RenderFrameHost
16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// in the browser process.
17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class CONTENT_EXPORT RenderFrame : public IPC::Listener,
18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)                                   public IPC::Sender {
19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) protected:
20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  virtual ~RenderFrame() {}
21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) private:
23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  // This interface should only be implemented inside content.
24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  friend class RenderFrameImpl;
25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)  RenderFrame() {}
26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)};
27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}  // namespace content
29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)
30868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif  // CONTENT_PUBLIC_RENDERER_RENDER_FRAME_H_
31