When using -webkit-mask-repeat with a value of 'round' the image isn't scaled to fit a whole number of times in the background but isn't repeated at all. Looking through the code, I noticed that everything different from -webkit-mask-repeat: repeat is treated like -webkit-mask-repeat: no-repeat, so the space repeat style is not implemented.
Created attachment 207449 [details] Example of -webkit-mask-repeat: round usage which doesn't work.
Created attachment 207633 [details] Patch
Comment on attachment 207633 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=207633&action=review > Source/WebCore/ChangeLog:7 > + Added the round functionality to -webkit-mask-repeat. > + https://bugs.webkit.org/show_bug.cgi?id=119080 > + Please add some more lines of comments what you did and how it influenced the bahavior on the dimension calculation code. > Source/WebCore/rendering/RenderBoxModelObject.cpp:1312 > + if (backgroundRepeatX == RoundFill && positioningAreaSize.width() > 0 && fillTileSize.width() > 0) { Doesn't background call the same code path? When it works for background, why doesn't it work for -webkit-mask? If the code exists for background somewhere, we should make sure that we reuse the code. Do we have tests for background-repeat and "round"? > Source/WebCore/rendering/RenderBoxModelObject.cpp:1314 > + int nrTiles = ceil((double)positioningAreaSize.width() / > + fillTileSize.width()); why do you split the line here? You don't do it later?
Created attachment 207907 [details] Patch
This also fixes the background-repeat. I added background-repeat tests and addressed your comments.
Comment on attachment 207907 [details] Patch r=me.
Comment on attachment 207907 [details] Patch Clearing flags on attachment: 207907 Committed r153582: <http://trac.webkit.org/changeset/153582>
All reviewed patches have been landed. Closing bug.