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

Side by Side Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 2785533003: Animated scroll shouldn't consume unhandled scrolls for OOPIFs. (Closed)
Patch Set: Fix Android compile. Created 3 years, 8 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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #include "content/renderer/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <limits> 10 #include <limits>
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
222 222
223 // static 223 // static
224 std::unique_ptr<cc::LayerTreeHost> RenderWidgetCompositor::CreateLayerTreeHost( 224 std::unique_ptr<cc::LayerTreeHost> RenderWidgetCompositor::CreateLayerTreeHost(
225 LayerTreeHostClient* client, 225 LayerTreeHostClient* client,
226 cc::LayerTreeHostSingleThreadClient* single_thread_client, 226 cc::LayerTreeHostSingleThreadClient* single_thread_client,
227 cc::MutatorHost* mutator_host, 227 cc::MutatorHost* mutator_host,
228 CompositorDependencies* deps, 228 CompositorDependencies* deps,
229 float device_scale_factor, 229 float device_scale_factor,
230 const ScreenInfo& screen_info) { 230 const ScreenInfo& screen_info) {
231 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess(); 231 base::CommandLine* cmd = base::CommandLine::ForCurrentProcess();
232 cc::LayerTreeSettings settings = 232 cc::LayerTreeSettings settings = GenerateLayerTreeSettings(
233 GenerateLayerTreeSettings(*cmd, deps, device_scale_factor, screen_info); 233 *cmd, deps, device_scale_factor, client->IsForSubframe(), screen_info);
234 234
235 const bool is_threaded = !!deps->GetCompositorImplThreadTaskRunner(); 235 const bool is_threaded = !!deps->GetCompositorImplThreadTaskRunner();
236 236
237 std::unique_ptr<cc::LayerTreeHost> layer_tree_host; 237 std::unique_ptr<cc::LayerTreeHost> layer_tree_host;
238 238
239 cc::LayerTreeHost::InitParams params; 239 cc::LayerTreeHost::InitParams params;
240 params.client = client; 240 params.client = client;
241 params.settings = &settings; 241 params.settings = &settings;
242 params.task_graph_runner = deps->GetTaskGraphRunner(); 242 params.task_graph_runner = deps->GetTaskGraphRunner();
243 params.main_task_runner = deps->GetCompositorMainThreadTaskRunner(); 243 params.main_task_runner = deps->GetCompositorMainThreadTaskRunner();
(...skipping 19 matching lines...) Expand all
263 } 263 }
264 264
265 return layer_tree_host; 265 return layer_tree_host;
266 } 266 }
267 267
268 // static 268 // static
269 cc::LayerTreeSettings RenderWidgetCompositor::GenerateLayerTreeSettings( 269 cc::LayerTreeSettings RenderWidgetCompositor::GenerateLayerTreeSettings(
270 const base::CommandLine& cmd, 270 const base::CommandLine& cmd,
271 CompositorDependencies* compositor_deps, 271 CompositorDependencies* compositor_deps,
272 float device_scale_factor, 272 float device_scale_factor,
273 bool is_for_subframe,
273 const ScreenInfo& screen_info) { 274 const ScreenInfo& screen_info) {
274 cc::LayerTreeSettings settings; 275 cc::LayerTreeSettings settings;
275 276
277 settings.is_layer_tree_for_subframe = is_for_subframe;
278
276 // For web contents, layer transforms should scale up the contents of layers 279 // For web contents, layer transforms should scale up the contents of layers
277 // to keep content always crisp when possible. 280 // to keep content always crisp when possible.
278 settings.layer_transforms_should_scale_layer_contents = true; 281 settings.layer_transforms_should_scale_layer_contents = true;
279 282
280 settings.main_frame_before_activation_enabled = 283 settings.main_frame_before_activation_enabled =
281 cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation); 284 cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
282 285
283 settings.enable_checker_imaging = 286 settings.enable_checker_imaging =
284 cmd.HasSwitch(cc::switches::kEnableCheckerImaging); 287 cmd.HasSwitch(cc::switches::kEnableCheckerImaging);
285 288
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
1110 } 1113 }
1111 1114
1112 void RenderWidgetCompositor::DidReceiveCompositorFrameAck() { 1115 void RenderWidgetCompositor::DidReceiveCompositorFrameAck() {
1113 delegate_->DidReceiveCompositorFrameAck(); 1116 delegate_->DidReceiveCompositorFrameAck();
1114 } 1117 }
1115 1118
1116 void RenderWidgetCompositor::DidCompletePageScaleAnimation() { 1119 void RenderWidgetCompositor::DidCompletePageScaleAnimation() {
1117 delegate_->DidCompletePageScaleAnimation(); 1120 delegate_->DidCompletePageScaleAnimation();
1118 } 1121 }
1119 1122
1123 bool RenderWidgetCompositor::IsForSubframe() {
1124 return is_for_oopif_;
1125 }
1126
1120 void RenderWidgetCompositor::RequestScheduleAnimation() { 1127 void RenderWidgetCompositor::RequestScheduleAnimation() {
1121 delegate_->RequestScheduleAnimation(); 1128 delegate_->RequestScheduleAnimation();
1122 } 1129 }
1123 1130
1124 void RenderWidgetCompositor::DidSubmitCompositorFrame() {} 1131 void RenderWidgetCompositor::DidSubmitCompositorFrame() {}
1125 1132
1126 void RenderWidgetCompositor::DidLoseCompositorFrameSink() {} 1133 void RenderWidgetCompositor::DidLoseCompositorFrameSink() {}
1127 1134
1128 void RenderWidgetCompositor::SetFrameSinkId( 1135 void RenderWidgetCompositor::SetFrameSinkId(
1129 const cc::FrameSinkId& frame_sink_id) { 1136 const cc::FrameSinkId& frame_sink_id) {
(...skipping 17 matching lines...) Expand all
1147 void RenderWidgetCompositor::SetContentSourceId(uint32_t id) { 1154 void RenderWidgetCompositor::SetContentSourceId(uint32_t id) {
1148 layer_tree_host_->SetContentSourceId(id); 1155 layer_tree_host_->SetContentSourceId(id);
1149 } 1156 }
1150 1157
1151 void RenderWidgetCompositor::SetLocalSurfaceId( 1158 void RenderWidgetCompositor::SetLocalSurfaceId(
1152 const cc::LocalSurfaceId& local_surface_id) { 1159 const cc::LocalSurfaceId& local_surface_id) {
1153 layer_tree_host_->SetLocalSurfaceId(local_surface_id); 1160 layer_tree_host_->SetLocalSurfaceId(local_surface_id);
1154 } 1161 }
1155 1162
1156 } // namespace content 1163 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698