1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
// Copyright 2016 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.
module content.mojom;
import "content/common/native_types.mojom";
import "ipc/ipc.mojom";
import "mojo/common/time.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
import "ui/gfx/mojo/icc_profile.mojom";
struct CreateViewParams {
// Renderer-wide preferences.
RendererPreferences renderer_preferences;
// Preferences for this view.
WebPreferences web_preferences;
// The ID of the view to be created.
int32 view_id = IPC.mojom.kRoutingIdNone;
// The ID of the main frame hosted in the view.
int32 main_frame_routing_id = IPC.mojom.kRoutingIdNone;
// The ID of the widget for the main frame.
int32 main_frame_widget_routing_id = IPC.mojom.kRoutingIdNone;
// The session storage namespace ID this view should use.
int64 session_storage_namespace_id;
// The route ID of the opener RenderFrame or RenderFrameProxy, if we need to
// set one (MSG_ROUTING_NONE otherwise).
int32 opener_frame_route_id = IPC.mojom.kRoutingIdNone;
// Whether the RenderView should initially be swapped out.
bool swapped_out;
// Carries replicated information, such as frame name and sandbox flags, for
// this view's main frame, which will be a proxy in |swapped_out|
// views when in --site-per-process mode, or a RenderFrame in all other
// cases.
FrameReplicationState replicated_frame_state;
// The ID of the proxy object for the main frame in this view. It is only
// used if |swapped_out| is true.
int32 proxy_routing_id = IPC.mojom.kRoutingIdNone;
// Whether the RenderView should initially be hidden.
bool hidden;
// Whether the RenderView will never be visible.
bool never_visible;
// Whether the window associated with this view was created with an opener.
bool window_was_created_with_opener;
// The initial renderer size.
ResizeParams initial_size;
// Whether to enable auto-resize.
bool enable_auto_resize;
// The minimum size to layout the page if auto-resize is enabled.
gfx.mojom.Size min_size;
// The maximum size to layout the page if auto-resize is enabled.
gfx.mojom.Size max_size;
// The page zoom level.
double page_zoom_level;
// The ICC profile of the output color space to use for image decode.
gfx.mojom.ICCProfile image_decode_color_space;
};
struct CreateFrameWidgetParams {
// Gives the routing ID for the RenderWidget that will be attached to the
// new RenderFrame. If the RenderFrame does not need a RenderWidget, this
// is MSG_ROUTING_NONE and the other parameters are not read.
int32 routing_id;
// Tells the new RenderWidget whether it is initially hidden.
bool hidden;
};
struct CreateFrameParams {
// Specifies the routing ID of the new RenderFrame object.
int32 routing_id;
// If a valid |proxy_routing_id| is provided, the new frame will be
// configured to replace the proxy on commit.
int32 proxy_routing_id;
// Specifies the new frame's opener. The opener will be null if this is
// MSG_ROUTING_NONE.
int32 opener_routing_id;
// The new frame should be created as a child of the object
// identified by |parent_routing_id| or as top level if that is
// MSG_ROUTING_NONE.
int32 parent_routing_id;
// Identifies the previous sibling of the new frame, so that the new frame is
// inserted into the correct place in the frame tree. If this is
// MSG_ROUTING_NONE, the frame will be created as the leftmost child of its
// parent frame, in front of any other children.
int32 previous_sibling_routing_id;
// When the new frame has a parent, |replication_state| holds the new frame's
// properties replicated from the process rendering the parent frame, such as
// the new frame's sandbox flags.
FrameReplicationState replication_state;
// When the new frame has a parent, |frame_owner_properties| holds the
// properties of the HTMLFrameOwnerElement from the parent process.
// Note that unlike FrameReplicationState, this is not replicated for remote
// frames.
FrameOwnerProperties frame_owner_properties;
// Specifies properties for a new RenderWidget that will be attached to the
// new RenderFrame (if one is needed).
CreateFrameWidgetParams widget_params;
};
struct UpdateScrollbarThemeParams {
float initial_button_delay;
float autoscroll_button_delay;
bool jump_on_track_click;
ScrollerStyle preferred_scroller_style;
bool redraw;
ScrollbarButtonsPlacement button_placement;
};
// The primordial Channel-associated interface implemented by a render process.
// This should be used for implementing browser-to-renderer control messages
// which need to retain FIFO with respect to legacy IPC messages.
interface Renderer {
// Tells the renderer to create a new view.
CreateView(CreateViewParams params);
// Tells the renderer to create a new RenderFrame.
CreateFrame(CreateFrameParams params);
// Tells the renderer to create a new RenderFrameProxy object with
// |routing_id|. |render_view_routing_id| identifies the
// RenderView to be associated with this proxy. The new proxy's opener should
// be set to the object identified by |opener_routing_id|, or to null if that
// is MSG_ROUTING_NONE. The new proxy should be created as a child of the
// object identified by |parent_routing_id| or as top level if that is
// MSG_ROUTING_NONE.
CreateFrameProxy(int32 routing_id, int32 render_view_routing_id,
int32 opener_routing_id, int32 parent_routing_id,
FrameReplicationState replication_state);
// Tells the renderer that the network type has changed so that
// navigator.onLine and navigator.connection can be updated.
OnNetworkConnectionChanged(NetworkConnectionType connection_type,
double max_bandwidth_mbps);
// Tells the renderer process that the network quality estimate has changed.
// EffectiveConnectionType is the connection type whose typical performance is
// most similar to the measured performance of the network in use.
// The downstream throughput is computed in kilobits per second. If an
// estimate of the HTTP or transport RTT is unavailable, it will be set to
// net::nqe::internal::InvalidRTT(). If the throughput estimate is
// unavailable, it will be set to net::nqe::internal::kInvalidThroughput.
OnNetworkQualityChanged(EffectiveConnectionType effective_connection_type,
mojo.common.mojom.TimeDelta http_rtt,
mojo.common.mojom.TimeDelta transport_rtt,
double bandwidth_kbps);
// Tells the renderer to suspend/resume the webkit timers. Only for use on
// Android.
SetWebKitSharedTimersSuspended(bool suspend);
// Tells the renderer about a scrollbar appearance change. Only for use on
// OS X.
UpdateScrollbarTheme(UpdateScrollbarThemeParams params);
// Notification that the OS X Aqua color preferences changed.
OnSystemColorsChanged(int32 aqua_color_variant, string highlight_text_color,
string highlight_color);
// Tells the renderer to empty its plugin list cache, optional reloading
// pages containing plugins.
PurgePluginListCache(bool reload_pages);
};
|