New issue
Advanced search Search tips

Issue 735741 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocking:
issue 735662



Sign in to add a comment

Plumb state required to tick animations in PaintImage.

Project Member Reported by khushals...@chromium.org, Jun 21 2017

Issue description

Ticking animations in the compositor requires the data for frame durations, SkImage to use for each frame, animation policy and total frame count. These images will just be the generator backed images from blink that hold the encoded data.
 
Components: Internals>Compositing>Images
Owner: khushals...@chromium.org
Status: Assigned (was: Available)
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1b8abc019a5b476d503bff7405120c44036799eb

commit 1b8abc019a5b476d503bff7405120c44036799eb
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 10 05:16:17 2017

cc/blink: Replace SkImageGenerator with PaintImageGenerator.

Replace the use of SkImageGenerator with an equivalent cc/paint
interface to give the compositor direct access to blink's decoders.
This will allow cc to extend the API offered by the lazy generated
images to include decode to scale or decoding of a particular frame for
a multi-frame image.

Ideally we should be able to assert that no PaintImages are created
with lazy generated SkImages, but a few use cases still remain. In
particular, subsetting of images and color space conversions.

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: I52c7375bc7f61c544e0b00e50954cb596575539a
Reviewed-on: https://chromium-review.googlesource.com/597322
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493251}
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/BUILD.gn
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/paint_image.cc
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/paint_image.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/paint_image_builder.h
[add] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/paint_image_generator.h
[add] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/skia_paint_image_generator.cc
[add] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/paint/skia_paint_image_generator.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/cc/tiles/image_decode_cache.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/media/renderers/skcanvas_video_renderer.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTestWoPlatform.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/FrameData.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/ImageSource.h
[modify] https://crrev.com/1b8abc019a5b476d503bff7405120c44036799eb/third_party/WebKit/Source/platform/graphics/paint/PaintImage.h

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 16 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/78cf6d75aa98c913dfcf79455ba70318438613bf

commit 78cf6d75aa98c913dfcf79455ba70318438613bf
Author: Khushal <khushalsagar@chromium.org>
Date: Wed Aug 16 03:57:39 2017

blink: Cache PaintImages in BitmapImage.

The caching of SkImages in BitmapImage was removed in [1]. This caching
is necessary for cases where images are rasterized/decoded on the main
thread (2d canvas). Since skia's decode caching is reference based, it
discards decodes once the SkImage is destroyed. This implies re-using
of the same uniqueID for an image will still cause multiple decodes.

This changes restores the previous behaviour by caching PaintImages
in BitmapImage and adds tests for it in BitmapImageTest.

[1]: https://chromium-review.googlesource.com/c/597322

Bug:  735741 ,  755229 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I76707822136568b743fc604b2bccaabd4e97d04c
Reviewed-on: https://chromium-review.googlesource.com/607568
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#494690}
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/core/svg/graphics/SVGImageForContainer.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/core/svg/graphics/SVGImageForContainer.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/DragImageTest.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/GeneratedImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/GeneratedImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/Image.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/ImageLayerChromiumTest.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/PlaceholderImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.h
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.cpp
[modify] https://crrev.com/78cf6d75aa98c913dfcf79455ba70318438613bf/third_party/WebKit/Source/platform/graphics/UnacceleratedStaticBitmapImage.h

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b481b28ef49243e45c00b078caa049fcba826f3d

commit b481b28ef49243e45c00b078caa049fcba826f3d
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 24 00:06:53 2017

cc: Add PaintImage API for subsetting images.

Add an API to subset a PaintImage, similar to an SkImage. This removes
a common case where the PaintImageGenerator/PaintRecord backing of an
image is lost by being wrapped in a SkImageGenerator backed SkImage.

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Idb529a6932ce330ebd61dea70d2cf0b3c12be6e3
Bug:  735741 
Reviewed-on: https://chromium-review.googlesource.com/607211
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496879}
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/cc/BUILD.gn
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/cc/paint/paint_image.cc
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/cc/paint/paint_image.h
[add] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/cc/paint/paint_image_unittest.cc
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/b481b28ef49243e45c00b078caa049fcba826f3d/third_party/WebKit/Source/platform/graphics/Image.cpp

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a

commit 1bbddf9adae9f4bafab406767a2b8dfd2a233f8a
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 24 00:25:08 2017

cc: Disallow lazy generated SkImages in PaintImages.

Update cc unittests to use a PaintImageGenerator for constructing lazy
generated images and assert that no PaintImages are creates with
SkImageGenerator backed SkImages. Callers should use either a
PaintImageGenerator or a PaintRecord in the PaintImage instead of
wrapping it in a SkImageGenerator.

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ic5453c080631bfed44340ce4700c1f5b595ff3fa
Reviewed-on: https://chromium-review.googlesource.com/616078
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#496886}
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/BUILD.gn
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/layers/picture_layer_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/layers/recording_source_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/paint/paint_image.h
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/raster/playback_image_provider_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/fake_content_layer_client.h
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/fake_recording_source.h
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/skia_common.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/skia_common.h
[add] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/stub_paint_image_generator.cc
[add] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/1bbddf9adae9f4bafab406767a2b8dfd2a233f8a/cc/trees/layer_tree_host_unittest_checkerimaging.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b

commit ee6fbeeff50fddee1ec3a97680a0e47b5abe213b
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 24 19:43:23 2017

cc/blink: Don't lock the frame index in PaintImageGenerator.

