Changeset 160010 in webkit


Ignore:
Timestamp:
Dec 3, 2013 9:29:22 AM (10 years ago)
Author:
commit-queue@webkit.org
Message:
ASSERTION FAILED: !value
(value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.

https://bugs.webkit.org/show_bug.cgi?id=125146

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-03
Reviewed by Darin Adler.

Source/WebCore:

Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
An implicit y-value can become explicit if specified as a separate longhand.
At the same time, its new value can be non-primitive.

Backported from Blink:
http://src.chromium.org/viewvc/blink?view=rev&rev=153678

Test: fast/css/webkit-mask-crash-implicit.html

  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getLayeredShorthandValue):

LayoutTests:

  • fast/css/webkit-mask-crash-implicit-expected.txt: Added.
  • fast/css/webkit-mask-crash-implicit.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r160007 r160010  
     12013-12-03  László Langó  <lango@inf.u-szeged.hu>
     2
     3        ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
     4        https://bugs.webkit.org/show_bug.cgi?id=125146
     5
     6        Reviewed by Darin Adler.
     7
     8        * fast/css/webkit-mask-crash-implicit-expected.txt: Added.
     9        * fast/css/webkit-mask-crash-implicit.html: Added.
     10
    1112013-12-03  Rob Buis  <rob.buis@samsung.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r160009 r160010  
     12013-12-03  László Langó  <lango@inf.u-szeged.hu>
     2
     3        ASSERTION FAILED: !value || (value->isPrimitiveValue()) in WebCore::StyleProperties::getLayeredShorthandValue.
     4        https://bugs.webkit.org/show_bug.cgi?id=125146
     5
     6        Reviewed by Darin Adler.
     7
     8        Do not presume that |yValue| is primitive if |value| is implicit in StylePropertySerializer.
     9        An implicit y-value can become explicit if specified as a separate longhand.
     10        At the same time, its new value can be non-primitive.
     11
     12        Backported from Blink:
     13        http://src.chromium.org/viewvc/blink?view=rev&rev=153678
     14
     15        Test: fast/css/webkit-mask-crash-implicit.html
     16
     17        * css/StyleProperties.cpp:
     18        (WebCore::StyleProperties::getLayeredShorthandValue):
     19
    1202013-12-03  Rob Buis  <rob.buis@samsung.com>
    221
  • trunk/Source/WebCore/css/StyleProperties.cpp

    r159856 r160010  
    412412                        yValue = nextValue;
    413413
     414                    if (!value->isPrimitiveValue() || !yValue->isPrimitiveValue())
     415                        continue;
     416
    414417                    CSSValueID xId = toCSSPrimitiveValue(value.get())->getValueID();
    415418                    CSSValueID yId = toCSSPrimitiveValue(yValue.get())->getValueID();
Note: See TracChangeset for help on using the changeset viewer.