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 CONTENT_RENDERER_RENDER_VIEW_IMPL_PARAMS_H_
6#define CONTENT_RENDERER_RENDER_VIEW_IMPL_PARAMS_H_
7
8#include "base/basictypes.h"
9#include "base/memory/ref_counted.h"
10#include "base/strings/string16.h"
11#include "content/common/content_export.h"
12#include "ui/gfx/geometry/size.h"
13
14struct ViewMsg_Resize_Params;
15
16namespace blink {
17struct WebScreenInfo;
18}
19
20namespace content {
21
22struct RendererPreferences;
23struct WebPreferences;
24
25// Container for all parameters passed to RenderViewImpl's constructor.
26struct CONTENT_EXPORT RenderViewImplParams {
27  RenderViewImplParams(int32 opener_id,
28                       bool window_was_created_with_opener,
29                       const RendererPreferences& renderer_prefs,
30                       const WebPreferences& webkit_prefs,
31                       int32 routing_id,
32                       int32 main_frame_routing_id,
33                       int32 surface_id,
34                       int64 session_storage_namespace_id,
35                       const base::string16& frame_name,
36                       bool is_renderer_created,
37                       bool swapped_out,
38                       int32 proxy_routing_id,
39                       bool hidden,
40                       bool never_visible,
41                       int32 next_page_id,
42                       const ViewMsg_Resize_Params& initial_size,
43                       bool enable_auto_resize,
44                       const gfx::Size& min_size,
45                       const gfx::Size& max_size);
46  ~RenderViewImplParams();
47
48  int32 opener_id;
49  bool window_was_created_with_opener;
50  const RendererPreferences& renderer_prefs;
51  const WebPreferences& webkit_prefs;
52  int32 routing_id;
53  int32 main_frame_routing_id;
54  int32 surface_id;
55  int64 session_storage_namespace_id;
56  const base::string16& frame_name;
57  bool is_renderer_created;
58  bool swapped_out;
59  int32 proxy_routing_id;
60  bool hidden;
61  bool never_visible;
62  int32 next_page_id;
63  const ViewMsg_Resize_Params& initial_size;
64  bool enable_auto_resize;
65  gfx::Size min_size;
66  gfx::Size max_size;
67};
68
69}  // namespace content
70
71#endif  // CONTENT_RENDERER_RENDER_VIEW_IMPL_PARAMS_H_
72