Ignore:
Timestamp:
Sep 23, 2013, 9:00:29 PM (12 years ago)
Author:
[email protected]
Message:

CSS Unit vh, vw, vmin and vmax in box-shadow are not applied.
https://bugs.webkit.org/show_bug.cgi?id=121422

Patch by Gurpreet Kaur <[email protected]> on 2013-09-23
Reviewed by Darin Adler.

Source/WebCore:

Box-shadow properties were not applied incase its values
were given in vh, vw, vmax, vmin unit.

Tests: fast/css/box-shadow-negative-viewportlength.html

fast/css/box-shadow-viewport-height.html
fast/css/box-shadow-viewport-vmax.html
fast/css/box-shadow-viewport-vmin.html
fast/css/box-shadow-viewport-width.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseShadow):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):
(WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
(WebCore::StyleResolver::viewportPercentageHeight):
(WebCore::StyleResolver::viewportPercentageWidth):
(WebCore::StyleResolver::viewportPercentageMax):
(WebCore::StyleResolver::viewportPercentageMin):

  • css/StyleResolver.h:

Parsing and calculating the shadow values which has been specified
in viewport units.The vh/vw units are calcultated as percent of
viewport height and viewport width respectively. 1vmax: 1vw or 1vh,
whatever is largest.1vmin: 1vw or 1vh, whatever is smallest.

LayoutTests:

  • fast/css/box-shadow-negative-viewportlength-expected-mismatch.html: Added.
  • fast/css/box-shadow-negative-viewportlength.html: Added.
  • fast/css/box-shadow-viewport-height-expected-mismatch.html: Added.
  • fast/css/box-shadow-viewport-height.html: Added.
  • fast/css/box-shadow-viewport-vmax-expected-mismatch.html: Added.
  • fast/css/box-shadow-viewport-vmax.html: Added.
  • fast/css/box-shadow-viewport-vmin-expected-mismatch.html: Added.
  • fast/css/box-shadow-viewport-vmin.html: Added.
  • fast/css/box-shadow-viewport-width-expected-mismatch.html: Added.
  • fast/css/box-shadow-viewport-width.html: Added.

Added new tests for verifying that box-shadow properties are
applied when its values are viewport units.

  • fast/css/shadow-viewport-units-expected.txt:
  • fast/css/shadow-viewport-units.html:

Rebaselining existing tests as per the new behavior. Support for shadow
properties with viewport units is added so modified the test case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/css/CSSParser.cpp

    r156260 r156318  
    66056605            // We required a length and didn't get one. Invalid.
    66066606            if (!context.allowLength())
    6607                 return 0;
    6608 
    6609             // We don't support viewport units for shadow values.
    6610             if (val->unit == CSSPrimitiveValue::CSS_VW
    6611                 || val->unit == CSSPrimitiveValue::CSS_VH
    6612                 || val->unit == CSSPrimitiveValue::CSS_VMIN
    6613                 || val->unit == CSSPrimitiveValue::CSS_VMAX)
    66146607                return 0;
    66156608
Note: See TracChangeset for help on using the changeset viewer.