-webkit-border-image automatically adds 'fill' to border-image-slice, except if the value is omitted. Then, run this: var s = document.body.style; var cs = getComputedStyle(document.body); s.borderImage = "url()"; cs.webkitBorderImage; // "url(\"\") 100% / 1 / 0 stretch" s.webkitBorderImage = cs.webkitBorderImage; cs.webkitBorderImage; // "url(\"\") 100% fill / 1 / 0 stretch" No round-tripping! So when serializing the computed -webkit-border-image, - If border-image-slice has fill, serialize normally (no change). - Else, if border-image-slice is 100%, serialize omitting the slice. - Else, serialize as empty string.
<rdar://problem/102674869>