| Index: content/renderer/gpu/render_widget_compositor.cc
|
| diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
|
| index 33612b0acb372936fd2e6a378a4caad2d6cae38b..2ef22b851c048f27ad354b7ec47f411ae71b97b0 100644
|
| --- a/content/renderer/gpu/render_widget_compositor.cc
|
| +++ b/content/renderer/gpu/render_widget_compositor.cc
|
| @@ -39,6 +39,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;
|
| }
|
| @@ -99,10 +103,7 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| !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 =
|
| @@ -260,8 +261,18 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| 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;
|
| @@ -274,13 +285,13 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| 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::SysInfo::IsLowEndDevice() &&
|
| - !widget->UsingSynchronousRendererCompositor();
|
| - if (widget->UsingSynchronousRendererCompositor()) {
|
| + !synchronous_compositor_factory;
|
| + if (synchronous_compositor_factory) {
|
| // TODO(boliu): Set this ratio for Webview.
|
| } else if (base::SysInfo::IsLowEndDevice()) {
|
| // On low-end we want to be very carefull about killing other
|
| @@ -295,7 +306,7 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create(
|
| }
|
| // 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()) {
|
|
|