Changeset 262809 in webkit


Ignore:
Timestamp:
Jun 9, 2020 2:04:09 PM (4 years ago)
Author:
commit-queue@webkit.org
Message:

Unreviewed, reverting r261841.
https://bugs.webkit.org/show_bug.cgi?id=212991

Caused spotify pages to scroll to the top
(<http://webkit.org/b/212983|webkit.org/b/212983>)

Reverted changeset:

"[css-grid] Clear the override width for computing percent
margins"
https://bugs.webkit.org/show_bug.cgi?id=209461
https://trac.webkit.org/changeset/261841

Location:
trunk
Files:
50 deleted
18 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r262788 r262809  
     12020-06-09  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, reverting r261841.
     4        https://bugs.webkit.org/show_bug.cgi?id=212991
     5
     6        Caused spotify pages to scroll to the top
     7        (<http://webkit.org/b/212983|webkit.org/b/212983>)
     8
     9        Reverted changeset:
     10
     11        "[css-grid] Clear the override width for computing percent
     12        margins"
     13        https://bugs.webkit.org/show_bug.cgi?id=209461
     14        https://trac.webkit.org/changeset/261841
     15
    1162020-06-09  Javier Fernandez  <jfernandez@igalia.com>
    217
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-definition/grid-minimum-contribution-with-percentages-expected.txt

    r261841 r262809  
    33PASS auto - rows
    44PASS min - columns
    5 PASS min - rows
     5FAIL min - rows assert_equals: grid-template-rows expected "50px" but got "150px"
    66PASS max - columns
    77PASS max - rows
     
    99PASS size - rows
    1010PASS min max - columns
    11 PASS min max - rows
     11FAIL min max - rows assert_equals: grid-template-rows expected "50px" but got "150px"
    1212PASS min size - columns
    13 PASS min size - rows
     13FAIL min size - rows assert_equals: grid-template-rows expected "50px" but got "200px"
    1414PASS max size - columns
    1515PASS max size - rows
    1616PASS min max size - columns
    17 PASS min max size - rows
     17FAIL min max size - rows assert_equals: grid-template-rows expected "50px" but got "150px"
    1818
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a fixed size track).">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3130<script src="/resources/testharnessreport.js"></script>
    3231<script src="/resources/check-layout-th.js"></script>
    33 <script type="text/javascript">
    34   setup({ explicit_done: true });
    35 </script>
    3632
    37 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     33<body onload="checkLayout('.grid')">
    3834
    3935<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min).">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3130<script src="/resources/testharnessreport.js"></script>
    3231<script src="/resources/check-layout-th.js"></script>
    33 <script type="text/javascript">
    34   setup({ explicit_done: true });
    35 </script>
    3632
    37 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     33<body onload="checkLayout('.grid')">
    3834
    3935<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a fixed size track) in a vertical-lr grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min) in a vertical-lr grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a fixed size track) in a vertical-rl grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
     
    7571
    7672<div class="grid directionRTL">
    77   <div class="marginLeft50Percent" data-expected-margin-left="50" data-offset-x="60" data-expected-width="10" data-expected-height="10">X</div>
     73  <div class="marginLeft50Percent" data-expected-margin-left="50" data-expected-x="60" data-expected-width="10" data-expected-height="10">X</div>
    7874  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    7975</div>
     
    8278
    8379<div class="grid directionRTL">
    84   <div class="marginRight50Percent" data-expected-margin-right="50" data-offset-x="10" data-expected-width="10" data-expected-height="10">X</div>
     80  <div class="marginRight50Percent" data-expected-margin-right="50" data-expected-x="10" data-expected-width="10" data-expected-height="10">X</div>
    8581  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    8682</div>
     
    8985
    9086<div class="grid directionRTL">
    91   <div class="marginTop50Percent" data-expected-margin-top="50" data-offset-y="490" data-expected-width="10" data-expected-height="10">X</div>
     87  <div class="marginTop50Percent" data-expected-margin-top="50" data-expected-y="490" data-expected-width="10" data-expected-height="10">X</div>
    9288  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    9389</div>
     
    9692
    9793<div class="grid directionRTL">
    98   <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-offset-y="440" data-expected-width="10" data-expected-height="10">X</div>
     94  <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-expected-y="440" data-expected-width="10" data-expected-height="10">X</div>
    9995  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    10096</div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-rl-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage margins are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min) in a vertical-rl grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
     
    7571
    7672<div class="grid directionRTL">
    77   <div class="marginLeft50Percent" data-expected-margin-left="50" data-offset-x="60" data-expected-width="10" data-expected-height="10">X</div>
     73  <div class="marginLeft50Percent" data-expected-margin-left="50" data-expected-x="60" data-expected-width="10" data-expected-height="10">X</div>
    7874  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    7975</div>
     
    8278
    8379<div class="grid directionRTL">
    84   <div class="marginRight50Percent" data-expected-margin-right="50" data-offset-x="10" data-expected-width="10" data-expected-height="10">X</div>
     80  <div class="marginRight50Percent" data-expected-margin-right="50" data-expected-x="10" data-expected-width="10" data-expected-height="10">X</div>
    8581  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    8682</div>
     
    8985
    9086<div class="grid directionRTL">
    91   <div class="marginTop50Percent" data-expected-margin-top="50" data-offset-y="490" data-expected-width="10" data-expected-height="10">X</div>
     87  <div class="marginTop50Percent" data-expected-margin-top="50" data-expected-y="490" data-expected-width="10" data-expected-height="10">X</div>
    9288  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    9389</div>
     
    9692
    9793<div class="grid directionRTL">
    98   <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-offset-y="440" data-expected-width="10" data-expected-height="10">X</div>
     94  <div class="marginBottom50Percent" data-expected-margin-bottom="50" data-expected-y="440" data-expected-width="10" data-expected-height="10">X</div>
    9995  <div data-offset-x="0" data-offset-y="400" data-expected-width="10" data-expected-height="100"></div>
    10096</div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a fixed size track).">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3130<script src="/resources/testharnessreport.js"></script>
    3231<script src="/resources/check-layout-th.js"></script>
    33 <script type="text/javascript">
    34   setup({ explicit_done: true });
    35 </script>
    3632
    37 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     33<body onload="checkLayout('.grid')">
    3834
    3935<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min).">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3130<script src="/resources/testharnessreport.js"></script>
    3231<script src="/resources/check-layout-th.js"></script>
    33 <script type="text/javascript">
    34   setup({ explicit_done: true });
    35 </script>
    3632
    37 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     33<body onload="checkLayout('.grid')">
    3834
    3935<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a fixed size track) in a vertical-lr grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min) in a vertical-lr grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-001.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a fixed size track) in a vertical-rl grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-rl-002.html

    r261841 r262809  
    66<meta name="assert" content="Checks grid items percentage paddings are resolved against the inline size of their grid area (in a track with fixed max sizing function and intrinsic min) in a vertical-rl grid container.">
    77<link rel="stylesheet" href="/css/support/grid.css">
    8 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
    98<style>
    109.grid {
     
    3231<script src="/resources/testharnessreport.js"></script>
    3332<script src="/resources/check-layout-th.js"></script>
    34 <script type="text/javascript">
    35   setup({ explicit_done: true });
    36 </script>
    3733
    38 <body onload="document.fonts.ready.then(() => { checkLayout('.grid'); })">
     34<body onload="checkLayout('.grid')">
    3935
    4036<div id="log"></div>
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/w3c-import.log

    r262056 r262809  
    115115/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-001.html
    116116/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-002.html
    117 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-003-expected.xht
    118 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-003.html
    119 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-004-expected.xht
    120 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-004.html
    121 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-005-expected.xht
    122 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-005.html
    123 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-006-expected.xht
    124 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-006.html
    125 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-007-expected.xht
    126 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-007.html
    127 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-008-expected.xht
    128 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-008.html
    129 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-009-expected.xht
    130 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-009.html
    131 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-010-expected.xht
    132 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-010.html
    133 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-011-expected.xht
    134 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-011.html
    135 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-012-expected.xht
    136 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-012.html
    137 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-013-expected.xht
    138 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-013.html
    139 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-014-expected.xht
    140 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-014.html
    141117/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-001.html
    142118/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-margins-vertical-lr-002.html
     
    145121/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-001.html
    146122/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-002.html
    147 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-003-expected.xht
    148 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-003.html
    149 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-004-expected.xht
    150 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-004.html
    151 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-005-expected.xht
    152 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-005.html
    153 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-006-expected.xht
    154 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-006.html
    155 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-007-expected.xht
    156 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-007.html
    157 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-008-expected.xht
    158 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-008.html
    159 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-009-expected.xht
    160 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-009.html
    161 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-010-expected.xht
    162 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-010.html
    163 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-011-expected.xht
    164 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-011.html
    165 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-012-expected.xht
    166 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-012.html
    167 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-013-expected.xht
    168 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-013.html
    169 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-014-expected.xht
    170 /LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-014.html
    171123/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-001.html
    172124/LayoutTests/imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-items-percentage-paddings-vertical-lr-002.html
  • trunk/Source/WebCore/ChangeLog

    r262804 r262809  
     12020-06-09  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, reverting r261841.
     4        https://bugs.webkit.org/show_bug.cgi?id=212991
     5
     6        Caused spotify pages to scroll to the top
     7        (<http://webkit.org/b/212983|webkit.org/b/212983>)
     8
     9        Reverted changeset:
     10
     11        "[css-grid] Clear the override width for computing percent
     12        margins"
     13        https://bugs.webkit.org/show_bug.cgi?id=209461
     14        https://trac.webkit.org/changeset/261841
     15
    1162020-06-09  Fujii Hironori  <Hironori.Fujii@sony.com>
    217
  • trunk/Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp

    r261841 r262809  
    107107}
    108108
    109 static bool hasRelativeMarginOrPaddingForChild(const RenderBox& child, GridTrackSizingDirection direction)
    110 {
    111     if (direction == ForColumns)
    112         return child.style().marginStart().isPercentOrCalculated() || child.style().marginEnd().isPercentOrCalculated() || child.style().paddingStart().isPercentOrCalculated() || child.style().paddingEnd().isPercentOrCalculated();
    113     return child.style().marginBefore().isPercentOrCalculated() || child.style().marginAfter().isPercentOrCalculated() || child.style().paddingBefore().isPercentOrCalculated() || child.style().paddingAfter().isPercentOrCalculated();
    114 }
    115 static bool hasRelativeOrIntrinsicSizeForChild(const RenderBox& child, GridTrackSizingDirection direction)
     109static bool shouldClearOverrideContainingBlockContentSizeForChild(const RenderBox& child, GridTrackSizingDirection direction)
    116110{
    117111    if (direction == ForColumns)
    118112        return child.hasRelativeLogicalWidth() || child.style().logicalWidth().isIntrinsicOrAuto();
    119113    return child.hasRelativeLogicalHeight() || child.style().logicalHeight().isIntrinsicOrAuto();
    120 }
    121 
    122 static bool shouldClearOverrideContainingBlockContentSizeForChild(const RenderBox& child, GridTrackSizingDirection direction)
    123 {
    124     return hasRelativeOrIntrinsicSizeForChild(child, direction) || hasRelativeMarginOrPaddingForChild(child, direction);
    125114}
    126115
     
    131120    else
    132121        child.setOverrideContainingBlockContentLogicalHeight(size);
     122}
     123
     124// FIXME: we borrowed this from RenderBlock. We cannot call it from here because it's protected for RenderObjects.
     125static LayoutUnit marginIntrinsicLogicalWidthForChild(const RenderGrid* renderGrid, RenderBox& child)
     126{
     127    // A margin has three types: fixed, percentage, and auto (variable).
     128    // Auto and percentage margins become 0 when computing min/max width.
     129    // Fixed margins can be added in as is.
     130    Length marginLeft = child.style().marginStartUsing(&renderGrid->style());
     131    Length marginRight = child.style().marginEndUsing(&renderGrid->style());
     132    LayoutUnit margin;
     133    if (marginLeft.isFixed())
     134        margin += marginLeft.value();
     135    if (marginRight.isFixed())
     136        margin += marginRight.value();
     137    return margin;
    133138}
    134139
     
    828833
    829834    LayoutUnit gridAreaSize = m_algorithm.gridAreaBreadthForChild(child, childInlineDirection);
    830     return minLogicalSizeForChild(child, childMinSize, gridAreaSize) + baselineShim;
     835    if (isRowAxis)
     836        return minLogicalWidthForChild(child, childMinSize, gridAreaSize) + baselineShim;
     837
     838    bool overrideSizeHasChanged = updateOverrideContainingBlockContentSizeForChild(child, childInlineDirection, gridAreaSize);
     839    layoutGridItemForMinSizeComputation(child, overrideSizeHasChanged);
     840
     841    return child.computeLogicalHeightUsing(MinSize, childMinSize, WTF::nullopt).valueOr(0) + child.marginLogicalHeight() + child.scrollbarLogicalHeight() + baselineShim;
    831842}
    832843
     
    910921}
    911922
    912 LayoutUnit GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild(RenderBox& child, const Length& childMinSize, LayoutUnit availableSize) const
    913 {
    914     GridTrackSizingDirection childInlineDirection = GridLayoutFunctions::flowAwareDirectionForChild(*renderGrid(), child, ForColumns);
    915     bool isRowAxis = direction() == childInlineDirection;
    916     if (isRowAxis)
    917         return child.computeLogicalWidthInFragmentUsing(MinSize, childMinSize, availableSize, *renderGrid(), nullptr) + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childInlineDirection, child);
    918     bool overrideSizeHasChanged = updateOverrideContainingBlockContentSizeForChild(child, childInlineDirection, availableSize);
    919     layoutGridItemForMinSizeComputation(child, overrideSizeHasChanged);
    920     GridTrackSizingDirection childBlockDirection = GridLayoutFunctions::flowAwareDirectionForChild(*renderGrid(), child, ForRows);
    921     return child.computeLogicalHeightUsing(MinSize, childMinSize, WTF::nullopt).valueOr(0) + GridLayoutFunctions::marginLogicalSizeForChild(*renderGrid(), childBlockDirection, child);
    922 }
    923 
    924923class IndefiniteSizeStrategy final : public GridTrackSizingAlgorithmStrategy {
    925924public:
     
    928927
    929928private:
     929    LayoutUnit minLogicalWidthForChild(RenderBox&, Length childMinSize, LayoutUnit availableSize) const override;
    930930    void layoutGridItemForMinSizeComputation(RenderBox&, bool overrideSizeHasChanged) const override;
    931931    void maximizeTracks(Vector<GridTrack>&, Optional<LayoutUnit>& freeSpace) override;
     
    934934    LayoutUnit freeSpaceForStretchAutoTracksStep() const override;
    935935};
     936
     937LayoutUnit IndefiniteSizeStrategy::minLogicalWidthForChild(RenderBox& child, Length childMinSize, LayoutUnit availableSize) const
     938{
     939    return child.computeLogicalWidthInFragmentUsing(MinSize, childMinSize, availableSize, *renderGrid(), nullptr) + marginIntrinsicLogicalWidthForChild(renderGrid(), child);
     940}
    936941
    937942void IndefiniteSizeStrategy::layoutGridItemForMinSizeComputation(RenderBox& child, bool overrideSizeHasChanged) const
     
    10231028
    10241029private:
     1030    LayoutUnit minLogicalWidthForChild(RenderBox&, Length childMinSize, LayoutUnit availableSize) const override;
    10251031    void layoutGridItemForMinSizeComputation(RenderBox&, bool overrideSizeHasChanged) const override;
    10261032    void maximizeTracks(Vector<GridTrack>&, Optional<LayoutUnit>& freeSpace) override;
     
    10281034    bool recomputeUsedFlexFractionIfNeeded(double& flexFraction, LayoutUnit& totalGrowth) const override;
    10291035    LayoutUnit freeSpaceForStretchAutoTracksStep() const override;
    1030     LayoutUnit minContentForChild(RenderBox&) const override;
    1031     LayoutUnit minLogicalSizeForChild(RenderBox&, const Length& childMinSize, LayoutUnit availableSize) const override;
    10321036};
    10331037
     
    10441048}
    10451049
    1046 LayoutUnit DefiniteSizeStrategy::minLogicalSizeForChild(RenderBox& child, const Length& childMinSize, LayoutUnit availableSize) const
    1047 {
    1048     GridTrackSizingDirection childInlineDirection = GridLayoutFunctions::flowAwareDirectionForChild(*renderGrid(), child, ForColumns);
    1049     LayoutUnit indefiniteSize = direction() == childInlineDirection ? LayoutUnit() : LayoutUnit(-1);
    1050     GridTrackSizingDirection flowAwareDirection = GridLayoutFunctions::flowAwareDirectionForChild(*renderGrid(), child, direction());
    1051     if (hasRelativeMarginOrPaddingForChild(child, flowAwareDirection) || (direction() != childInlineDirection && hasRelativeOrIntrinsicSizeForChild(child, flowAwareDirection)))
    1052         setOverrideContainingBlockContentSizeForChild(child, direction(), indefiniteSize);
    1053     return GridTrackSizingAlgorithmStrategy::minLogicalSizeForChild(child, childMinSize, availableSize);
     1050LayoutUnit DefiniteSizeStrategy::minLogicalWidthForChild(RenderBox& child, Length childMinSize, LayoutUnit availableSize) const
     1051{
     1052    LayoutUnit marginLogicalWidth =
     1053        GridLayoutFunctions::computeMarginLogicalSizeForChild(*renderGrid(), ForColumns, child);
     1054    return child.computeLogicalWidthInFragmentUsing(MinSize, childMinSize, availableSize, *renderGrid(), nullptr) + marginLogicalWidth;
    10541055}
    10551056
     
    10881089{
    10891090    return m_algorithm.freeSpace(direction()).value();
    1090 }
    1091 
    1092 LayoutUnit DefiniteSizeStrategy::minContentForChild(RenderBox& child) const
    1093 {
    1094     GridTrackSizingDirection childInlineDirection = GridLayoutFunctions::flowAwareDirectionForChild(*renderGrid(), child, ForColumns);
    1095     if (direction() == childInlineDirection && child.needsLayout() && shouldClearOverrideContainingBlockContentSizeForChild(child, ForColumns))
    1096         setOverrideContainingBlockContentSizeForChild(child, childInlineDirection, LayoutUnit());
    1097     return GridTrackSizingAlgorithmStrategy::minContentForChild(child);
    10981091}
    10991092
  • trunk/Source/WebCore/rendering/GridTrackSizingAlgorithm.h

    r261841 r262809  
    253253    WTF_MAKE_FAST_ALLOCATED;
    254254public:
    255     virtual LayoutUnit minContentForChild(RenderBox&) const;
     255    LayoutUnit minContentForChild(RenderBox&) const;
    256256    LayoutUnit maxContentForChild(RenderBox&) const;
    257257    LayoutUnit minSizeForChild(RenderBox&) const;
     
    268268        : m_algorithm(algorithm) { }
    269269
    270     virtual LayoutUnit minLogicalSizeForChild(RenderBox&, const Length& childMinSize, LayoutUnit availableSize) const;
     270    virtual LayoutUnit minLogicalWidthForChild(RenderBox&, Length childMinSize, LayoutUnit availableSize) const = 0;
    271271    virtual void layoutGridItemForMinSizeComputation(RenderBox&, bool overrideSizeHasChanged) const = 0;
    272272
Note: See TracChangeset for help on using the changeset viewer.