Chromium Code Reviews| Index: cc/raster/tile_task_worker_pool.cc |
| diff --git a/cc/raster/tile_task_worker_pool.cc b/cc/raster/tile_task_worker_pool.cc |
| index f9862fbab1a203c56774038e5a86f0718787630f..2c16c14caae21e56571b5e7788030ed538292871 100644 |
| --- a/cc/raster/tile_task_worker_pool.cc |
| +++ b/cc/raster/tile_task_worker_pool.cc |
| @@ -157,23 +157,20 @@ static bool IsSupportedPlaybackToMemoryFormat(ResourceFormat format) { |
| class SkipImageFilter : public SkDrawFilter { |
| public: |
| bool PaintHasBitmap(const SkPaint& paint) { |
|
vmpstr
2015/08/10 21:27:29
Remove?
danakj
2015/08/10 21:31:10
Oops ya removed.
|
| - SkShader* shader = paint.getShader(); |
| - if (!shader) |
| - return false; |
| - if (shader->asAGradient(nullptr) == SkShader::kNone_GradientType) |
| - return false; |
| - if (shader->asABitmap(nullptr, nullptr, nullptr) != |
| - SkShader::kNone_BitmapType) |
| - return true; |
| - return false; |
| } |
| bool filter(SkPaint* paint, Type type) override { |
| if (type == kBitmap_Type) |
| return false; |
| - if (PaintHasBitmap(*paint)) |
| - return false; |
| - return true; |
| + |
| + SkShader* shader = paint->getShader(); |
| + if (!shader) |
| + return true; |
| + SkShader::BitmapType type = shader->asABitmap(nullptr, nullptr, nullptr); |
| + // The kDefault_BitmapType is returned for images. Other bitmap types are |
| + // simply bitmap representations of colors such as gradients. So, we can |
| + // return true and draw for any case except kDefault_BitmapType. |
| + return type != SkShader::kDefault_BitmapType; |
| } |
| }; |