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 155 matching lines...) Loading... |
166 CommandLine* cmd = CommandLine::ForCurrentProcess(); | 166 CommandLine* cmd = CommandLine::ForCurrentProcess(); |
167 | 167 |
168 cc::LayerTreeSettings settings; | 168 cc::LayerTreeSettings settings; |
169 | 169 |
170 // For web contents, layer transforms should scale up the contents of layers | 170 // For web contents, layer transforms should scale up the contents of layers |
171 // to keep content always crisp when possible. | 171 // to keep content always crisp when possible. |
172 settings.layer_transforms_should_scale_layer_contents = true; | 172 settings.layer_transforms_should_scale_layer_contents = true; |
173 | 173 |
174 settings.throttle_frame_production = | 174 settings.throttle_frame_production = |
175 !cmd->HasSwitch(switches::kDisableGpuVsync); | 175 !cmd->HasSwitch(switches::kDisableGpuVsync); |
176 settings.begin_frame_scheduling_enabled = | 176 #if defined(OS_ANDROID) || (defined(USE_AURA) && !defined(OS_CHROMEOS)) |
177 cmd->HasSwitch(switches::kEnableBeginFrameScheduling); | 177 settings.begin_frame_receiver = true; |
| 178 #elif defined(OS_MACOSX) |
| 179 // Mac only uses browser compositor when delegated renderer is used. |
| 180 if (cmd->HasSwitch(switches::kEnableDelegatedRenderer)) |
| 181 settings.begin_frame_receiver = true; |
| 182 #endif |
178 settings.main_frame_before_activation_enabled = | 183 settings.main_frame_before_activation_enabled = |
179 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && | 184 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && |
180 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); | 185 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); |
181 settings.main_frame_before_draw_enabled = | 186 settings.main_frame_before_draw_enabled = |
182 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw); | 187 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw); |
183 settings.report_overscroll_only_for_scrollable_axes = true; | 188 settings.report_overscroll_only_for_scrollable_axes = true; |
184 settings.accelerated_animation_enabled = | 189 settings.accelerated_animation_enabled = |
185 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); | 190 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); |
186 | 191 |
187 settings.default_tile_size = CalculateDefaultTileSize(); | 192 settings.default_tile_size = CalculateDefaultTileSize(); |
(...skipping 641 matching lines...) Loading... |
829 widget_->OnSwapBuffersAborted(); | 834 widget_->OnSwapBuffersAborted(); |
830 } | 835 } |
831 | 836 |
832 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 837 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
833 cc::ContextProvider* provider = | 838 cc::ContextProvider* provider = |
834 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); | 839 RenderThreadImpl::current()->SharedMainThreadContextProvider().get(); |
835 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 840 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
836 } | 841 } |
837 | 842 |
838 } // namespace content | 843 } // namespace content |
OLD | NEW |