Bug 116948
Summary: | Don't assert when serializing -mask property | ||
---|---|---|---|
Product: | WebKit | Reporter: | Ryosuke Niwa <rniwa> |
Component: | CSS | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED CONFIGURATION CHANGED | ||
Severity: | Normal | CC: | ahmad.saleem792, kling, koivisto, simon.fraser, zalan |
Priority: | P2 | Keywords: | BlinkMergeCandidate |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Ryosuke Niwa
Consider merging https://chromium.googlesource.com/chromium/blink/+/e7cb696218908a4f90aac57889f91d92e6d1af0b
In the case -webkit-mask property contains several layers, it is possible
that one of the layer contains "initial" implicitly set simply because the
repeat property was not specified. However when reconstructing the
mask property from StylePropertySet it is possible to have for example
-mask-repeat-x with a value like 'initial, repeat-x' where the first initial
is implicit (the original -mask first layer did not set it). As
StylePropertySet should not return implicitly set initial values we should
just omit these ones. The ASSERT was triggered because of better checks before
casting to CSSPrimitiveValues but in this example we should not reach that
cast, we should bail out : 'initial' is not a primitive value.
We need to merge this into StylePropertySet::getLayeredShorthandValue.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Ahmad Saleem
--> getLayeredShorthandValue:
https://github.com/WebKit/WebKit/blob/165b098dbd0b11a2784a957b15265545b12dcfc8/Source/WebCore/css/StyleProperties.cpp#L206
--> Mask Repeat:
https://github.com/WebKit/WebKit/blob/165b098dbd0b11a2784a957b15265545b12dcfc8/Source/WebCore/css/StyleProperties.cpp#L1708
_____
I am not sure whether this is required or not but just giving above for quick reference. Thanks!
Ryosuke Niwa
This doesn't reproduce anymore.