Currently when creating a PaintImageGenerator for lazy-decoded images,
the index is placed inside the generator at record time. Move this to
the PaintImage instead and expose an API from the generator to request
decoding of any given frame index. This will allow cc to select the
frame to use at playback time.

Changing the frame index in cc also requires eliminating cc's decode
caching reliance on SkImage ids. Since compositor driven image animations
will not re-paint/create SkImages for every frame, the caches can no
longer rely on SkImage ids for this. This change adds a FrameKey to
PaintImage to key the decoded output for an image based on
[paint_image_id, generator_id, frame_index].

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id1b1c4c96875601601b7a98c26726d8605ddd3ca
Reviewed-on: https://chromium-review.googlesource.com/624563
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497159}
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/BUILD.gn
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/draw_image.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/paint_image.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/paint_image.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/paint_image_builder.h
[add] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/paint_image_generator.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/paint_image_generator.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/skia_paint_image_generator.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/paint/skia_paint_image_generator.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/test/skia_common.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/test/stub_decode_cache.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/test/stub_paint_image_generator.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/image_decode_cache.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/software_image_decode_cache.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTestWoPlatform.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/ImageSource.h
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/ee6fbeeff50fddee1ec3a97680a0e47b5abe213b/third_party/WebKit/Source/platform/graphics/PlaceholderImage.h

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/df1d372aea682c8efd3e61dc1d6f6fe402614e4e

commit df1d372aea682c8efd3e61dc1d6f6fe402614e4e
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 24 22:22:11 2017

Revert "cc/blink: Don't lock the frame index in PaintImageGenerator."

This reverts commit ee6fbeeff50fddee1ec3a97680a0e47b5abe213b.

Reason for revert: Suspected failure in layout tests (https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac10.11%20%28retina%29)

Original change's description:
> cc/blink: Don't lock the frame index in PaintImageGenerator.
> 
> Currently when creating a PaintImageGenerator for lazy-decoded images,
> the index is placed inside the generator at record time. Move this to
> the PaintImage instead and expose an API from the generator to request
> decoding of any given frame index. This will allow cc to select the
> frame to use at playback time.
> 
> Changing the frame index in cc also requires eliminating cc's decode
> caching reliance on SkImage ids. Since compositor driven image animations
> will not re-paint/create SkImages for every frame, the caches can no
> longer rely on SkImage ids for this. This change adds a FrameKey to
> PaintImage to key the decoded output for an image based on
> [paint_image_id, generator_id, frame_index].
> 
> Bug:  735741 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: Id1b1c4c96875601601b7a98c26726d8605ddd3ca
> Reviewed-on: https://chromium-review.googlesource.com/624563
> Commit-Queue: Khushal <khushalsagar@chromium.org>
> Reviewed-by: Dale Curtis <dalecurtis@chromium.org>
> Reviewed-by: Philip Rogers <pdr@chromium.org>
> Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#497159}

TBR=dalecurtis@chromium.org,vmpstr@chromium.org,pdr@chromium.org,khushalsagar@chromium.org

Change-Id: Ib4778947092af250bb84c3fc2bff6df7cdd56c90
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/633834
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#497214}
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/BUILD.gn
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/draw_image.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/paint_image.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/paint_image.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/paint_image_builder.h
[delete] https://crrev.com/556df941076742319be3c97748111a62fcf57032/cc/paint/paint_image_generator.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/paint_image_generator.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/skia_paint_image_generator.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/paint/skia_paint_image_generator.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/test/skia_common.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/test/stub_decode_cache.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/test/stub_paint_image_generator.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/image_decode_cache.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/software_image_decode_cache.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTestWoPlatform.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/ImageSource.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/ImageSource.h
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/df1d372aea682c8efd3e61dc1d6f6fe402614e4e/third_party/WebKit/Source/platform/graphics/PlaceholderImage.h

Project Member

Comment 8 by bugdroid1@chromium.org, Aug 31 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b41caaafb9b0785845a8fafc141bf54da6fe1875

commit b41caaafb9b0785845a8fafc141bf54da6fe1875
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Aug 31 02:40:16 2017

Reland: cc/blink: Don't lock the frame index in PaintImageGenerator.

Reland [1] with bug fixes from the original patch and tests for them in
BitmapImageTest and DeferredImageDecoderTest.

[1]: https://chromium-review.googlesource.com/c/chromium/src/+/624563

TBR=dalecurtis@chromium.org
R=pdr@chromium.org, vmpstr@chromium.org

Bug:  735741 ,  758729 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: If53fdf0f38c9c0cfea2dfb79cdcb07ad90df87d0
Reviewed-on: https://chromium-review.googlesource.com/639921
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Vladimir Levin <vmpstr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498736}
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/draw_image.h
[add] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/frame_metadata.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image_builder.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image_generator.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/paint_image_generator.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/skia_paint_image_generator.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/paint/skia_paint_image_generator.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/test/skia_common.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/test/stub_decode_cache.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/test/stub_paint_image_generator.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/gpu_image_decode_cache.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/image_decode_cache.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/software_image_decode_cache.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/cc/tiles/tile_manager_unittest.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/media/renderers/skcanvas_video_renderer.cc
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DecodingImageGenerator.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTestWoPlatform.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/ImageDecodingStoreTest.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/ImageFrameGeneratorTest.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/PlaceholderImage.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/paint/PaintImage.h
[modify] https://crrev.com/b41caaafb9b0785845a8fafc141bf54da6fe1875/third_party/WebKit/Source/platform/graphics/test/MockImageDecoder.h

Project Member

Comment 9 by bugdroid1@chromium.org, Sep 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab

