[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

-webkit-background-size has behavioural differences to background-size #28

Open
alancutter opened this issue Jan 15, 2016 · 12 comments
Open

Comments

@alancutter
Copy link

-webkit-background-size is listed as a simple alias for background-size when it has different syntactic behaviour.
-webkit-background-size: 10px is equivalent to background-size: 10px 10px.
background-size: 10px is equivalent to background-size: 10px auto (see https://drafts.csswg.org/css-backgrounds-3/#bg-size).

@miketaylr
Copy link
Member

Excellent feedback, thanks.

miketaylr pushed a commit that referenced this issue Jan 16, 2016
@zcorpan
Copy link
Member
zcorpan commented Mar 6, 2020

Should this property always be serialized with two values, so that it can roundtrip with both the prefixed and unprefixed variants?

Demo http://software.hixie.ch/utilities/js/live-dom-viewer/saved/7809

Result in chrome

log: getting .style
log: 10px
log: setting .style to gCS
log: 10px
log: getting .style again
log: 10px 10px

@fantasai
Copy link

FWIW, I regret making the decision to default the second value to auto. If it were Web-compatible, I'd make the unprefixed property parse like -webkit-background-size.

@zcorpan Particularly given that single-value syntax isn't the same as doubling it, which is the typical pattern in CSS, serializing as two values feels pretty reasonable here.

@karlcow
Copy link
Member
karlcow commented Jun 22, 2022

I was reviewing the tests in https://github.com/web-platform-tests/wpt/blob/master/compat/

And it doesn't seem to really work.

Safari

> document.body.style.webkitBackgroundSize
< ""
> document.body.style.webkitBackgroundSize = "10px"
< "10px"
> document.body.style.webkitBackgroundSize
< "10px"
> document.body.style.backgroundSize
< ""

Firefox

document.body.style.WebkitBackgroundSize
""
document.body.style.WebkitBackgroundSize = "10px"
"10px"
document.body.style.WebkitBackgroundSize
"10px"
document.body.style.backgroundSize
"10px" 

Chrome

document.body.style.webkitBackgroundSize
''
document.body.style.webkitBackgroundSize = "10px"
'10px'
document.body.style.webkitBackgroundSize
'10px 10px'
document.body.style.backgroundSize
'10px 10px'

fun!

I need to add more tests on the compat tests enumeration to test the behaviors of the values of the properties.

@karlcow
Copy link
Member
karlcow commented Jun 22, 2022

I'm taking care of this in web-platform-tests/wpt#34493

@nt1m
Copy link
Member
nt1m commented Jun 22, 2022

cc @Loirooriol who did work on this in WebKit

@Loirooriol
Copy link

In WebKit -webkit-background-size and background-size are different longhands that share a computed value. It seems the only difference is in the parsing, so it should be easy to turn -webkit-background-size into a legacy shorthand of background-size, which would be the standard approach.

gCS should round-trip, so either serialize -webkit-background-size and background-size differently, or always use 2 values.

@zcorpan
Copy link
Member
zcorpan commented Jun 30, 2022

If they're parsed differently, always serializing two values seems better.

Is there interest in trying to change the unprefixed property to match the -webkit- prefixed property as @fantasai suggested in #28 (comment) ?

@karlcow
Copy link
Member
karlcow commented Aug 18, 2022

see WebKit/WebKit#3372

@pxlcoder
Copy link

Should we also change the serialization of mask-size to always use two values, for consistency?

@pxlcoder
Copy link

There are two WPTs that current assume single-value serialization:

css/css-animations/KeyframeEffect-getKeyframes.tentative.html
quirks/unitless-length/excluded-properties-002.html

I would like to update these tests as part of the WebKit change.

@zcorpan @karlcow Do we have consensus from other engines on:

Always serialize `background-size` as two values.

@zcorpan
Copy link
Member
zcorpan commented Sep 28, 2022

I filed an issue for the CSS WG for those questions: w3c/csswg-drafts#7802

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

8 participants