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

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

Issue 361073002: Add switch to disable recording whole document (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 6 years, 6 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
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()) {
« 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