commit 2f6e908ccdb7e929aef3e3b29b91bd85003f8dab
Author: Khushal <khushalsagar@chromium.org>
Date: Tue Sep 05 23:33:23 2017

cc: Move repetition count constants to cc/paint.

To prepare cc for animating images, add repetition count to PaintImage
that determines the number of loops repeated for the image and move the
shared constants to cc/paint/.

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I101ab0eae52bede9c32192f780a8e14ef307a004
Reviewed-on: https://chromium-review.googlesource.com/650532
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499797}
[modify] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/cc/paint/BUILD.gn
[add] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/cc/paint/image_animation_count.h
[modify] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/cc/paint/paint_image.h
[modify] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/cc/paint/paint_image_builder.h
[modify] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[add] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/third_party/WebKit/Source/platform/image-decoders/DEPS
[modify] https://crrev.com/2f6e908ccdb7e929aef3e3b29b91bd85003f8dab/third_party/WebKit/Source/platform/image-decoders/ImageAnimation.h

Project Member

Comment 10 by bugdroid1@chromium.org, Sep 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e1b831e45fbc396bc4ecf14278804f7860af182f

commit e1b831e45fbc396bc4ecf14278804f7860af182f
Author: Khushal <khushalsagar@chromium.org>
Date: Wed Sep 20 03:45:42 2017

blink: Fix bugs in blink Image metadata tracking.

This change fixes the following bugs in BitmapImage and Image.

1) The repetition count in BitmapImage is assumed to only be known once
a complete loop of an animation has been completed. This is an
incorrect assumption, since the repetition count is locked once all
encoded data for the image is available.

2) The completion state of the PaintImage created by Image overrides is
set based on whether CurrentFrameIsFullyReceived. This method should
return whether all data to completely decode the current frame is
available. This is incorrect since the state should be set based on
whether the complete data for the image has been received. In addition,
since the method is not overridden by any of the Image subclasses, the
value defaults to false in all cases. Fix this by setting the state
correctly in all image overrides.

3) When creating a PaintImageGenerator for a PaintImage, the
DeferredImageDecoder records the actual duration for a frame. For the
purpose of animating this image, this value is overridden to account
for cases where the duration < 10ms. Ensure that this overridden value
is added to the generator's FrameMetadata.

4) Finally, the cached PaintImage should be reset if any of the metadata
flags added to it have changed, ensure that this happens in
BitmapImage::DataChanged.

Bug:  735741 
Change-Id: I93918f5306b39c6d71b1f1e36dc448263052f3e3
Reviewed-on: https://chromium-review.googlesource.com/669771
Reviewed-by: Fredrik Söderquist <fs@opera.com>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503037}
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/core/svg/graphics/SVGImage.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/core/svg/graphics/SVGImage.h
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/core/svg/graphics/SVGImageForContainer.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/AcceleratedStaticBitmapImage.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/DeferredImageDecoder.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/DeferredImageDecoderTest.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/Image.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/PlaceholderImage.cpp
[modify] https://crrev.com/e1b831e45fbc396bc4ecf14278804f7860af182f/third_party/WebKit/Source/platform/graphics/test/MockImageDecoder.h

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/cb1afeca9b9304dae846322971ebc37f5eaecbbf

commit cb1afeca9b9304dae846322971ebc37f5eaecbbf
Author: Khushal <khushalsagar@chromium.org>
Date: Fri Sep 22 04:44:41 2017

images: Move animation of images to cc.

Currently animating an image requires an invalidation and repaint, to
record the next frame of animation in an updated DisplayItemList from
blink to cc. This change eliminates repaints for these animations by
ticking them in the compositor and selecting the frame index at playback
time during raster, instead of the value stored in the recording. Doing
this requires the following:

1) An ImageAnimationController class is added to track the frame index
for an image used on the active/pending tree and to schedule an
invalidation when the animation needs to be advanced.

2) The frame_index to use for an image is added to DrawImage for the
image decode caches. When creating a raster task for a tile, a
map of image_id_to_frame_index_ to use for an image is stored in the
PlaybackImageProvider, based on the tree of this tile.

3) The animation state for an image is persisted in the controller across
commits. This is necessary to ensure that the animation is resumed from
the last frame displayed, even if the image is no longer being painted.
Subsequent changes will remove this tracking on navigations, or update
it if explicitly reset on the main thread.

The following improvements in smoothness and thread_times result for
https://giphy.com/search/60-fps on Android Nexus5 from this change:

BEFORE
thread_total_all_cpu_time_per_frame: 64.023 ms
thread_total_fast_path_cpu_time_per_frame: 24.411 ms
thread_renderer_main_cpu_time_per_frame: 9.866 ms
thread_renderer_compositor_cpu_time_per_frame: 5.513 ms
thread_raster_cpu_time_per_frame: 29.376 ms

avg_surface_fps: 28.250
mean_frame_time: 35.523 ms
percentage_smooth: 41.495
jank_count: 95
max_frame_delay: 9.250

AFTER
thread_total_all_cpu_time_per_frame: 42.568 ms
thread_total_fast_path_cpu_time_per_frame: 21.003 ms
thread_renderer_main_cpu_time_per_frame: 1.614 ms
thread_renderer_compositor_cpu_time_per_frame: 4.826 ms
thread_raster_cpu_time_per_frame: 19.695 ms

avg_surface_fps: 36.5
mean_frame_time: 27.302 ms
percentage_smooth: 60.045
jank_count: 73
max_frame_delay: 7.250

