OLD | NEW |
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 <limits> | 7 #include <limits> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
162 CommandLine* cmd = CommandLine::ForCurrentProcess(); | 162 CommandLine* cmd = CommandLine::ForCurrentProcess(); |
163 | 163 |
164 cc::LayerTreeSettings settings; | 164 cc::LayerTreeSettings settings; |
165 | 165 |
166 // For web contents, layer transforms should scale up the contents of layers | 166 // For web contents, layer transforms should scale up the contents of layers |
167 // to keep content always crisp when possible. | 167 // to keep content always crisp when possible. |
168 settings.layer_transforms_should_scale_layer_contents = true; | 168 settings.layer_transforms_should_scale_layer_contents = true; |
169 | 169 |
170 settings.throttle_frame_production = | 170 settings.throttle_frame_production = |
171 !cmd->HasSwitch(switches::kDisableGpuVsync); | 171 !cmd->HasSwitch(switches::kDisableGpuVsync); |
172 settings.begin_frame_scheduling_enabled = | 172 settings.begin_frame_receiver = |
173 cmd->HasSwitch(switches::kEnableBeginFrameScheduling); | 173 cmd->HasSwitch(cc::switches::kEnableBeginFrameScheduling); |
174 settings.main_frame_before_activation_enabled = | 174 settings.main_frame_before_activation_enabled = |
175 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && | 175 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && |
176 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); | 176 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); |
177 settings.main_frame_before_draw_enabled = | 177 settings.main_frame_before_draw_enabled = |
178 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw); | 178 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw); |
179 settings.report_overscroll_only_for_scrollable_axes = true; | 179 settings.report_overscroll_only_for_scrollable_axes = true; |
180 settings.accelerated_animation_enabled = | 180 settings.accelerated_animation_enabled = |
181 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); | 181 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); |
182 | 182 |
183 settings.default_tile_size = CalculateDefaultTileSize(); | 183 settings.default_tile_size = CalculateDefaultTileSize(); |
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
520 shared_bitmap_manager, | 520 shared_bitmap_manager, |
521 settings, | 521 settings, |
522 base::MessageLoopProxy::current(), | 522 base::MessageLoopProxy::current(), |
523 compositor_message_loop_proxy); | 523 compositor_message_loop_proxy); |
524 } else { | 524 } else { |
525 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( | 525 layer_tree_host_ = cc::LayerTreeHost::CreateSingleThreaded( |
526 this, | 526 this, |
527 this, | 527 this, |
528 shared_bitmap_manager, | 528 shared_bitmap_manager, |
529 settings, | 529 settings, |
530 base::MessageLoopProxy::current()); | 530 base::MessageLoopProxy::current(), |
| 531 NULL /* Only used by browser-side scheduler */); |
531 } | 532 } |
532 DCHECK(layer_tree_host_); | 533 DCHECK(layer_tree_host_); |
533 } | 534 } |
534 | 535 |
535 void RenderWidgetCompositor::setSurfaceReady() { | 536 void RenderWidgetCompositor::setSurfaceReady() { |
536 // In tests without a RenderThreadImpl, don't set ready as this kicks | 537 // In tests without a RenderThreadImpl, don't set ready as this kicks |
537 // off creating output surfaces that the test can't create. | 538 // off creating output surfaces that the test can't create. |
538 if (RenderThreadImpl::current()) | 539 if (RenderThreadImpl::current()) |
539 layer_tree_host_->SetLayerTreeHostClientReady(); | 540 layer_tree_host_->SetLayerTreeHostClientReady(); |
540 } | 541 } |
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
799 widget_->OnSwapBuffersAborted(); | 800 widget_->OnSwapBuffersAborted(); |
800 } | 801 } |
801 | 802 |
802 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 803 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
803 cc::ContextProvider* provider = | 804 cc::ContextProvider* provider = |
804 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 805 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
805 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 806 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
806 } | 807 } |
807 | 808 |
808 } // namespace content | 809 } // namespace content |
OLD | NEW |