diff options
author | schenney@chromium.org <schenney@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-02 21:03:03 +0000 |
---|---|---|
committer | schenney@chromium.org <schenney@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-02 21:03:03 +0000 |
commit | 276172b8f1e00033c253301fa2bdd76cfc980800 (patch) | |
tree | ee9a60e4fb1540e00150e247656a216fc0c28a38 /webkit | |
parent | ced067e6da6e3092a00546ed820d9657a1707d91 (diff) | |
download | chromium_src-276172b8f1e00033c253301fa2bdd76cfc980800.zip chromium_src-276172b8f1e00033c253301fa2bdd76cfc980800.tar.gz chromium_src-276172b8f1e00033c253301fa2bdd76cfc980800.tar.bz2 |
Enable disabling WebCore::GraphicsContext in telemetry.
Plumb a flag through from telemetry tests to the layer
painting code that disables the WebCore::GraphicsContext.
This allows us to isolate the various systems that paint
web content in Chromium.
R=nduca@chromium.org,skyostil@chromium.org
BUG=350684
Review URL: https://codereview.chromium.org/253013003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@267913 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r-- | webkit/renderer/compositor_bindings/web_content_layer_impl.cc | 17 | ||||
-rw-r--r-- | webkit/renderer/compositor_bindings/web_content_layer_impl.h | 4 |
2 files changed, 16 insertions, 5 deletions
diff --git a/webkit/renderer/compositor_bindings/web_content_layer_impl.cc b/webkit/renderer/compositor_bindings/web_content_layer_impl.cc index e337e48..fadafc2 100644 --- a/webkit/renderer/compositor_bindings/web_content_layer_impl.cc +++ b/webkit/renderer/compositor_bindings/web_content_layer_impl.cc @@ -51,9 +51,11 @@ void WebContentLayerImpl::setHasGpuRasterizationHint(bool has_hint) { // prepaint-disabling hints (crbug.com/365885). } -void WebContentLayerImpl::PaintContents(SkCanvas* canvas, - const gfx::Rect& clip, - gfx::RectF* opaque) { +void WebContentLayerImpl::PaintContents( + SkCanvas* canvas, + const gfx::Rect& clip, + gfx::RectF* opaque, + ContentLayerClient::GraphicsContextStatus graphics_context_status) { if (!client_) return; @@ -61,7 +63,14 @@ void WebContentLayerImpl::PaintContents(SkCanvas* canvas, // For picture layers, always record with LCD text. PictureLayerImpl // will turn this off later during rasterization. bool use_lcd_text = WebLayerImpl::UsingPictureLayer() || can_use_lcd_text_; - client_->paintContents(canvas, clip, use_lcd_text, web_opaque); + client_->paintContents( + canvas, + clip, + use_lcd_text, + web_opaque, + graphics_context_status == ContentLayerClient::GRAPHICS_CONTEXT_ENABLED + ? blink::WebContentLayerClient::GraphicsContextEnabled + : blink::WebContentLayerClient::GraphicsContextDisabled); *opaque = web_opaque; } diff --git a/webkit/renderer/compositor_bindings/web_content_layer_impl.h b/webkit/renderer/compositor_bindings/web_content_layer_impl.h index a6bb7d2..369af10 100644 --- a/webkit/renderer/compositor_bindings/web_content_layer_impl.h +++ b/webkit/renderer/compositor_bindings/web_content_layer_impl.h @@ -38,7 +38,9 @@ class WebContentLayerImpl : public blink::WebContentLayer, // ContentLayerClient implementation. virtual void PaintContents(SkCanvas* canvas, const gfx::Rect& clip, - gfx::RectF* opaque) OVERRIDE; + gfx::RectF* opaque, + ContentLayerClient::GraphicsContextStatus + graphics_context_status) OVERRIDE; virtual void DidChangeLayerCanUseLCDText() OVERRIDE; virtual bool FillsBoundsCompletely() const OVERRIDE; |