R= chrishtr@chromium.org, enne@chromium.org, vmpstr@chromium.org

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I4dc018d4fc2aa82962d05f24d88ae0e73b39f7ca
Reviewed-on: https://chromium-review.googlesource.com/651136
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: vmpstr <vmpstr@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503660}
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/BUILD.gn
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/benchmarks/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/layers/recording_source_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/discardable_image_map.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/draw_image.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/draw_image.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/paint_image.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/paint_image.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/paint/paint_image_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/raster/playback_image_provider.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/raster/playback_image_provider.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/raster/playback_image_provider_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/scheduler/scheduler_state_machine.cc
[add] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/fake_paint_image_generator.cc
[add] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/fake_paint_image_generator.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/fake_tile_manager_client.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/fake_tile_manager_client.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/skia_common.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/test/skia_common.h
[delete] https://crrev.com/d844d6e8025631f66b9e48b1bb2f6210d1f1b8b2/cc/test/stub_paint_image_generator.cc
[delete] https://crrev.com/d844d6e8025631f66b9e48b1bb2f6210d1f1b8b2/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/checker_image_tracker.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/checker_image_tracker.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/decoded_image_tracker.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/software_image_decode_cache_perftest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/tile_manager.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/tile_manager.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/tiles/tile_manager_unittest.cc
[add] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/image_animation_controller.cc
[add] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/image_animation_controller.h
[add] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/image_animation_controller_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/content/public/common/content_switches.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/content/public/common/content_switches.h
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/cb1afeca9b9304dae846322971ebc37f5eaecbbf/third_party/WebKit/public/platform/WebRuntimeFeatures.h

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1f14e226a796219b063594cc3aae3971d15bb9c5

commit 1f14e226a796219b063594cc3aae3971d15bb9c5
Author: Vadym Doroshenko <dvadym@chromium.org>
Date: Fri Sep 22 09:52:25 2017

Revert "images: Move animation of images to cc."

This reverts commit cb1afeca9b9304dae846322971ebc37f5eaecbbf.

Reason for revert: 
This CL is the most likely reason of failures in MSAN bots on cc_unittests 
GpuImageDecodeCacheTests/GpuImageDecodeCacheTest.QualityCappedAtMedium/1
GpuImageDecodeCacheTests/GpuImageDecodeCacheTest.GetDecodedImageForDrawNegative/1
GpuImageDecodeCacheTests/GpuImageDecodeCacheTest.GetTaskForImageDifferentImage/1
(and >30 more)
on Linux and CrOS https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20MSan%20Tests/builds/4424


Original change's description:
> images: Move animation of images to cc.
> 
> Currently animating an image requires an invalidation and repaint, to
> record the next frame of animation in an updated DisplayItemList from
> blink to cc. This change eliminates repaints for these animations by
> ticking them in the compositor and selecting the frame index at playback
> time during raster, instead of the value stored in the recording. Doing
> this requires the following:
> 
> 1) An ImageAnimationController class is added to track the frame index
> for an image used on the active/pending tree and to schedule an
> invalidation when the animation needs to be advanced.
> 
> 2) The frame_index to use for an image is added to DrawImage for the
> image decode caches. When creating a raster task for a tile, a
> map of image_id_to_frame_index_ to use for an image is stored in the
> PlaybackImageProvider, based on the tree of this tile.
> 
> 3) The animation state for an image is persisted in the controller across
> commits. This is necessary to ensure that the animation is resumed from
> the last frame displayed, even if the image is no longer being painted.
> Subsequent changes will remove this tracking on navigations, or update
> it if explicitly reset on the main thread.
> 
> The following improvements in smoothness and thread_times result for
> https://giphy.com/search/60-fps on Android Nexus5 from this change:
> 
> BEFORE
> thread_total_all_cpu_time_per_frame: 64.023 ms
> thread_total_fast_path_cpu_time_per_frame: 24.411 ms
> thread_renderer_main_cpu_time_per_frame: 9.866 ms
> thread_renderer_compositor_cpu_time_per_frame: 5.513 ms
> thread_raster_cpu_time_per_frame: 29.376 ms
> 
> avg_surface_fps: 28.250
> mean_frame_time: 35.523 ms
> percentage_smooth: 41.495
> jank_count: 95
> max_frame_delay: 9.250
> 
> AFTER
> thread_total_all_cpu_time_per_frame: 42.568 ms
> thread_total_fast_path_cpu_time_per_frame: 21.003 ms
> thread_renderer_main_cpu_time_per_frame: 1.614 ms
> thread_renderer_compositor_cpu_time_per_frame: 4.826 ms
> thread_raster_cpu_time_per_frame: 19.695 ms
> 
> avg_surface_fps: 36.5
> mean_frame_time: 27.302 ms
> percentage_smooth: 60.045
> jank_count: 73
> max_frame_delay: 7.250
> 
> R=​ chrishtr@chromium.org, enne@chromium.org, vmpstr@chromium.org
> 
> Bug:  735741 
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I4dc018d4fc2aa82962d05f24d88ae0e73b39f7ca
> Reviewed-on: https://chromium-review.googlesource.com/651136
> Commit-Queue: Khushal <khushalsagar@chromium.org>
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Reviewed-by: vmpstr <vmpstr@chromium.org>
> Reviewed-by: enne <enne@chromium.org>
> Reviewed-by: Antoine Labour <piman@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#503660}

TBR=vmpstr@chromium.org,chrishtr@chromium.org,enne@chromium.org,khushalsagar@chromium.org,piman@chromium.org

