Summary: | Subpixel rendering: Empty rects should remain empty after integrally enclosing them. | ||
---|---|---|---|
Product: | WebKit | Reporter: | zalan <zalan> |
Component: | Layout and Rendering | Assignee: | zalan <zalan> |
Status: | RESOLVED FIXED | ||
Severity: | Normal | CC: | buildbot, commit-queue, dbarton, eric.carlson, esprehn+autocc, fred.wang, glenn, jer.noble, kondapallykalyan, mrobinson, philipj, rniwa, sergio, simon.fraser |
Priority: | P2 | Keywords: | InRadar, Regression |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=237507 | ||
Attachments: |
Description
zalan
2014-05-09 15:49:10 PDT
Created attachment 231191 [details]
Patch
Comment on attachment 231191 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=231191&action=review > Source/WebCore/ChangeLog:3 > + Subpixel rendering: Empty rects should remain empty after integral enclosing them. integrally? Comment on attachment 231191 [details] Patch Attachment 231191 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/6214286661648384 New failing tests: editing/selection/vertical-rl-rtl-extend-line-forward-br.html fast/css/h1-in-section-elements.html fast/forms/fieldset-align.html tables/mozilla/other/wa_table_tr_align.html fast/inline/continuation-outlines.html fast/invalid/nestedh3s.html editing/selection/vertical-rl-rtl-extend-line-backward-br.html fast/multicol/client-rects-spanners-complex.html fast/text/international/bidi-LDB-2-HTML.html mathml/presentation/mo-stretch.html editing/selection/vertical-rl-rtl-extend-line-backward-p.html fast/encoding/utf-16-little-endian.html fast/multicol/span/span-as-immediate-columns-child.html fast/css/word-space-extra.html fast/forms/textAreaLineHeight.html fast/inline/outline-continuations.html editing/selection/vertical-rl-rtl-extend-line-forward-p.html fast/multicol/client-rects.html fast/multicol/span/span-as-immediate-columns-child-dynamic.html fast/css/css1_forward_compatible_parsing.html svg/wicd/rightsizing-grid.xhtml fast/inline/continuation-outlines-with-layers.html fast/encoding/utf-16-big-endian.html fast/css/first-line-text-decoration.html fast/multicol/newmulticol/client-rects.html fast/multicol/client-rects-spanners.html tables/mozilla/other/wa_table_thtd_rowspan.html fast/multicol/span/span-margin-collapsing.html fast/overflow/clip-rects-fixed-ancestor.html fast/table/014.html Created attachment 231198 [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
(In reply to comment #4) > (From update of attachment 231191 [details]) > Attachment 231191 [details] did not pass mac-ews (mac): > Output: http://webkit-queues.appspot.com/results/6214286661648384 > > New failing tests: > editing/selection/vertical-rl-rtl-extend-line-forward-br.html > fast/css/h1-in-section-elements.html > fast/forms/fieldset-align.html > tables/mozilla/other/wa_table_tr_align.html > fast/inline/continuation-outlines.html > fast/invalid/nestedh3s.html > editing/selection/vertical-rl-rtl-extend-line-backward-br.html > fast/multicol/client-rects-spanners-complex.html > fast/text/international/bidi-LDB-2-HTML.html > mathml/presentation/mo-stretch.html > editing/selection/vertical-rl-rtl-extend-line-backward-p.html > fast/encoding/utf-16-little-endian.html > fast/multicol/span/span-as-immediate-columns-child.html > fast/css/word-space-extra.html > fast/forms/textAreaLineHeight.html > fast/inline/outline-continuations.html > editing/selection/vertical-rl-rtl-extend-line-forward-p.html > fast/multicol/client-rects.html > fast/multicol/span/span-as-immediate-columns-child-dynamic.html > fast/css/css1_forward_compatible_parsing.html > svg/wicd/rightsizing-grid.xhtml > fast/inline/continuation-outlines-with-layers.html > fast/encoding/utf-16-big-endian.html > fast/css/first-line-text-decoration.html > fast/multicol/newmulticol/client-rects.html > fast/multicol/client-rects-spanners.html > tables/mozilla/other/wa_table_thtd_rowspan.html > fast/multicol/span/span-margin-collapsing.html > fast/overflow/clip-rects-fixed-ancestor.html > fast/table/014.html These are all progressions (1px->0px). They need rebaselining. Created attachment 231200 [details]
Patch
Comment on attachment 231200 [details]
Patch
EWS testing.
Comment on attachment 231200 [details] Patch Attachment 231200 [details] did not pass mac-wk2-ews (mac-wk2): Output: http://webkit-queues.appspot.com/results/5490639164669952 New failing tests: fast/forms/fieldset-align.html fast/forms/textAreaLineHeight.html Created attachment 231204 [details]
Archive of layout-test-results from webkit-ews-16 for mac-mountainlion-wk2
The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews.
Bot: webkit-ews-16 Port: mac-mountainlion-wk2 Platform: Mac OS X 10.8.5
Comment on attachment 231200 [details] Patch Attachment 231200 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5972646164430848 New failing tests: fast/forms/fieldset-align.html fast/forms/textAreaLineHeight.html Created attachment 231206 [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
Comment on attachment 231200 [details] Patch Attachment 231200 [details] did not pass mac-ews (mac): Output: http://webkit-queues.appspot.com/results/5039919122612224 New failing tests: fast/forms/fieldset-align.html fast/forms/textAreaLineHeight.html Created attachment 231208 [details]
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion
The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-08 Port: mac-mountainlion Platform: Mac OS X 10.8.5
Created attachment 231210 [details]
Patch
Created attachment 231218 [details]
Patch
Comment on attachment 231218 [details] Patch Clearing flags on attachment: 231218 Committed r168575: <http://trac.webkit.org/changeset/168575> All reviewed patches have been landed. Closing bug. Comment on attachment 231218 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=231218&action=review > Source/WebCore/platform/graphics/LayoutRect.cpp:136 > + // Empty rects with fractional x, y values turn into non-empty rects when converting to enclosing. > + // We need to ensure that empty rects stay empty after the conversion, because the selection code expects them to be empty. > IntPoint location = flooredIntPoint(rect.minXMinYCorner()); > - IntPoint maxPoint = ceiledIntPoint(rect.maxXMaxYCorner()); > - > + IntPoint maxPoint = IntPoint(rect.width() ? rect.maxX().ceil() : location.x(), rect.height() ? rect.maxY().ceil() : location.y()); > return IntRect(location, maxPoint - location); This defines an empty rect as "width or height is zero" and independently applies this rule to each dimension. That’s one way of doing it. Another would be to use isEmpty() to define emptiness: IntPoint location = flooredIntPoint(rect.minXMinYCorner()); if (rect.isEmpty()) return IntRect(location, IntSize()); return IntRect(location, ceiledIntPoint(rect.maxXMaxYCorner()) - location); |