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

Unified Diff: webkit/renderer/compositor_bindings/web_content_layer_impl.cc

Issue 315393002: Record SkPicture with correct LCD text setting. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: better unittest 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
Index: webkit/renderer/compositor_bindings/web_content_layer_impl.cc
diff --git a/webkit/renderer/compositor_bindings/web_content_layer_impl.cc b/webkit/renderer/compositor_bindings/web_content_layer_impl.cc
index fadafc29958ce9d9f4e28cbd2caac02ec2e8c900..ce54a63659e087269235a6a0b22fd1ce157ead3c 100644
--- a/webkit/renderer/compositor_bindings/web_content_layer_impl.cc
+++ b/webkit/renderer/compositor_bindings/web_content_layer_impl.cc
@@ -19,14 +19,12 @@ using cc::PictureLayer;
namespace webkit {
WebContentLayerImpl::WebContentLayerImpl(blink::WebContentLayerClient* client)
- : client_(client),
- ignore_lcd_text_change_(false) {
+ : client_(client) {
if (WebLayerImpl::UsingPictureLayer())
layer_ = make_scoped_ptr(new WebLayerImpl(PictureLayer::Create(this)));
else
layer_ = make_scoped_ptr(new WebLayerImpl(ContentLayer::Create(this)));
layer_->layer()->SetIsDrawable(true);
- can_use_lcd_text_ = layer_->layer()->can_use_lcd_text();
}
WebContentLayerImpl::~WebContentLayerImpl() {
@@ -54,19 +52,17 @@ void WebContentLayerImpl::setHasGpuRasterizationHint(bool has_hint) {
void WebContentLayerImpl::PaintContents(
SkCanvas* canvas,
const gfx::Rect& clip,
+ bool can_paint_lcd_text,
gfx::RectF* opaque,
ContentLayerClient::GraphicsContextStatus graphics_context_status) {
if (!client_)
return;
blink::WebFloatRect web_opaque;
- // 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,
+ can_paint_lcd_text,
web_opaque,
graphics_context_status == ContentLayerClient::GRAPHICS_CONTEXT_ENABLED
? blink::WebContentLayerClient::GraphicsContextEnabled
@@ -74,19 +70,8 @@ void WebContentLayerImpl::PaintContents(
*opaque = web_opaque;
}
-void WebContentLayerImpl::DidChangeLayerCanUseLCDText() {
- // It is important to make this comparison because the LCD text status
- // here can get out of sync with that in the layer.
- if (can_use_lcd_text_ == layer_->layer()->can_use_lcd_text())
- return;
-
- // LCD text cannot be enabled once disabled.
- if (layer_->layer()->can_use_lcd_text() && ignore_lcd_text_change_)
- return;
-
- can_use_lcd_text_ = layer_->layer()->can_use_lcd_text();
- ignore_lcd_text_change_ = true;
- layer_->invalidate();
+bool WebContentLayerImpl::PaintsLCDText() const {
+ return true;
}
bool WebContentLayerImpl::FillsBoundsCompletely() const { return false; }
« ui/compositor/layer.cc ('K') | « webkit/renderer/compositor_bindings/web_content_layer_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698