Change-Id: I266bd9daa67937a1b5950ad2ca06d888cbe2b119
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/678734
Reviewed-by: Vadym Doroshenko <dvadym@chromium.org>
Commit-Queue: Vadym Doroshenko <dvadym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503702}
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/BUILD.gn
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/benchmarks/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/layers/recording_source_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/discardable_image_map.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/draw_image.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/draw_image.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/paint_image.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/paint_image.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/paint/paint_image_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/raster/playback_image_provider.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/raster/playback_image_provider.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/raster/playback_image_provider_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/scheduler/scheduler_state_machine.cc
[delete] https://crrev.com/419d7393cda46c92539d2d6811edcfe3ac3dde7d/cc/test/fake_paint_image_generator.cc
[delete] https://crrev.com/419d7393cda46c92539d2d6811edcfe3ac3dde7d/cc/test/fake_paint_image_generator.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/fake_tile_manager_client.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/fake_tile_manager_client.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/skia_common.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/skia_common.h
[add] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/stub_paint_image_generator.cc
[add] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/checker_image_tracker.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/checker_image_tracker.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/decoded_image_tracker.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/software_image_decode_cache_perftest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/tile_manager.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/tile_manager.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/tiles/tile_manager_unittest.cc
[delete] https://crrev.com/419d7393cda46c92539d2d6811edcfe3ac3dde7d/cc/trees/image_animation_controller.cc
[delete] https://crrev.com/419d7393cda46c92539d2d6811edcfe3ac3dde7d/cc/trees/image_animation_controller.h
[delete] https://crrev.com/419d7393cda46c92539d2d6811edcfe3ac3dde7d/cc/trees/image_animation_controller_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/content/public/common/content_switches.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/content/public/common/content_switches.h
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/1f14e226a796219b063594cc3aae3971d15bb9c5/third_party/WebKit/public/platform/WebRuntimeFeatures.h

Project Member

Comment 13 by bugdroid1@chromium.org, Sep 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c

commit fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c
Author: Khushal <khushalsagar@chromium.org>
Date: Fri Sep 22 22:40:52 2017

Reland images: Move animation of images to cc.

This relands commit I266bd9daa67937a1b5950ad2ca06d888cbe2b119.
The original change was not populating the pixels in the test decoder
(see FakePaintImageGenerator::GetPixels). And reading from the pixmap
fails if the original SkImageInfo did not have a color space but the
destination info does. Since we always set the target color space to
decode to, make sure the test images are created with a default color
space.

images: Move animation of images to cc.

Currently animating an image requires an invalidation and repaint, to
record the next frame of animation in an updated DisplayItemList from
blink to cc. This change eliminates repaints for these animations by
ticking them in the compositor and selecting the frame index at playback
time during raster, instead of the value stored in the recording. Doing
this requires the following:

1) An ImageAnimationController class is added to track the frame index
for an image used on the active/pending tree and to schedule an
invalidation when the animation needs to be advanced.

2) The frame_index to use for an image is added to DrawImage for the
image decode caches. When creating a raster task for a tile, a
map of image_id_to_frame_index_ to use for an image is stored in the
PlaybackImageProvider, based on the tree of this tile.

3) The animation state for an image is persisted in the controller across
commits. This is necessary to ensure that the animation is resumed from
the last frame displayed, even if the image is no longer being painted.
Subsequent changes will remove this tracking on navigations, or update
it if explicitly reset on the main thread.

The following improvements in smoothness and thread_times result for
https://giphy.com/search/60-fps on Android Nexus5 from this change:

BEFORE
thread_total_all_cpu_time_per_frame: 64.023 ms
thread_total_fast_path_cpu_time_per_frame: 24.411 ms
thread_renderer_main_cpu_time_per_frame: 9.866 ms
thread_renderer_compositor_cpu_time_per_frame: 5.513 ms
thread_raster_cpu_time_per_frame: 29.376 ms

avg_surface_fps: 28.250
mean_frame_time: 35.523 ms
percentage_smooth: 41.495
jank_count: 95
max_frame_delay: 9.250

AFTER
thread_total_all_cpu_time_per_frame: 42.568 ms
thread_total_fast_path_cpu_time_per_frame: 21.003 ms
thread_renderer_main_cpu_time_per_frame: 1.614 ms
thread_renderer_compositor_cpu_time_per_frame: 4.826 ms
thread_raster_cpu_time_per_frame: 19.695 ms

avg_surface_fps: 36.5
mean_frame_time: 27.302 ms
percentage_smooth: 60.045
jank_count: 73
max_frame_delay: 7.250

