On 9/28/22 3:01 PM, Traian Captan wrote:
Contact emails
tcap...@chromium.org <mailto:tcap...@chromium.org>
Explainer
Though not a formal explainer, Emilio has an excellent writeup of this
issue at https://crisal.io/words/2020/06/13/rounding-borders.html
<https://crisal.io/words/2020/06/13/rounding-borders.html>.
Spec
With this change to blink, all implementations will agree, and this
can be specified (see: https://github.com/w3c/csswg-drafts/issues/5210
<https://github.com/w3c/csswg-drafts/issues/5210>).
Is there any current blocker to specifying this (besides someone doing
the work)?
Summary
Snap border, outline and column-rule widths before layout to avoid
gaps between backgrounds and borders caused by paint-time snapping.
With this change, Blink will match Gecko and WebKit.
Blink component
Blink <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink>
Motivation
Currently Blink snaps the border widths at paint time. This can cause
a visible 1px gap between a parent element's border and a child's
background when the border is rounded down during paint since the
snapping floors the value but the layout rounded it up to calculate
the child’s s position (eg border-width is set to 10.75 pixels,
rounded to 10px at paint time, but 11 at layout time). By making this
change Blink will also behave like Gecko and WebKit and increase
interoperability.
Search tags
border-width <https://chromestatus.com/features#tags:border-width>,
outline-width <https://chromestatus.com/features#tags:outline-width>,
column-rule-width
<https://chromestatus.com/features#tags:column-rule-width>
TAG review
Skipping because this is a straightforward interop fix.
TAG review status
N/A
Risks
Interoperability and Compatibility
Gecko and WebKit already snap borders before layout.
This change would make Blink behave the same and increase
interoperability and compatibility.
The explainer section has a link to a blog post describing the
differences in more detail.
This issue and the proposed fix have been discussed in: Issue 1201762:
[Task] Investigate border snapping before layout
<https://crbug.com/1201762>, which is currently blocking 10 issues.
This issue was also discussed on:
https://github.com/w3c/csswg-drafts/issues/2114
<https://github.com/w3c/csswg-drafts/issues/2114>
https://github.com/w3c/csswg-drafts/issues/5210
<https://github.com/w3c/csswg-drafts/issues/5210>
Gecko: Shipped/Shipping
WebKit: Shipped/Shipping
Web developers: Strongly positive - This has been reported in at least
10 separate bugs with a cumulative star count of 75.
Other signals:
WebView application risks
Does this intent deprecate or change behavior of existing APIs, such
that it has potentially high risk for Android WebView-based applications?
No
Debuggability
N/A
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
New test will be added with the patch.
Flag name
Requires code in //chrome?
False
Tracking bug
https://crbug.com/1201762 <https://crbug.com/1201762>
Launch bug
https://crbug.com/1120347 <https://crbug.com/1120347>
Estimated milestones
M108
Anticipated spec changes
Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github
issues in the project for the feature specification) whose resolution
may introduce web compat/interop risk (e.g., changing to naming or
structure of the API in a non-backward-compatible way).
https://github.com/w3c/csswg-drafts/issues/5210
<https://github.com/w3c/csswg-drafts/issues/5210>
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/4651561863610368
<https://chromestatus.com/feature/4651561863610368>
This intent message was generated by Chrome Platform Status
<https://chromestatus.com/>.
--
You received this message because you are subscribed to the Google
Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFxahvsyqk3h2TZwDVJzb1KVgLjqmWDWMs3V9-1sZRA7pXkyOQ%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFxahvsyqk3h2TZwDVJzb1KVgLjqmWDWMs3V9-1sZRA7pXkyOQ%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/addc5bee-3957-b9f7-9f41-a0a2a7802618%40chromium.org.