RESOLVED FIXED130643
Subpixel rendering: Transition class Image (and its dependencies) from int to float to enable subpixel positioned/sized images.
https://bugs.webkit.org/show_bug.cgi?id=130643
Summary Subpixel rendering: Transition class Image (and its dependencies) from int to...
alan
Reported 2014-03-22 12:46:25 PDT
This is in preparation to support subpixel (background)images.
Attachments
Patch (60.37 KB, patch)
2014-03-22 13:09 PDT, alan
no flags
Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2 (550.07 KB, application/zip)
2014-03-22 14:23 PDT, Build Bot
no flags
Archive of layout-test-results from webkit-ews-02 for mac-mountainlion (579.83 KB, application/zip)
2014-03-22 15:02 PDT, Build Bot
no flags
Archive of layout-test-results from webkit-ews-01 for mac-mountainlion (647.12 KB, application/zip)
2014-03-22 15:52 PDT, Build Bot
no flags
Patch (89.91 KB, patch)
2014-03-22 16:58 PDT, alan
no flags
Patch (91.92 KB, patch)
2014-03-22 17:22 PDT, alan
no flags
Patch (94.78 KB, patch)
2014-03-22 17:35 PDT, alan
no flags
Patch (95.97 KB, patch)
2014-03-22 18:26 PDT, alan
no flags
Patch (94.27 KB, patch)
2014-03-22 18:35 PDT, alan
no flags
Archive of layout-test-results from webkit-ews-14 for mac-mountainlion-wk2 (1.36 MB, application/zip)
2014-03-22 21:41 PDT, Build Bot
no flags
Archive of layout-test-results from webkit-ews-07 for mac-mountainlion (1.50 MB, application/zip)
2014-03-22 21:44 PDT, Build Bot
no flags
Patch (114.86 KB, patch)
2014-03-22 21:50 PDT, alan
no flags
Patch (116.50 KB, patch)
2014-03-22 22:17 PDT, alan
no flags
Patch (117.66 KB, patch)
2014-03-22 22:51 PDT, alan
no flags
Patch (119.19 KB, patch)
2014-03-23 00:02 PDT, alan
no flags
Patch (119.81 KB, patch)
2014-03-23 08:24 PDT, alan
no flags
Patch (122.26 KB, patch)
2014-03-31 20:12 PDT, alan
no flags
alan
Comment 1 2014-03-22 13:09:57 PDT
Build Bot
Comment 2 2014-03-22 14:23:47 PDT
Comment on attachment 227565 [details] Patch Attachment 227565 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/4898611695452160 New failing tests: svg/filters/feImage-position.svg svg/W3C-SVG-1.1/filters-displace-01-f.svg svg/filters/feImage-subregions.svg svg/custom/feDisplacementMap-01.svg svg/filters/feImage-target-id-change.svg svg/W3C-SVG-1.1-SE/filters-image-05-f.svg svg/filters/feImage-target-inline-style-change.svg svg/filters/feImage-multiple-targets-id-change.svg svg/filters/feImage-target-attribute-change-with-use-indirection.svg svg/filters/feImage-target-changes-id.svg svg/filters/feImage-reference-svg-primitive.svg svg/filters/feImage-remove-target.svg fast/repaint/obscured-background-no-repaint.html svg/filters/feImage-subregions-preseveAspectRatio-none.svg svg/filters/feImage-target-add-to-document.svg svg/W3C-SVG-1.1/filters-composite-02-b.svg svg/filters/feImage-late-indirect-update.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/W3C-SVG-1.1-SE/filters-image-03-f.svg svg/filters/feImage-preserveAspectratio.svg svg/filters/feImage-change-target-id.svg svg/filters/feImage-target-attribute-change.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg svg/filters/feImage-preserveAspectRatio-all.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-reference-invalidation.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg svg/W3C-SVG-1.1/filters-image-01-b.svg
Build Bot
Comment 3 2014-03-22 14:23:57 PDT
Created attachment 227572 [details] Archive of layout-test-results from webkit-ews-15 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-15 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Build Bot
Comment 4 2014-03-22 15:02:14 PDT
Comment on attachment 227565 [details] Patch Attachment 227565 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/4854492986081280 New failing tests: svg/filters/feImage-position.svg svg/W3C-SVG-1.1/filters-displace-01-f.svg svg/filters/feImage-subregions.svg svg/custom/feDisplacementMap-01.svg svg/filters/feImage-target-id-change.svg svg/W3C-SVG-1.1-SE/filters-image-05-f.svg svg/filters/feImage-target-inline-style-change.svg svg/filters/feImage-multiple-targets-id-change.svg svg/filters/feImage-target-attribute-change-with-use-indirection.svg svg/filters/feImage-target-changes-id.svg svg/filters/feImage-reference-svg-primitive.svg svg/filters/feImage-remove-target.svg svg/filters/feImage-subregions-preseveAspectRatio-none.svg svg/filters/feImage-target-add-to-document.svg svg/W3C-SVG-1.1/filters-composite-02-b.svg svg/filters/feImage-late-indirect-update.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/W3C-SVG-1.1-SE/filters-image-03-f.svg svg/filters/feImage-preserveAspectratio.svg svg/filters/feImage-target-property-change.svg svg/filters/feImage-change-target-id.svg svg/filters/feImage-target-attribute-change.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg svg/filters/feImage-preserveAspectRatio-all.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-reference-invalidation.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg svg/W3C-SVG-1.1/filters-image-01-b.svg
Build Bot
Comment 5 2014-03-22 15:02:30 PDT
Created attachment 227575 [details] Archive of layout-test-results from webkit-ews-02 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-02 Port: mac-mountainlion Platform: Mac OS X 10.8.5
alan
Comment 6 2014-03-22 15:43:16 PDT
all output format diffs: [feImage image-size="400x400"] vs. [feImage image-size="400.00x400.00"]
Build Bot
Comment 7 2014-03-22 15:52:06 PDT
Comment on attachment 227565 [details] Patch Attachment 227565 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6684080334700544 New failing tests: svg/filters/feImage-position.svg svg/W3C-SVG-1.1/filters-displace-01-f.svg svg/filters/feImage-subregions.svg svg/custom/feDisplacementMap-01.svg svg/filters/feImage-target-id-change.svg svg/W3C-SVG-1.1-SE/filters-image-05-f.svg svg/filters/feImage-target-inline-style-change.svg svg/filters/feImage-multiple-targets-id-change.svg svg/filters/feImage-target-attribute-change-with-use-indirection.svg svg/filters/feImage-target-changes-id.svg svg/filters/feImage-reference-svg-primitive.svg svg/filters/feImage-remove-target.svg svg/filters/feImage-subregions-preseveAspectRatio-none.svg svg/filters/feImage-target-add-to-document.svg svg/W3C-SVG-1.1/filters-composite-02-b.svg svg/filters/feImage-late-indirect-update.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/W3C-SVG-1.1-SE/filters-image-03-f.svg svg/filters/feImage-preserveAspectratio.svg svg/filters/feImage-target-property-change.svg svg/filters/feImage-change-target-id.svg svg/filters/feImage-target-attribute-change.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg svg/filters/feImage-preserveAspectRatio-all.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-reference-invalidation.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg svg/W3C-SVG-1.1/filters-image-01-b.svg
Build Bot
Comment 8 2014-03-22 15:52:17 PDT
Created attachment 227577 [details] Archive of layout-test-results from webkit-ews-01 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-01 Port: mac-mountainlion Platform: Mac OS X 10.8.5
alan
Comment 9 2014-03-22 16:58:53 PDT
alan
Comment 10 2014-03-22 17:22:12 PDT
alan
Comment 11 2014-03-22 17:35:54 PDT
alan
Comment 12 2014-03-22 18:26:13 PDT
alan
Comment 13 2014-03-22 18:35:08 PDT
Build Bot
Comment 14 2014-03-22 21:41:32 PDT
Comment on attachment 227592 [details] Patch Attachment 227592 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5089898532962304 New failing tests: svg/W3C-SVG-1.1/filters-composite-02-b.svg svg/W3C-SVG-1.1/filters-displace-01-f.svg svg/filters/feImage-preserveAspectRatio-all.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/W3C-SVG-1.1/filters-image-01-b.svg svg/filters/feImage-reference-svg-primitive.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg svg/W3C-SVG-1.1-SE/filters-image-03-f.svg svg/filters/feImage-preserveAspectratio.svg svg/W3C-SVG-1.1-SE/filters-image-05-f.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-subregions-preseveAspectRatio-none.svg
Build Bot
Comment 15 2014-03-22 21:41:39 PDT
Created attachment 227599 [details] Archive of layout-test-results from webkit-ews-14 for mac-mountainlion-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: webkit-ews-14 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Build Bot
Comment 16 2014-03-22 21:44:43 PDT
Comment on attachment 227592 [details] Patch Attachment 227592 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5651434905272320 New failing tests: svg/W3C-SVG-1.1/filters-composite-02-b.svg svg/W3C-SVG-1.1/filters-displace-01-f.svg svg/filters/feImage-preserveAspectRatio-all.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg svg/W3C-SVG-1.1/filters-image-01-b.svg svg/filters/feImage-reference-svg-primitive.svg svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg svg/W3C-SVG-1.1-SE/filters-image-03-f.svg svg/filters/feImage-preserveAspectratio.svg svg/W3C-SVG-1.1-SE/filters-image-05-f.svg svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg svg/filters/feImage-subregions-preseveAspectRatio-none.svg
Build Bot
Comment 17 2014-03-22 21:44:50 PDT
Created attachment 227600 [details] Archive of layout-test-results from webkit-ews-07 for mac-mountainlion The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: webkit-ews-07 Port: mac-mountainlion Platform: Mac OS X 10.8.5
alan
Comment 18 2014-03-22 21:50:17 PDT
alan
Comment 19 2014-03-22 22:17:59 PDT
alan
Comment 20 2014-03-22 22:51:49 PDT
alan
Comment 21 2014-03-23 00:02:35 PDT
alan
Comment 22 2014-03-23 00:32:15 PDT
omg finally.
alan
Comment 23 2014-03-23 08:24:56 PDT
alan
Comment 24 2014-03-23 08:25:23 PDT
Comment on attachment 227611 [details] Patch almost.
alan
Comment 25 2014-03-23 10:23:05 PDT
yay
Simon Fraser (smfr)
Comment 26 2014-03-24 15:08:46 PDT
Comment on attachment 227611 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=227611&action=review > Source/WebCore/platform/graphics/IntPoint.cpp:43 > +IntPoint::IntPoint(const FloatPoint& p) > + : m_x(clampToInteger(p.x())) > + , m_y(clampToInteger(p.y())) > +{ > +} Shouldn't this be up next to the other constructors? > Source/WebCore/platform/graphics/IntSize.cpp:43 > +IntSize::IntSize(const FloatSize& s) > + : m_width(clampToInteger(s.width())) > + , m_height(clampToInteger(s.height())) > +{ > +} Ditto. > Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:128 > + : m_data(IntSize(size)) // NOTE: The input here isn't important as ImageBufferDataCG's constructor just ignores it. I wonder if we should have a IntSize expectedIntegeralSize(const FloatSize&) which asserts if not integral? > LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:9 > + [feImage image-size="100.00x100.00"] Can't we just be smarter about dumping?
alan
Comment 27 2014-03-31 20:07:10 PDT
(In reply to comment #26) > (From update of attachment 227611 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=227611&action=review > > > Source/WebCore/platform/graphics/IntPoint.cpp:43 > > +IntPoint::IntPoint(const FloatPoint& p) > > + : m_x(clampToInteger(p.x())) > > + , m_y(clampToInteger(p.y())) > > +{ > > +} > > Shouldn't this be up next to the other constructors? > > > Source/WebCore/platform/graphics/IntSize.cpp:43 > > +IntSize::IntSize(const FloatSize& s) > > + : m_width(clampToInteger(s.width())) > > + , m_height(clampToInteger(s.height())) > > +{ > > +} > > Ditto. > Don't want to include Float* in the .h. > > Source/WebCore/platform/graphics/cg/ImageBufferCG.cpp:128 > > + : m_data(IntSize(size)) // NOTE: The input here isn't important as ImageBufferDataCG's constructor just ignores it. > > I wonder if we should have a IntSize expectedIntegeralSize(const FloatSize&) which asserts if not integral? > Good idea. I'll add that in an upcoming patch. > > LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt:9 > > + [feImage image-size="100.00x100.00"] > > Can't we just be smarter about dumping? Yes and I have a bug on that. I think making that change should be in a separate patch. It requires rebaselining.
alan
Comment 28 2014-03-31 20:12:48 PDT
alan
Comment 29 2014-03-31 20:13:04 PDT
Comment on attachment 228235 [details] Patch EWS
WebKit Commit Bot
Comment 30 2014-04-01 07:18:25 PDT
Comment on attachment 228235 [details] Patch Clearing flags on attachment: 228235 Committed r166582: <http://trac.webkit.org/changeset/166582>
WebKit Commit Bot
Comment 31 2014-04-01 07:18:36 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.