TBR=chrishtr@chromium.org, piman@chromium.org, vmpstr@chromium.org
R=enne@chromium.org

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I562898c39ee795c2b2bf7e67a3475c5f546f3e25
Reviewed-on: https://chromium-review.googlesource.com/678452
Reviewed-by: enne <enne@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503885}
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/BUILD.gn
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/benchmarks/rasterize_and_record_benchmark_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/layers/picture_layer_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/layers/picture_layer_impl.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/layers/picture_layer_impl_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/layers/recording_source_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/discardable_image_map.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/draw_image.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/draw_image.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/paint_image.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/paint_image.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/paint_image_builder.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/paint/paint_image_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/raster/playback_image_provider.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/raster/playback_image_provider.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/raster/playback_image_provider_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/raster/raster_source_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/scheduler/scheduler_state_machine.cc
[add] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/fake_paint_image_generator.cc
[add] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/fake_paint_image_generator.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/fake_tile_manager_client.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/fake_tile_manager_client.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/skia_common.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/test/skia_common.h
[delete] https://crrev.com/e9cf1195a6724216a4683daa2fc4cf10213a7610/cc/test/stub_paint_image_generator.cc
[delete] https://crrev.com/e9cf1195a6724216a4683daa2fc4cf10213a7610/cc/test/stub_paint_image_generator.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/checker_image_tracker.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/checker_image_tracker.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/checker_image_tracker_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/decoded_image_tracker.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/gpu_image_decode_cache.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/gpu_image_decode_cache_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/image_controller_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/software_image_decode_cache.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/software_image_decode_cache_perftest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/software_image_decode_cache_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/tile_manager.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/tile_manager.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/tiles/tile_manager_unittest.cc
[add] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/image_animation_controller.cc
[add] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/image_animation_controller.h
[add] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/image_animation_controller_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/cc/trees/layer_tree_settings.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/content/public/common/content_switches.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/content/public/common/content_switches.h
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/content/renderer/gpu/render_widget_compositor.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/third_party/WebKit/Source/platform/exported/WebRuntimeFeatures.cpp
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/third_party/WebKit/Source/platform/runtime_enabled_features.json5
[modify] https://crrev.com/fdacdc9f7bd8e4b0cf23b192e959c2350f693e7c/third_party/WebKit/public/platform/WebRuntimeFeatures.h

Status: Fixed (was: Assigned)
Project Member

Comment 15 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/576bda00f9ee4d41f309069b88513b34049f58ee

commit 576bda00f9ee4d41f309069b88513b34049f58ee
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Sep 28 01:44:10 2017

cc: Decode discardable images in PaintRecord backed shaders.

For PaintRecord backed shaders, the rasterization is done internally in
skia, which means images present in these shaders are not pre-decoded
by compositor's decode cache. This change ensures that we capture these
images during discardable image analysis, and replace them with decoded
images from the compositor's cache.

Replacing of these images requires transforming the PaintRecords in
these shaders to SkPictures with decoded images before executing the op
with the shader.

Bug:  735741 , 728359
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: Ie9314e566eaeb1a393c7490e6309d1315ec3733e
Reviewed-on: https://chromium-review.googlesource.com/673826
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Reviewed-by: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504860}
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/BUILD.gn
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/BUILD.gn
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/paint_shader.cc
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/paint_shader.h
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/paint_shader_unittest.cc
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/scoped_image_flags.cc
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/scoped_image_flags.h
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/css3/masking/mask-repeat-space-padding-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/backgrounds/background-repeat-with-background-color-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/backgrounds/background-repeat-with-background-color-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/images/color-profile-background-image-space-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/images/color-profile-svg-fill-text-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[add] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/576bda00f9ee4d41f309069b88513b34049f58ee/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/a964e6f586c0da83551ee3044b8f4a17993b477b/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Project Member

Comment 16 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f5043ca9426a66da17606954a6e4b7f94a9802e

commit 3f5043ca9426a66da17606954a6e4b7f94a9802e
Author: Khushal <khushalsagar@chromium.org>
Date: Thu Sep 28 03:53:41 2017

cc/blink: Don't animate PaintImages from StaticBitmapImage.

StaticBitmapImage represents a static frame of an animated image. Set
the repetition_count_ for its PaintImage to kAnimationNone to keep this
image from being animated by the compositor.

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I96af57144b3ce3b951a3d9d77a6c72179378d97a
Reviewed-on: https://chromium-review.googlesource.com/664423
Reviewed-by: vmpstr <vmpstr@chromium.org>
Reviewed-by: Philip Rogers <pdr@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504890}
[modify] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/paint_image.cc
[modify] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/paint_image.h
[modify] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp

Project Member

Comment 17 by bugdroid1@chromium.org, Sep 28 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c499c0a65465e50837c54af42c8f5b89d1df8d3

commit 6c499c0a65465e50837c54af42c8f5b89d1df8d3
Author: Taiju Tsuiki <tzik@chromium.org>
Date: Thu Sep 28 03:56:19 2017

Revert "cc: Decode discardable images in PaintRecord backed shaders."

This reverts commit 576bda00f9ee4d41f309069b88513b34049f58ee.

Reason for revert:
Seems to cause LayoutTest failure on CI.

Failing tests are:
* css3/masking/mask-repeat-space-padding.html
* fast/backgrounds/background-repeat-with-background-color.html
* http/tests/misc/slow-loading-image-in-pattern.html
* images/color-profile-background-image-space.html
* images/color-profile-svg-fill-text.html
* virtual/exotic-color-space/images/color-profile-svg-fill-text.html
* virtual/exotic-color-space/images/cross-fade-background-size.html
* virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern.html

The error log is available here:
https://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Mac10.11/builds/23965

Original change's description:
> cc: Decode discardable images in PaintRecord backed shaders.
> 
> For PaintRecord backed shaders, the rasterization is done internally in
> skia, which means images present in these shaders are not pre-decoded
> by compositor's decode cache. This change ensures that we capture these
> images during discardable image analysis, and replace them with decoded
> images from the compositor's cache.
> 
> Replacing of these images requires transforming the PaintRecords in
> these shaders to SkPictures with decoded images before executing the op
> with the shader.
> 
> Bug:  735741 , 728359
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
> Change-Id: Ie9314e566eaeb1a393c7490e6309d1315ec3733e
> Reviewed-on: https://chromium-review.googlesource.com/673826
> Commit-Queue: Khushal <khushalsagar@chromium.org>
> Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
> Reviewed-by: enne <enne@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#504860}

TBR=vmpstr@chromium.org,chrishtr@chromium.org,enne@chromium.org,khushalsagar@chromium.org

