Changeset 219151 in webkit


Ignore:
Timestamp:
Jul 5, 2017, 1:21:34 PM (8 years ago)
Author:
Alan Bujtas
Message:

REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
https://bugs.webkit.org/show_bug.cgi?id=174070
LayoutTests/imported/w3c:

Reviewed by Simon Fraser.

  • web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
  • web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:

Source/WebCore:

<rdar://problem/32940653>

Reviewed by Simon Fraser.

Decouple in- and out-of-flow computed position values. Now we match blink's implementation on
in-flow values.
This also fixes the flickering content while scrolling on hbr.org.

Covered by existing test cases.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::positionOffsetValue):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/css/getComputedStyle/computed-style-expected.txt:
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r219150 r219151  
     12017-07-05  Zalan Bujtas  <zalan@apple.com>
     2
     3        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
     4        https://bugs.webkit.org/show_bug.cgi?id=174070
     5
     6        Reviewed by Simon Fraser.
     7
     8        * fast/css/getComputedStyle/computed-style-expected.txt:
     9
    1102017-07-05  Devin Rousso  <drousso@apple.com>
    211
  • trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt

    r218620 r219151  
    3131border-top-style: none;
    3232border-top-width: 0px;
    33 bottom: 16px;
     33bottom: auto;
    3434box-shadow: none;
    3535box-sizing: content-box;
     
    5454height: 576px;
    5555image-rendering: auto;
    56 left: -8px;
     56left: auto;
    5757letter-spacing: normal;
    5858line-height: 18px;
     
    8989position: static;
    9090resize: none;
    91 right: 8px;
     91right: auto;
    9292speak: normal;
    9393table-layout: auto;
     
    100100text-overflow: clip;
    101101text-transform: none;
    102 top: -8px;
     102top: auto;
    103103transform: none;
    104104transform-origin: 392px 288px;
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r219074 r219151  
     12017-07-05  Zalan Bujtas  <zalan@apple.com>
     2
     3        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
     4        https://bugs.webkit.org/show_bug.cgi?id=174070
     5
     6        Reviewed by Simon Fraser.
     7
     8        * web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt:
     9        * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt:
     10
    1112017-07-03  Alex Christensen  <achristensen@webkit.org>
    212
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt

    r217522 r219151  
    11
    2 FAIL For an input progress of 0.0, the output of a frames timing function is the first frame assert_equals: expected "0px" but got "8px"
    3 FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "8px"
    4 FAIL For an input progress of 1.0, the output of a frames timing function is the final frame assert_equals: expected "100px" but got "8px"
    5 FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "8px"
    6 FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "8px"
     2FAIL For an input progress of 0.0, the output of a frames timing function is the first frame assert_equals: expected "0px" but got "auto"
     3FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "auto"
     4FAIL For an input progress of 1.0, the output of a frames timing function is the final frame assert_equals: expected "100px" but got "auto"
     5FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "auto"
     6FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "100px"
    77FAIL frames easing with input progress greater than 1 undefined is not a function (near '...target.animate...')
    88FAIL frames easing with input progress greater than 1.5 undefined is not a function (near '...target.animate...')
  • trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt

    r217522 r219151  
    2323FAIL vertical-lr: tall viewport assert_equals: expected "10px" but got "auto"
    2424FAIL vertical-lr: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
    25 FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "12px"
    26 FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
    27 FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "-8px"
     25FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     26FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     27FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "auto"
    2828FAIL horizontal-tb (container vertical-rl): tall viewport assert_equals: expected "10px" but got "auto"
    2929FAIL vertical-rl (container horizontal-tb): tall viewport assert_equals: expected "45px" but got "auto"
    30 FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
    31 FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "12px"
     30FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     31FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "auto"
    3232
  • trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt

    r217522 r219151  
    2323FAIL vertical-lr: tall viewport assert_equals: expected "10px" but got "auto"
    2424FAIL vertical-lr: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
    25 FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "13px"
    26 FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-7px"
    27 FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "-7px"
     25FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     26FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     27FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "auto"
    2828FAIL horizontal-tb (container vertical-rl): tall viewport assert_equals: expected "10px" but got "auto"
    2929FAIL vertical-rl (container horizontal-tb): tall viewport assert_equals: expected "45px" but got "auto"
    30 FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
    31 FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "13px"
     30FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
     31FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "auto"
    3232
  • trunk/Source/WebCore/ChangeLog

    r219150 r219151  
     12017-07-05  Zalan Bujtas  <zalan@apple.com>
     2
     3        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
     4        https://bugs.webkit.org/show_bug.cgi?id=174070
     5        <rdar://problem/32940653>
     6
     7        Reviewed by Simon Fraser.
     8
     9        Decouple in- and out-of-flow computed position values. Now we match blink's implementation on
     10        in-flow values.
     11        This also fixes the flickering content while scrolling on hbr.org. 
     12
     13        Covered by existing test cases.
     14
     15        * css/CSSComputedStyleDeclaration.cpp:
     16        (WebCore::positionOffsetValue):
     17
    1182017-07-05  Devin Rousso  <drousso@apple.com>
    219
  • trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp

    r218890 r219151  
    756756}
    757757
    758 static LayoutUnit getOffsetUsedStyleAbsolute(RenderBlock& container, RenderBox& box, CSSPropertyID propertyID)
    759 {
    760     // For absoultely positioned boxes, the offset is how far an box's margin
     758static LayoutUnit getOffsetUsedStyleOutOfFlowPositioned(RenderBlock& container, RenderBox& box, CSSPropertyID propertyID)
     759{
     760    // For out-of-flow positioned boxes, the offset is how far an box's margin
    761761    // edge is offset below the edge of the box's containing block.
    762762    // See http://www.w3.org/TR/CSS2/visuren.html#position-props
     
    786786
    787787    // We should return the "used value".
    788     LayoutUnit length = 0;
    789788    auto& box = downcast<RenderBox>(*renderer);
    790     RenderBlock* containingBlock = box.containingBlock();
     789    auto* containingBlock = box.containingBlock();
    791790    if (box.isRelPositioned() || !containingBlock)
    792         length = getOffsetUsedStyleRelative(box, propertyID);
    793     else
    794         length = getOffsetUsedStyleAbsolute(*containingBlock, box, propertyID);
    795        
    796     return zoomAdjustedPixelValue(length, style);
     791        return zoomAdjustedPixelValue(getOffsetUsedStyleRelative(box, propertyID), style);
     792    if (renderer->isOutOfFlowPositioned())
     793        return zoomAdjustedPixelValue(getOffsetUsedStyleOutOfFlowPositioned(*containingBlock, box, propertyID), style);
     794    // In-flow element.
     795    auto offset = getOffsetComputedLength(style, propertyID);
     796    if (offset.isAuto())
     797        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
     798    return zoomAdjustedPixelValueForLength(offset, style);
    797799}
    798800
Note: See TracChangeset for help on using the changeset viewer.