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

Unified Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 389973005: Merge 280970 "Add switch to disable recording whole document" (Closed) Base URL: svn://svn.chromium.org/chrome/branches/2062/src/
Patch Set: Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/android/synchronous_compositor_factory.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/gpu/render_widget_compositor.cc
===================================================================
--- content/renderer/gpu/render_widget_compositor.cc (revision 283005)
+++ content/renderer/gpu/render_widget_compositor.cc (working copy)
@@ -42,6 +42,10 @@
#include "ui/gl/gl_switches.h"
#include "ui/native_theme/native_theme_switches.h"
+#if defined(OS_ANDROID)
+#include "content/renderer/android/synchronous_compositor_factory.h"
+#endif
+
namespace base {
class Value;
}
@@ -102,10 +106,7 @@
!cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeActivation);
settings.main_frame_before_draw_enabled =
!cmd->HasSwitch(cc::switches::kDisableMainFrameBeforeDraw);
- settings.using_synchronous_renderer_compositor =
- widget->UsingSynchronousRendererCompositor();
- settings.report_overscroll_only_for_scrollable_axes =
- !widget->UsingSynchronousRendererCompositor();
+ settings.report_overscroll_only_for_scrollable_axes = true;
settings.accelerated_animation_enabled =
!cmd->HasSwitch(cc::switches::kDisableThreadedAnimation);
settings.touch_hit_testing =
@@ -263,8 +264,18 @@
cmd->HasSwitch(cc::switches::kStrictLayerPropertyChangeChecking);
#if defined(OS_ANDROID)
+ SynchronousCompositorFactory* synchronous_compositor_factory =
+ SynchronousCompositorFactory::GetInstance();
+
+ settings.using_synchronous_renderer_compositor =
+ synchronous_compositor_factory;
+ settings.record_full_layer =
+ synchronous_compositor_factory &&
+ synchronous_compositor_factory->RecordFullLayer();
+ settings.report_overscroll_only_for_scrollable_axes =
+ !synchronous_compositor_factory;
settings.max_partial_texture_updates = 0;
- if (widget->UsingSynchronousRendererCompositor()) {
+ if (synchronous_compositor_factory) {
// Android WebView uses system scrollbars, so make ours invisible.
settings.scrollbar_animator = cc::LayerTreeSettings::NoAnimator;
settings.solid_color_scrollbar_color = SK_ColorTRANSPARENT;
@@ -277,13 +288,13 @@
settings.highp_threshold_min = 2048;
// Android WebView handles root layer flings itself.
settings.ignore_root_layer_flings =
- widget->UsingSynchronousRendererCompositor();
+ synchronous_compositor_factory;
// RGBA_4444 textures are only enabled for low end devices
// and are disabled for Android WebView as it doesn't support the format.
settings.use_rgba_4444_textures =
base::android::SysUtils::IsLowEndDevice() &&
- !widget->UsingSynchronousRendererCompositor();
- if (widget->UsingSynchronousRendererCompositor()) {
+ !synchronous_compositor_factory;
+ if (synchronous_compositor_factory) {
// TODO(boliu): Set this ratio for Webview.
} else if (base::android::SysUtils::IsLowEndDevice()) {
// On low-end we want to be very carefull about killing other
@@ -298,7 +309,7 @@
}
// Webview does not own the surface so should not clear it.
settings.should_clear_root_render_pass =
- !widget->UsingSynchronousRendererCompositor();
+ !synchronous_compositor_factory;
#elif !defined(OS_MACOSX)
if (ui::IsOverlayScrollbarEnabled()) {
« no previous file with comments | « content/renderer/android/synchronous_compositor_factory.h ('k') | content/renderer/render_frame_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698