diff options
| author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-12 14:27:29 +0200 |
|---|---|---|
| committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:35:20 +0000 |
| commit | c30a6232df03e1efbd9f3b226777b07e087a1122 (patch) | |
| tree | e992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/cc/raster/raster_source.cc | |
| parent | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff) | |
| download | qtwebengine-chromium-85-based.tar.gz | |
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/cc/raster/raster_source.cc')
| -rw-r--r-- | chromium/cc/raster/raster_source.cc | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/chromium/cc/raster/raster_source.cc b/chromium/cc/raster/raster_source.cc index 99d6d88018a..73ad6fc23ae 100644 --- a/chromium/cc/raster/raster_source.cc +++ b/chromium/cc/raster/raster_source.cc @@ -5,6 +5,7 @@ #include "cc/raster/raster_source.h" #include <stddef.h> +#include <algorithm> #include "base/metrics/histogram_macros.h" #include "base/trace_event/trace_event.h" @@ -102,8 +103,10 @@ void RasterSource::PlaybackToCanvas( // Treat all subnormal values as zero for performance. ScopedSubnormalFloatDisabler disabler; + // NOTE: The following code should be kept consistent with + // PaintOpBufferSerializer::SerializePreamble(). bool is_partial_raster = canvas_bitmap_rect != canvas_playback_rect; - if (!requires_clear_) { + if (!requires_clear_ && raster_transform.translation().IsZero()) { // Clear opaque raster sources. Opaque rasters sources guarantee that all // pixels inside the opaque region are painted. However, due to scaling // it's possible that the last row and column might include pixels that @@ -134,12 +137,13 @@ void RasterSource::PlaybackToCanvas( raster_canvas->clear(SK_ColorTRANSPARENT); } - PlaybackToCanvas(raster_canvas, settings.image_provider); + PlaybackDisplayListToCanvas(raster_canvas, settings.image_provider); raster_canvas->restore(); } -void RasterSource::PlaybackToCanvas(SkCanvas* raster_canvas, - ImageProvider* image_provider) const { +void RasterSource::PlaybackDisplayListToCanvas( + SkCanvas* raster_canvas, + ImageProvider* image_provider) const { // TODO(enne): Temporary CHECK debugging for http://crbug.com/823835 CHECK(display_list_.get()); int repeat_count = std::max(1, slow_down_raster_scale_factor_for_debug_); |
