Enter: data:text/html,<div%20style="border-image:%20initial"> Then document.getElementsByTagName('div')[0].style.borderImageOutset returns initial instead of 0 and so on the other properties. document.getElementsByTagName('div')[0].style.borderImageRepeat returns initial instead of stretch etc. see the tests in http://wpt.live/css/css-backgrounds/parsing/border-image-shorthand.sub.html and https://searchfox.org/wubkat/rev/482480f60b1f8c26dfe99b670a5fe677abb0fcd8/Source/WebCore/css/parser/CSSPropertyParser.cpp#5645-5677 https://searchfox.org/wubkat/search?q=symbol:_ZN7WebCore12CSSValuePool26createImplicitInitialValueEv&redirect=false
<rdar://problem/99420050>
All uses of createImplicitInitialValue have this problem.
I started working on this and I am sort of falling down a rabbit hole, since there is so much here that can be improved.
Pull request: https://github.com/WebKit/WebKit/pull/6652
Scaled back my ambition in this particular bug to just the two border-image shorthands, rather than all the other uses of createImplicitInitialValue, which likely each create a similar problem.
Committed 257119@main (c0c6ad146d33): <https://commits.webkit.org/257119@main> Reviewed commits have been landed. Closing PR #6652 and removing active labels.