border image area can be painted even if 'border-style' of element is 'none'
Reported by
goo...@gtalbot.org,
Sep 21 2017
|
|||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0 Example URL: http://test.csswg.org/suites/css-backgrounds-3_dev/nightly-unstable/html4/border-image-width-005.htm Steps to reproduce the problem: 3 tests ******* http://test.csswg.org/suites/css-backgrounds-3_dev/nightly-unstable/html4/border-image-width-005.htm http://test.csswg.org/suites/css-backgrounds-3_dev/nightly-unstable/html4/border-image-width-006.htm http://test.csswg.org/suites/css-backgrounds-3_dev/nightly-unstable/html4/border-image-width-007.htm What is the expected behavior? Filled green square and no red. Reference file ************** http://test.csswg.org/suites/css-backgrounds-3_dev/nightly-unstable/html4/reference/ref-filled-green-100px-square.htm What went wrong? A small red square in 005 and 006 tests. No filled green square in 007 test. Does it occur on multiple sites: N/A Is it a problem with a plugin? No Did this work before? No Does this work in other browsers? Yes Chrome version: 63.0.3218.0 Channel: dev OS Version: Flash Version: irrelevant This issue spun from issue 559258 comment 67 . WebKit issue for these 3 tests: https://bugs.webkit.org/show_bug.cgi?id=151612 - - - - - - - Explanations ************ When border-image-width is set to a positive and non-zero length (say 30px, 2em, etc.) or a positive and non-zero percentage, then the border image area exists and must be painted (assuming that border box is at least 1px by 1px) . One important sentence of the spec to keep in mind is: " The border image is drawn inside an area called the border image area (...) whose boundaries by default correspond to the border box (...). " 6.3. Drawing Areas: the ‘border-image-width’ property http://www.w3.org/TR/css3-background/#the-border-image-width By definition, border image area is the border box of an element. border image area is *_not_* the border belt of an element. So, there can be a non-zero border image area to be painted if there is a non-zero content area and/or a non-zero padding belt (or area) and even though the border belt may be 0 px by 0px. The 3 tests are such precise code scenarios. Furthermore, even the margin belt (or even beyond if there is no margin area) could be painted by the border image if border-image-outset is set to a positive non-zero length. This is the case in all 3 tests: the margin belt (or even beyond) is painted by the border image. - - - - - - - Chrome 48.0.2564.10 and Chrome 63.0.3218.0 fail the 3 tests. Firefox 42+, IE11 and Edge 12+ pass the 3 tests.
,
Sep 21 2017
,
Sep 21 2017
,
Sep 22 2017
I can have a look on it.
,
Sep 22 2017
,
Sep 24 2017
,
Oct 31 2017
4 additional tests using value(s) with percentage unit for the border-image-width declaration: border-image-width: 50%; http://www.gtalbot.org/BrowserBugsSection/CSS3Backgrounds/border-image-width-008.xht In this test, the border-image-width divide the border image area into four (4) parts, not nine parts. The center (fill) area is 0px wide by 0px tall. border-image-width: 70% 30%; http://www.gtalbot.org/BrowserBugsSection/CSS3Backgrounds/border-image-width-009.xht In this test, the border-image-width divide the border image area into four (4) parts, not nine parts. The center (fill) area is 0px wide by 0px tall. border-image-width: 70% 0% 30% 0%; http://www.gtalbot.org/BrowserBugsSection/CSS3Backgrounds/border-image-width-010.xht In this test, the border-image-width divide the border image area into two (2) parts, not nine parts. The center (fill) area is 0px wide by 0px tall. border-image-width: 0% 70% 0% 30%; http://www.gtalbot.org/BrowserBugsSection/CSS3Backgrounds/border-image-width-011.xht In this test, the border-image-width divide the border image area into two (2) parts, not nine parts. The center (fill) area is 0px wide by 0px tall. Firefox 52 passes these 4 tests. I will eventually submit those tests to the CSS3 Backgrounds test suite.
,
Oct 31 2017
Those 4 additional tests fail in the latest (today's) chromium snapshot: Chromium Version 64.0.3254.0.
,
Oct 31 2017
#8 - it would be great if you contributed tests you write to the web-platform-tests effort. :)
,
Feb 14 2018
Issue 811848 has been merged into this issue. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by ligim...@chromium.org
, Sep 21 2017