Chromium Code Reviews| 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 21 matching lines...) Expand all Loading... | |
| 32 #include "content/common/content_switches_internal.h" | 32 #include "content/common/content_switches_internal.h" |
| 33 #include "content/common/gpu/client/context_provider_command_buffer.h" | 33 #include "content/common/gpu/client/context_provider_command_buffer.h" |
| 34 #include "content/public/common/content_switches.h" | 34 #include "content/public/common/content_switches.h" |
| 35 #include "content/renderer/input/input_handler_manager.h" | 35 #include "content/renderer/input/input_handler_manager.h" |
| 36 #include "content/renderer/scheduler/renderer_scheduler.h" | 36 #include "content/renderer/scheduler/renderer_scheduler.h" |
| 37 #include "gpu/command_buffer/client/gles2_interface.h" | 37 #include "gpu/command_buffer/client/gles2_interface.h" |
| 38 #include "third_party/WebKit/public/platform/WebCompositeAndReadbackAsyncCallbac k.h" | 38 #include "third_party/WebKit/public/platform/WebCompositeAndReadbackAsyncCallbac k.h" |
| 39 #include "third_party/WebKit/public/platform/WebSelectionBound.h" | 39 #include "third_party/WebKit/public/platform/WebSelectionBound.h" |
| 40 #include "third_party/WebKit/public/platform/WebSize.h" | 40 #include "third_party/WebKit/public/platform/WebSize.h" |
| 41 #include "third_party/WebKit/public/web/WebKit.h" | 41 #include "third_party/WebKit/public/web/WebKit.h" |
| 42 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h" | |
| 42 #include "third_party/WebKit/public/web/WebWidget.h" | 43 #include "third_party/WebKit/public/web/WebWidget.h" |
| 43 #include "ui/gfx/frame_time.h" | 44 #include "ui/gfx/frame_time.h" |
| 44 #include "ui/gfx/hud_font.h" | 45 #include "ui/gfx/hud_font.h" |
| 45 #include "ui/gl/gl_switches.h" | 46 #include "ui/gl/gl_switches.h" |
| 46 #include "ui/native_theme/native_theme_switches.h" | 47 #include "ui/native_theme/native_theme_switches.h" |
| 47 | 48 |
| 48 #if defined(OS_ANDROID) | 49 #if defined(OS_ANDROID) |
| 49 #include "content/renderer/android/synchronous_compositor_factory.h" | 50 #include "content/renderer/android/synchronous_compositor_factory.h" |
| 50 #include "ui/gfx/android/device_display_info.h" | 51 #include "ui/gfx/android/device_display_info.h" |
| 51 #endif | 52 #endif |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 188 !cmd->HasSwitch(switches::kDisableGpuVsync); | 189 !cmd->HasSwitch(switches::kDisableGpuVsync); |
| 189 settings.use_external_begin_frame_source = | 190 settings.use_external_begin_frame_source = |
| 190 cmd->HasSwitch(switches::kEnableBeginFrameScheduling); | 191 cmd->HasSwitch(switches::kEnableBeginFrameScheduling); |
| 191 settings.main_frame_before_activation_enabled = | 192 settings.main_frame_before_activation_enabled = |
| 192 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && | 193 cmd->HasSwitch(cc::switches::kEnableMainFrameBeforeActivation) && |
| 193 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); | 194 !cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation); |
| 194 settings.report_overscroll_only_for_scrollable_axes = | 195 settings.report_overscroll_only_for_scrollable_axes = |
| 195 !compositor_deps_->IsElasticOverscrollEnabled(); | 196 !compositor_deps_->IsElasticOverscrollEnabled(); |
| 196 settings.accelerated_animation_enabled = | 197 settings.accelerated_animation_enabled = |
| 197 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); | 198 !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); |
| 198 settings.use_display_lists = cmd->HasSwitch(switches::kEnableSlimmingPaint); | 199 if (cmd->HasSwitch(switches::kEnableSlimmingPaint)) { |
| 200 settings.use_display_lists = true; | |
| 201 blink::WebRuntimeFeatures::enableSlimmingPaint(true); | |
|
Xianzhu
2015/02/12 22:33:49
This is needed because slimmingPaintDisplayItemCac
| |
| 202 settings.record_full_layer = | |
| 203 !blink::WebRuntimeFeatures::slimmingPaintDisplayItemCacheEnabled(); | |
| 204 } | |
| 199 | 205 |
| 200 settings.default_tile_size = CalculateDefaultTileSize(); | 206 settings.default_tile_size = CalculateDefaultTileSize(); |
| 201 if (cmd->HasSwitch(switches::kDefaultTileWidth)) { | 207 if (cmd->HasSwitch(switches::kDefaultTileWidth)) { |
| 202 int tile_width = 0; | 208 int tile_width = 0; |
| 203 GetSwitchValueAsInt(*cmd, | 209 GetSwitchValueAsInt(*cmd, |
| 204 switches::kDefaultTileWidth, | 210 switches::kDefaultTileWidth, |
| 205 1, | 211 1, |
| 206 std::numeric_limits<int>::max(), | 212 std::numeric_limits<int>::max(), |
| 207 &tile_width); | 213 &tile_width); |
| 208 settings.default_tile_size.set_width(tile_width); | 214 settings.default_tile_size.set_width(tile_width); |
| (...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 883 widget_->OnSwapBuffersAborted(); | 889 widget_->OnSwapBuffersAborted(); |
| 884 } | 890 } |
| 885 | 891 |
| 886 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { | 892 void RenderWidgetCompositor::RateLimitSharedMainThreadContext() { |
| 887 cc::ContextProvider* provider = | 893 cc::ContextProvider* provider = |
| 888 compositor_deps_->GetSharedMainThreadContextProvider(); | 894 compositor_deps_->GetSharedMainThreadContextProvider(); |
| 889 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); | 895 provider->ContextGL()->RateLimitOffscreenContextCHROMIUM(); |
| 890 } | 896 } |
| 891 | 897 |
| 892 } // namespace content | 898 } // namespace content |
| OLD | NEW |