See also: https://github.com/w3c/css-houdini-drafts/issues/479 https://groups.google.com/a/chromium.org/forum/#!topic/paint-dev/8_wC10QUzdM Right now, width and height are rounded before being passed to the worklet.
Look like CSS working group has resolved this issue here: https://github.com/w3c/css-houdini-drafts/issues/508
Awesome!
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5 commit 9cd6de76ba2dbe7db44e016bd8753d30724ef6d5 Author: Xida Chen <xidachen@chromium.org> Date: Wed Nov 15 22:58:23 2017 [PaintWorklet] Pass snapped concrete size to paint function Right now when we set the PaintSize in CSSPaintDefinition::Paint(), the size is the concrete object size. There has been some discussion around here: https://github.com/w3c/css-houdini-drafts/issues/508 and the solution is to pass the snapped concrete object size divided by device scale factor. The ongoing pull request to change the spec is here: https://github.com/w3c/css-houdini-drafts/pull/518 This CL corrects the PaintSize to reflect the spec changes. It also adds a layout test to ensure the correctness. Bug: 774810 Cq-Include-Trybots: master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2 Change-Id: I42b57db6ac0d40be2b408cb733a659f5ea14dfa0 Reviewed-on: https://chromium-review.googlesource.com/733862 Reviewed-by: Chris Harrelson <chrishtr@chromium.org> Commit-Queue: Xida Chen <xidachen@chromium.org> Cr-Commit-Position: refs/heads/master@{#516872} [add] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/LayoutTests/external/wpt/css/css-paint-api/geometry-with-float-size-ref.html [add] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/LayoutTests/external/wpt/css/css-paint-api/geometry-with-float-size.https.html [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/LayoutTests/http/tests/csspaint/hidpi/geometry-with-hidpi-zoom.html [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/css/CSSImageGeneratorValue.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/css/CSSImageGeneratorValue.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/css/CSSPaintImageGenerator.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/css/CSSPaintValue.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/css/CSSPaintValue.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/layout/LayoutImageResourceStyleImage.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/layout/shapes/ShapeOutsideInfo.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/paint/BackgroundImageGeometry.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/paint/BoxPainterBase.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/paint/ListMarkerPainter.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/paint/NinePieceImagePainter.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleFetchedImage.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleFetchedImage.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleFetchedImageSet.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleFetchedImageSet.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleGeneratedImage.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleGeneratedImage.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleImage.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StyleInvalidImage.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/core/style/StylePendingImage.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/CSSPaintDefinition.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/CSSPaintImageGeneratorImpl.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/CSSPaintImageGeneratorImpl.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/PaintSize.h [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/PaintWorklet.cpp [modify] https://crrev.com/9cd6de76ba2dbe7db44e016bd8753d30724ef6d5/third_party/WebKit/Source/modules/csspaint/PaintWorklet.h
Comment 1 by chrishtr@chromium.org
, Oct 14 2017