Title: [219151] trunk
Revision
219151
Author
[email protected]
Date
2017-07-05 13:21:34 -0700 (Wed, 05 Jul 2017)

Log 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:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (219150 => 219151)


--- trunk/LayoutTests/ChangeLog	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/ChangeLog	2017-07-05 20:21:34 UTC (rev 219151)
@@ -1,3 +1,12 @@
+2017-07-05  Zalan Bujtas  <[email protected]>
+
+        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
+        https://bugs.webkit.org/show_bug.cgi?id=174070
+
+        Reviewed by Simon Fraser.
+
+        * fast/css/getComputedStyle/computed-style-expected.txt:
+
 2017-07-05  Devin Rousso  <[email protected]>
 
         Web Inspector: Allow users to log any tracked canvas context

Modified: trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt (219150 => 219151)


--- trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt	2017-07-05 20:21:34 UTC (rev 219151)
@@ -30,7 +30,7 @@
 border-top-right-radius: 0px;
 border-top-style: none;
 border-top-width: 0px;
-bottom: 16px;
+bottom: auto;
 box-shadow: none;
 box-sizing: content-box;
 caption-side: top;
@@ -53,7 +53,7 @@
 hanging-punctuation: none;
 height: 576px;
 image-rendering: auto;
-left: -8px;
+left: auto;
 letter-spacing: normal;
 line-height: 18px;
 list-style-image: none;
@@ -88,7 +88,7 @@
 pointer-events: auto;
 position: static;
 resize: none;
-right: 8px;
+right: auto;
 speak: normal;
 table-layout: auto;
 tab-size: 8;
@@ -99,7 +99,7 @@
 text-shadow: none;
 text-overflow: clip;
 text-transform: none;
-top: -8px;
+top: auto;
 transform: none;
 transform-origin: 392px 288px;
 transform-style: flat;

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (219150 => 219151)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2017-07-05 20:21:34 UTC (rev 219151)
@@ -1,3 +1,13 @@
+2017-07-05  Zalan Bujtas  <[email protected]>
+
+        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
+        https://bugs.webkit.org/show_bug.cgi?id=174070
+
+        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:
+
 2017-07-03  Alex Christensen  <[email protected]>
 
         Rebase test after r219024

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt (219150 => 219151)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css-timing-1/frames-timing-functions-output-expected.txt	2017-07-05 20:21:34 UTC (rev 219151)
@@ -1,9 +1,9 @@
 
-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"
-FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "8px"
-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"
-FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "8px"
-FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "8px"
+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 "auto"
+FAIL At a frame boundary, the output of a frames timing function is the next frame assert_equals: expected "0px" but got "auto"
+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 "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output assert_equals: expected "0px" but got "auto"
+FAIL The number of frames is correctly reflected in the frames timing function output on CSS Transitions assert_equals: expected "0px" but got "100px"
 FAIL frames easing with input progress greater than 1 undefined is not a function (near '...target.animate...')
 FAIL frames easing with input progress greater than 1.5 undefined is not a function (near '...target.animate...')
 FAIL frames easing with input progress less than 0 undefined is not a function (near '...target.animate...')

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt (219150 => 219151)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt	2017-07-05 20:21:34 UTC (rev 219151)
@@ -22,11 +22,11 @@
 FAIL vertical-rl: tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-lr: tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-lr: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
-FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "12px"
-FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
-FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "-8px"
+FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "auto"
 FAIL horizontal-tb (container vertical-rl): tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-rl (container horizontal-tb): tall viewport assert_equals: expected "45px" but got "auto"
-FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
-FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "12px"
+FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "auto"
 

Modified: trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt (219150 => 219151)


--- trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/LayoutTests/platform/ios/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/centering-expected.txt	2017-07-05 20:21:34 UTC (rev 219151)
@@ -22,11 +22,11 @@
 FAIL vertical-rl: tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-lr: tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-lr: dialog bigger than viewport assert_equals: expected "0px" but got "auto"
-FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "13px"
-FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-7px"
-FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "-7px"
+FAIL vertical-rl (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-lr (dialog horizontal-tb): dialog bigger than viewport assert_equals: expected "0px" but got "auto"
 FAIL horizontal-tb (container vertical-rl): tall viewport assert_equals: expected "10px" but got "auto"
 FAIL vertical-rl (container horizontal-tb): tall viewport assert_equals: expected "45px" but got "auto"
-FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "-8px"
-FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "13px"
+FAIL horizontal-tb (container vertical-rl) (dialog horizontal-tb): tall viewport assert_equals: expected "10px" but got "auto"
+FAIL vertical-rl (container horizontal-tb) (dialog vertical-rl): tall viewport assert_equals: expected "45px" but got "auto"
 

Modified: trunk/Source/WebCore/ChangeLog (219150 => 219151)


--- trunk/Source/WebCore/ChangeLog	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/Source/WebCore/ChangeLog	2017-07-05 20:21:34 UTC (rev 219151)
@@ -1,3 +1,20 @@
+2017-07-05  Zalan Bujtas  <[email protected]>
+
+        REGRESSION (r217522): "Show My Relationship" link in familysearch.org does not work.
+        https://bugs.webkit.org/show_bug.cgi?id=174070
+        <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):
+
 2017-07-05  Devin Rousso  <[email protected]>
 
         Web Inspector: Allow users to log any tracked canvas context

Modified: trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp (219150 => 219151)


--- trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2017-07-05 20:13:56 UTC (rev 219150)
+++ trunk/Source/WebCore/css/CSSComputedStyleDeclaration.cpp	2017-07-05 20:21:34 UTC (rev 219151)
@@ -755,9 +755,9 @@
     return 0;
 }
 
-static LayoutUnit getOffsetUsedStyleAbsolute(RenderBlock& container, RenderBox& box, CSSPropertyID propertyID)
+static LayoutUnit getOffsetUsedStyleOutOfFlowPositioned(RenderBlock& container, RenderBox& box, CSSPropertyID propertyID)
 {
-    // For absoultely positioned boxes, the offset is how far an box's margin
+    // For out-of-flow positioned boxes, the offset is how far an box's margin
     // edge is offset below the edge of the box's containing block.
     // See http://www.w3.org/TR/CSS2/visuren.html#position-props
 
@@ -785,15 +785,17 @@
         return zoomAdjustedPixelValueForLength(getOffsetComputedLength(style, propertyID), style);
 
     // We should return the "used value".
-    LayoutUnit length = 0;
     auto& box = downcast<RenderBox>(*renderer);
-    RenderBlock* containingBlock = box.containingBlock();
+    auto* containingBlock = box.containingBlock();
     if (box.isRelPositioned() || !containingBlock)
-        length = getOffsetUsedStyleRelative(box, propertyID);
-    else
-        length = getOffsetUsedStyleAbsolute(*containingBlock, box, propertyID);
-        
-    return zoomAdjustedPixelValue(length, style);
+        return zoomAdjustedPixelValue(getOffsetUsedStyleRelative(box, propertyID), style);
+    if (renderer->isOutOfFlowPositioned())
+        return zoomAdjustedPixelValue(getOffsetUsedStyleOutOfFlowPositioned(*containingBlock, box, propertyID), style);
+    // In-flow element.
+    auto offset = getOffsetComputedLength(style, propertyID);
+    if (offset.isAuto())
+        return CSSValuePool::singleton().createIdentifierValue(CSSValueAuto);
+    return zoomAdjustedPixelValueForLength(offset, style);
 }
 
 RefPtr<CSSPrimitiveValue> ComputedStyleExtractor::currentColorOrValidColor(const RenderStyle* style, const Color& color) const
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to