Index: cc/playback/display_list_recording_source.cc |
diff --git a/cc/playback/display_list_recording_source.cc b/cc/playback/display_list_recording_source.cc |
index b7bdd788adfa9f39aeef360b39005394a7d44d7a..1ed5a1ff9adb1b2cc75f1ef0b09ecd2111f9a995 100644 |
--- a/cc/playback/display_list_recording_source.cc |
+++ b/cc/playback/display_list_recording_source.cc |
@@ -52,7 +52,8 @@ |
background_color_(SK_ColorTRANSPARENT), |
pixel_record_distance_(kPixelDistanceToRecord), |
grid_cell_size_(grid_cell_size), |
- painter_reported_memory_usage_(0) {} |
+ painter_reported_memory_usage_(0), |
+ is_suitable_for_gpu_rasterization_(true) {} |
DisplayListRecordingSource::~DisplayListRecordingSource() { |
} |
@@ -182,6 +183,8 @@ |
painter->PaintContentsToDisplayList(recorded_viewport_, painting_control); |
painter_reported_memory_usage_ = painter->GetApproximateUnsharedMemoryUsage(); |
+ is_suitable_for_gpu_rasterization_ = |
+ display_list_->IsSuitableForGpuRasterization(); |
DetermineIfSolidColor(); |
display_list_->EmitTraceSnapshot(); |
if (gather_images_) |
@@ -216,11 +219,12 @@ |
requires_clear_ = requires_clear; |
} |
+void DisplayListRecordingSource::SetUnsuitableForGpuRasterizationForTesting() { |
+ is_suitable_for_gpu_rasterization_ = false; |
+} |
+ |
bool DisplayListRecordingSource::IsSuitableForGpuRasterization() const { |
- // The display list needs to be created (see: UpdateAndExpandInvalidation) |
- // before checking for suitability. |
- DCHECK(display_list_); |
- return display_list_->IsSuitableForGpuRasterization(); |
+ return is_suitable_for_gpu_rasterization_; |
} |
scoped_refptr<RasterSource> DisplayListRecordingSource::CreateRasterSource( |
@@ -231,7 +235,7 @@ |
} |
void DisplayListRecordingSource::DetermineIfSolidColor() { |
- DCHECK(display_list_); |
+ DCHECK(display_list_.get()); |
is_solid_color_ = false; |
solid_color_ = SK_ColorTRANSPARENT; |
@@ -246,7 +250,7 @@ |
void DisplayListRecordingSource::Clear() { |
recorded_viewport_ = gfx::Rect(); |
- display_list_ = nullptr; |
+ display_list_ = NULL; |
painter_reported_memory_usage_ = 0; |
is_solid_color_ = false; |
} |