blob: 78df3331efd3ddd9a4e642915e986fa04ed4dcbf [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
#define CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_
#include "base/compiler_specific.h"
#include "content/public/browser/render_frame_host.h"
namespace content {
class RenderProcessHost;
class RenderViewHostImpl;
class CONTENT_EXPORT RenderFrameHostImpl : public RenderFrameHost {
public:
static RenderFrameHostImpl* FromID(int process_id, int routing_id);
RenderFrameHostImpl(RenderViewHostImpl* render_view_host,
int routing_id,
bool is_swapped_out);
virtual ~RenderFrameHostImpl();
// IPC::Sender
virtual bool Send(IPC::Message* msg) OVERRIDE;
// IPC::Listener
virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
void Init();
RenderProcessHost* GetProcess() const;
int routing_id() const { return routing_id_; }
private:
bool is_swapped_out() { return is_swapped_out_; }
RenderViewHostImpl* render_view_host_; // Not owned. Outlives this object.
int routing_id_;
bool is_swapped_out_;
DISALLOW_COPY_AND_ASSIGN(RenderFrameHostImpl);
};
} // namespace content
#endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_FRAME_HOST_IMPL_H_