Change-Id: I308e40a4f88c45b25d68ed2a6663d4f83e8b71ee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  735741 , 728359
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Reviewed-on: https://chromium-review.googlesource.com/688520
Reviewed-by: Taiju Tsuiki <tzik@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#504891}
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/BUILD.gn
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/BUILD.gn
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/paint_shader.cc
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/cc/paint/paint_shader.h
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/paint_shader_unittest.cc
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/scoped_image_flags.cc
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/scoped_image_flags.h
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/css3/masking/mask-repeat-space-padding-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/fast/backgrounds/background-repeat-with-background-color-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/css3/masking/mask-repeat-space-padding-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/fast/backgrounds/background-repeat-with-background-color-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/images/color-profile-background-image-space-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/images/color-profile-svg-fill-text-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac-mac10.11/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[delete] https://crrev.com/3f5043ca9426a66da17606954a6e4b7f94a9802e/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/6c499c0a65465e50837c54af42c8f5b89d1df8d3/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Project Member

Comment 18 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa

commit 8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa
Author: Khushal <khushalsagar@chromium.org>
Date: Mon Oct 02 05:16:34 2017

Reland cc: Decode discardable images in PaintRecord backed shaders.

This relands commit 576bda00f9ee4d41f309069b88513b34049f58ee.

For PaintRecord backed shaders, the rasterization is done internally in
skia, which means images present in these shaders are not pre-decoded
by compositor's decode cache. This change ensures that we capture these
images during discardable image analysis, and replace them with decoded
images from the compositor's cache.

Replacing of these images requires transforming the PaintRecords in
these shaders to SkPictures with decoded images before executing the op
with the shader.

TBR=chrishtr@chromium.org, enne@chromium.org

Bug:  735741 , 728359
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I3b851a2824b89affb017284436e260ebd57649fc
Reviewed-on: https://chromium-review.googlesource.com/690734
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505538}
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/BUILD.gn
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/BUILD.gn
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/paint_shader.cc
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/paint_shader.h
[add] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/paint_shader_unittest.cc
[add] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/scoped_image_flags.cc
[add] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/scoped_image_flags.h
[add] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[add] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/92ca5ce9f588715f04b70c1bb7094b271ff91b5a/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Project Member

Comment 19 by bugdroid1@chromium.org, Oct 2 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb

commit fe24d7f3ac1b5bcfb840a5ada01627df90a099eb
Author: Mike West <mkwst@chromium.org>
Date: Mon Oct 02 09:09:36 2017

Revert "Reland cc: Decode discardable images in PaintRecord backed shaders."

This reverts commit 8fafe68a2435c9992cda9906f7fc8bd7ec7d6daa.

Reason for revert:
- `cc_unittests` MSan failure, starting in https://build.chromium.org/p/chromium.memory/builders/Linux%20MSan%20Tests/builds/4662. 

Original change's description:
> Reland cc: Decode discardable images in PaintRecord backed shaders.
> 
> This relands commit 576bda00f9ee4d41f309069b88513b34049f58ee.
> 
> For PaintRecord backed shaders, the rasterization is done internally in
> skia, which means images present in these shaders are not pre-decoded
> by compositor's decode cache. This change ensures that we capture these
> images during discardable image analysis, and replace them with decoded
> images from the compositor's cache.
> 
> Replacing of these images requires transforming the PaintRecords in
> these shaders to SkPictures with decoded images before executing the op
> with the shader.
> 
> TBR=chrishtr@chromium.org, enne@chromium.org
> 
> Bug:  735741 , 728359
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I3b851a2824b89affb017284436e260ebd57649fc
> Reviewed-on: https://chromium-review.googlesource.com/690734
> Reviewed-by: Khushal <khushalsagar@chromium.org>
> Commit-Queue: Khushal <khushalsagar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505538}

TBR=chrishtr@chromium.org,enne@chromium.org,khushalsagar@chromium.org

Change-Id: I8a7fc965f9d15334c61102c5970057af94aa40fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  735741 , 728359,  770631 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/692938
Reviewed-by: Mike West <mkwst@chromium.org>
Commit-Queue: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505562}
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/BUILD.gn
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/BUILD.gn
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/paint_shader.cc
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/cc/paint/paint_shader.h
[delete] https://crrev.com/c43a18e85fe1c6f718273977c1b68c9d1fbcf51a/cc/paint/paint_shader_unittest.cc
[delete] https://crrev.com/c43a18e85fe1c6f718273977c1b68c9d1fbcf51a/cc/paint/scoped_image_flags.cc
[delete] https://crrev.com/c43a18e85fe1c6f718273977c1b68c9d1fbcf51a/cc/paint/scoped_image_flags.h
[delete] https://crrev.com/c43a18e85fe1c6f718273977c1b68c9d1fbcf51a/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[delete] https://crrev.com/c43a18e85fe1c6f718273977c1b68c9d1fbcf51a/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/fe24d7f3ac1b5bcfb840a5ada01627df90a099eb/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Project Member

Comment 20 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/53b8ed642644f245e3cb8d5cf2541bf3778ae7de

commit 53b8ed642644f245e3cb8d5cf2541bf3778ae7de
Author: Khushal <khushalsagar@chromium.org>
Date: Tue Oct 03 00:36:30 2017

Reland cc: Decode discardable images in PaintRecord backed shaders.

This reverts commit fe24d7f3ac1b5bcfb840a5ada01627df90a099eb. Since we
rasterize the SkPicture with decoded images in the test, we need to
initialize its pixels. Fix that.

R=enne@chromium.org
TBR=chrishtr@chromium.org

