Index: cc/resources/display_list_recording_source.cc |
diff --git a/cc/resources/display_list_recording_source.cc b/cc/resources/display_list_recording_source.cc |
index 517f49faf0c56f81ff3918fea63f6d988db9b923..01a3bcef9944e2504829e79ad3b40bef46bd5ec7 100644 |
--- a/cc/resources/display_list_recording_source.cc |
+++ b/cc/resources/display_list_recording_source.cc |
@@ -28,6 +28,7 @@ namespace cc { |
DisplayListRecordingSource::DisplayListRecordingSource() |
: slow_down_raster_scale_factor_for_debug_(0), |
+ can_use_lcd_text_(true), |
requires_clear_(false), |
is_solid_color_(false), |
solid_color_(SK_ColorTRANSPARENT), |
@@ -42,6 +43,7 @@ DisplayListRecordingSource::~DisplayListRecordingSource() { |
bool DisplayListRecordingSource::UpdateAndExpandInvalidation( |
ContentLayerClient* painter, |
Region* invalidation, |
+ bool can_use_lcd_text, |
const gfx::Size& layer_size, |
const gfx::Rect& visible_layer_rect, |
int frame_number, |
@@ -53,6 +55,12 @@ bool DisplayListRecordingSource::UpdateAndExpandInvalidation( |
updated = true; |
} |
+ if (can_use_lcd_text_ != can_use_lcd_text) { |
+ can_use_lcd_text_ = can_use_lcd_text; |
+ invalidation->Union(gfx::Rect(GetSize())); |
+ updated = true; |
+ } |
+ |
gfx::Rect old_recorded_viewport = recorded_viewport_; |
recorded_viewport_ = visible_layer_rect; |
recorded_viewport_.Inset(-pixel_record_distance_, -pixel_record_distance_); |
@@ -144,11 +152,10 @@ bool DisplayListRecordingSource::IsSuitableForGpuRasterization() const { |
return is_suitable_for_gpu_rasterization_; |
} |
-scoped_refptr<RasterSource> DisplayListRecordingSource::CreateRasterSource( |
- bool can_use_lcd_text) const { |
+scoped_refptr<RasterSource> DisplayListRecordingSource::CreateRasterSource() |
+ const { |
return scoped_refptr<RasterSource>( |
- DisplayListRasterSource::CreateFromDisplayListRecordingSource( |
- this, can_use_lcd_text)); |
+ DisplayListRasterSource::CreateFromDisplayListRecordingSource(this)); |
} |
gfx::Size DisplayListRecordingSource::GetTileGridSizeForTesting() const { |