Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(539)

Side by Side Diff: content/renderer/render_frame_proxy.h

Issue 1094113003: Allow out-of-process iframes to render to compositing surfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Missed one Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_RENDER_FRAME_PROXY_H_ 5 #ifndef CONTENT_RENDERER_RENDER_FRAME_PROXY_H_
6 #define CONTENT_RENDERER_RENDER_FRAME_PROXY_H_ 6 #define CONTENT_RENDERER_RENDER_FRAME_PROXY_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "content/common/content_export.h" 10 #include "content/common/content_export.h"
11 #include "ipc/ipc_listener.h" 11 #include "ipc/ipc_listener.h"
12 #include "ipc/ipc_sender.h" 12 #include "ipc/ipc_sender.h"
13 #include "third_party/WebKit/public/web/WebRemoteFrame.h" 13 #include "third_party/WebKit/public/web/WebRemoteFrame.h"
14 #include "third_party/WebKit/public/web/WebRemoteFrameClient.h" 14 #include "third_party/WebKit/public/web/WebRemoteFrameClient.h"
15 #include "url/origin.h" 15 #include "url/origin.h"
16 16
17 struct FrameMsg_BuffersSwapped_Params; 17 struct FrameMsg_BuffersSwapped_Params;
18 struct FrameMsg_CompositorFrameSwapped_Params; 18 struct FrameMsg_CompositorFrameSwapped_Params;
19 19
20 namespace blink { 20 namespace blink {
21 class WebInputEvent; 21 class WebInputEvent;
22 } 22 }
23 23
24 namespace cc {
25 struct SurfaceId;
26 struct SurfaceSequence;
27 }
28
24 namespace content { 29 namespace content {
25 30
26 class ChildFrameCompositingHelper; 31 class ChildFrameCompositingHelper;
27 class RenderFrameImpl; 32 class RenderFrameImpl;
28 class RenderViewImpl; 33 class RenderViewImpl;
29 enum class SandboxFlags; 34 enum class SandboxFlags;
30 struct FrameReplicationState; 35 struct FrameReplicationState;
31 36
32 // When a page's frames are rendered by multiple processes, each renderer has a 37 // When a page's frames are rendered by multiple processes, each renderer has a
33 // full copy of the frame tree. It has full RenderFrames for the frames it is 38 // full copy of the frame tree. It has full RenderFrames for the frames it is
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 139
135 void Init(blink::WebRemoteFrame* frame, RenderViewImpl* render_view); 140 void Init(blink::WebRemoteFrame* frame, RenderViewImpl* render_view);
136 141
137 // IPC::Listener 142 // IPC::Listener
138 bool OnMessageReceived(const IPC::Message& msg) override; 143 bool OnMessageReceived(const IPC::Message& msg) override;
139 144
140 // IPC handlers 145 // IPC handlers
141 void OnDeleteProxy(); 146 void OnDeleteProxy();
142 void OnChildFrameProcessGone(); 147 void OnChildFrameProcessGone();
143 void OnCompositorFrameSwapped(const IPC::Message& message); 148 void OnCompositorFrameSwapped(const IPC::Message& message);
149 void OnSetChildFrameSurface(const cc::SurfaceId& surface_id,
150 const gfx::Size& frame_size,
151 float scale_factor,
152 const cc::SurfaceSequence& sequence);
144 void OnDisownOpener(); 153 void OnDisownOpener();
145 void OnDidStopLoading(); 154 void OnDidStopLoading();
146 void OnDidUpdateSandboxFlags(SandboxFlags flags); 155 void OnDidUpdateSandboxFlags(SandboxFlags flags);
147 void OnDispatchLoad(); 156 void OnDispatchLoad();
148 void OnDidUpdateName(const std::string& name); 157 void OnDidUpdateName(const std::string& name);
149 void OnDidUpdateOrigin(const url::Origin& origin); 158 void OnDidUpdateOrigin(const url::Origin& origin);
150 159
151 // The routing ID by which this RenderFrameProxy is known. 160 // The routing ID by which this RenderFrameProxy is known.
152 const int routing_id_; 161 const int routing_id_;
153 162
154 // The routing ID of the local RenderFrame (if any) which this 163 // The routing ID of the local RenderFrame (if any) which this
155 // RenderFrameProxy is meant to replace in the frame tree. 164 // RenderFrameProxy is meant to replace in the frame tree.
156 const int frame_routing_id_; 165 const int frame_routing_id_;
157 166
158 // Stores the WebRemoteFrame we are associated with. 167 // Stores the WebRemoteFrame we are associated with.
159 blink::WebRemoteFrame* web_frame_; 168 blink::WebRemoteFrame* web_frame_;
160 scoped_refptr<ChildFrameCompositingHelper> compositing_helper_; 169 scoped_refptr<ChildFrameCompositingHelper> compositing_helper_;
161 170
162 RenderViewImpl* render_view_; 171 RenderViewImpl* render_view_;
163 172
164 DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy); 173 DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy);
165 }; 174 };
166 175
167 } // namespace 176 } // namespace
168 177
169 #endif // CONTENT_RENDERER_RENDER_FRAME_PROXY_H_ 178 #endif // CONTENT_RENDERER_RENDER_FRAME_PROXY_H_
OLDNEW
« no previous file with comments | « content/renderer/child_frame_compositing_helper.cc ('k') | content/renderer/render_frame_proxy.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698