Bug:  735741 ,728359
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I10989e2bc28594c9fa8e291559ae2753e65de29d
Reviewed-on: https://chromium-review.googlesource.com/695449
Reviewed-by: enne <enne@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505885}
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/BUILD.gn
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/BUILD.gn
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/paint_shader.cc
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/paint_shader.h
[add] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/paint_shader_unittest.cc
[add] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/scoped_image_flags.cc
[add] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/scoped_image_flags.h
[add] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[add] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/53b8ed642644f245e3cb8d5cf2541bf3778ae7de/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[delete] https://crrev.com/4fc238b5768ec2e605237f5e65e9d0e766f52243/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Project Member

Comment 21 by bugdroid1@chromium.org, Oct 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/48858069622e424354bc9cbb63182bcc8e4b75ae

commit 48858069622e424354bc9cbb63182bcc8e4b75ae
Author: Khushal <khushalsagar@chromium.org>
Date: Tue Oct 03 01:02:49 2017

images: UMA number of frames dropped for animated images.

If the renderer can not run an image animation at the requested frame
rate, frames in the animation are skipped when trying to catch up to
the desired frame. Add an UMA to measure this to assess the smoothness
of these animations.

Bug:  735741 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I4d00dbeb6455f8e5badebbdec3403677ec2db462
Reviewed-on: https://chromium-review.googlesource.com/668016
Commit-Queue: Khushal <khushalsagar@chromium.org>
Reviewed-by: Mark Pearson <mpearson@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#505898}
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/cc/trees/image_animation_controller.cc
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/cc/trees/image_animation_controller.h
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/cc/trees/image_animation_controller_unittest.cc
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/third_party/WebKit/Source/platform/graphics/BitmapImage.cpp
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/third_party/WebKit/Source/platform/graphics/BitmapImage.h
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/third_party/WebKit/Source/platform/graphics/BitmapImageTest.cpp
[modify] https://crrev.com/48858069622e424354bc9cbb63182bcc8e4b75ae/tools/metrics/histograms/histograms.xml

Project Member

Comment 22 by bugdroid1@chromium.org, Oct 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f77a3ffbb03b2037f2b752ca638a101187f106f0

commit f77a3ffbb03b2037f2b752ca638a101187f106f0
Author: Khushal <khushalsagar@chromium.org>
Date: Wed Oct 04 02:52:03 2017

Revert "Reland cc: Decode discardable images in PaintRecord backed shaders."

This reverts commit 53b8ed642644f245e3cb8d5cf2541bf3778ae7de.

Reason for revert: Causing flakiness on Linux Release (NVIDIA) for webgl_conformance_tests. See  crbug.com/771156 .

Original change's description:
> Reland cc: Decode discardable images in PaintRecord backed shaders.
> 
> This reverts commit fe24d7f3ac1b5bcfb840a5ada01627df90a099eb. Since we
> rasterize the SkPicture with decoded images in the test, we need to
> initialize its pixels. Fix that.
> 
> R=​enne@chromium.org
> TBR=chrishtr@chromium.org
> 
> Bug:  735741 ,728359
> Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
> Change-Id: I10989e2bc28594c9fa8e291559ae2753e65de29d
> Reviewed-on: https://chromium-review.googlesource.com/695449
> Reviewed-by: enne <enne@chromium.org>
> Commit-Queue: Khushal <khushalsagar@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#505885}

TBR=chrishtr@chromium.org,enne@chromium.org,khushalsagar@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  735741 , 728359
Change-Id: I9bc577e4f6488ef3bccb991609828db20467231f
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Reviewed-on: https://chromium-review.googlesource.com/699755
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: Khushal <khushalsagar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506285}
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/BUILD.gn
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/BUILD.gn
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/discardable_image_map.cc
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/discardable_image_map_unittest.cc
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/paint_op_buffer.cc
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/paint_op_buffer.h
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/paint_shader.cc
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/cc/paint/paint_shader.h
[delete] https://crrev.com/dee1a06ada73466f9eb14544b2f4d5180eb2d42f/cc/paint/paint_shader_unittest.cc
[delete] https://crrev.com/dee1a06ada73466f9eb14544b2f4d5180eb2d42f/cc/paint/scoped_image_flags.cc
[delete] https://crrev.com/dee1a06ada73466f9eb14544b2f4d5180eb2d42f/cc/paint/scoped_image_flags.h
[delete] https://crrev.com/dee1a06ada73466f9eb14544b2f4d5180eb2d42f/cc/paint/scoped_image_flags_unittest.cc
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/linux/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/linux/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/linux/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/linux/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac-mac10.10/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac-mac10.10/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac-mac10.9/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac-mac10.9/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac-mac10.9/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/images/cross-fade-background-size-expected.png
[delete] https://crrev.com/dee1a06ada73466f9eb14544b2f4d5180eb2d42f/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/mac/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/css3/masking/mask-repeat-space-padding-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/fast/backgrounds/background-repeat-with-background-color-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/http/tests/misc/slow-loading-image-in-pattern-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/color-profile-svg-fill-text-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/virtual/exotic-color-space/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/virtual/gpu-rasterization/images/cross-fade-background-size-expected.png
[modify] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/platform/win/virtual/mojo-loading/http/tests/misc/slow-loading-image-in-pattern-expected.png
[add] https://crrev.com/f77a3ffbb03b2037f2b752ca638a101187f106f0/third_party/WebKit/LayoutTests/virtual/exotic-color-space/images/color-profile-background-image-space-expected.png

Sign in to add a comment