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

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: Fixed typo Created 5 years, 7 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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 138
134 void Init(blink::WebRemoteFrame* frame, RenderViewImpl* render_view); 139 void Init(blink::WebRemoteFrame* frame, RenderViewImpl* render_view);
135 140
136 // IPC::Listener 141 // IPC::Listener
137 bool OnMessageReceived(const IPC::Message& msg) override; 142 bool OnMessageReceived(const IPC::Message& msg) override;
138 143
139 // IPC handlers 144 // IPC handlers
140 void OnDeleteProxy(); 145 void OnDeleteProxy();
141 void OnChildFrameProcessGone(); 146 void OnChildFrameProcessGone();
142 void OnCompositorFrameSwapped(const IPC::Message& message); 147 void OnCompositorFrameSwapped(const IPC::Message& message);
148 void OnSetChildFrameSurface(const cc::SurfaceId& surface_id,
149 const gfx::Size& frame_size,
150 float scale_factor,
151 const cc::SurfaceSequence& sequence);
143 void OnDisownOpener(); 152 void OnDisownOpener();
144 void OnDidStopLoading(); 153 void OnDidStopLoading();
145 void OnDidUpdateSandboxFlags(SandboxFlags flags); 154 void OnDidUpdateSandboxFlags(SandboxFlags flags);
146 void OnDispatchLoad(); 155 void OnDispatchLoad();
147 void OnDidUpdateName(const std::string& name); 156 void OnDidUpdateName(const std::string& name);
148 void OnDidUpdateOrigin(const url::Origin& origin); 157 void OnDidUpdateOrigin(const url::Origin& origin);
149 158
150 // The routing ID by which this RenderFrameProxy is known. 159 // The routing ID by which this RenderFrameProxy is known.
151 const int routing_id_; 160 const int routing_id_;
152 161
153 // The routing ID of the local RenderFrame (if any) which this 162 // The routing ID of the local RenderFrame (if any) which this
154 // RenderFrameProxy is meant to replace in the frame tree. 163 // RenderFrameProxy is meant to replace in the frame tree.
155 const int frame_routing_id_; 164 const int frame_routing_id_;
156 165
157 // Stores the WebRemoteFrame we are associated with. 166 // Stores the WebRemoteFrame we are associated with.
158 blink::WebRemoteFrame* web_frame_; 167 blink::WebRemoteFrame* web_frame_;
159 scoped_refptr<ChildFrameCompositingHelper> compositing_helper_; 168 scoped_refptr<ChildFrameCompositingHelper> compositing_helper_;
160 169
161 RenderViewImpl* render_view_; 170 RenderViewImpl* render_view_;
162 171
163 DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy); 172 DISALLOW_COPY_AND_ASSIGN(RenderFrameProxy);
164 }; 173 };
165 174
166 } // namespace 175 } // namespace
167 176
168 #endif // CONTENT_RENDERER_RENDER_FRAME_PROXY_H_ 177 #endif // CONTENT_RENDERER_RENDER_FRAME_PROXY_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698