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 CHROME_RENDERER_PRERENDER_PRERENDER_EXTRA_DATA_H_
6#define CHROME_RENDERER_PRERENDER_PRERENDER_EXTRA_DATA_H_
7
8#include "base/compiler_specific.h"
9#include "third_party/WebKit/public/platform/WebPrerender.h"
10#include "ui/gfx/size.h"
11
12namespace prerender {
13
14class PrerenderExtraData : public blink::WebPrerender::ExtraData {
15 public:
16  PrerenderExtraData(int prerender_id,
17                     int render_view_route_id,
18                     const gfx::Size& size);
19  virtual ~PrerenderExtraData();
20
21  int prerender_id() const { return prerender_id_; }
22  int render_view_route_id() const { return render_view_route_id_; }
23  const gfx::Size& size() const { return size_; }
24
25  static const PrerenderExtraData& FromPrerender(
26      const blink::WebPrerender& prerender);
27
28 private:
29  const int prerender_id_;
30  const int render_view_route_id_;
31  const gfx::Size size_;
32
33  DISALLOW_COPY_AND_ASSIGN(PrerenderExtraData);
34};
35
36}  // namespace prerender
37
38#endif  // CHROME_RENDERER_PRERENDER_PRERENDER_EXTRA_DATA_H_
39
40