| 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()) {
|
|
|