layout/reftests/css-grid/vlr-grid-placement-auto-row-sparse-001.html
author Masayuki Nakano <masayuki@d-toybox.com>
Thu, 02 Feb 2023 05:09:15 +0000
changeset 651452 20512741e7b60f3f6791002d8311d681f9242e68
parent 261125 37eb43b1d82ea3460d562a4ac4d0d9a2af20ae6c
permissions -rw-r--r--
Bug 1812170 - Make `HTMLEditor::ClearStyleAt` should return `pointToPutCaret` if next node of first split is not split r=m_kato The new path added in bug 1807829 hits the odd result case of `ClearStyleAt`. `pointToPutCaret` may be updated if the preceding split occurs. Therefore, it should be returned if it does not split next nodes after the first split instead of returning unset point (because of not splitting the point, `unwrappedSplitNodeResult.AtSplitPoint` may return unset point, therefore, it may return unset point in the case). Additionally, I forgot to split delete `SplitNodeResult::mCaretPoint` in bug 1792654, and it causes `SplitNodeDeepWithTransaction` returns unset caret point. This patch fixes this bug too. Differential Revision: https://phabricator.services.mozilla.com/D168179

<!DOCTYPE HTML>
<html><head>
    <meta charset="utf-8">
    <title></title>
    <style type="text/css">
body,html { color:black; background:white; font-size:12px; padding:0; margin:0; }
html {
  writing-mode: vertical-lr;
  text-orientation: sideways-right;
}

.grid {
  display: grid;
  border: 2px solid green;
  grid-template-columns: 20px 20px 20px 20px;
  grid-template-rows: 20px 20px 20px;
  grid-auto-flow: row;
  grid-auto-columns: 20px;
  grid-auto-rows: 20px;
}

span {
  background: lime;
  border: 1px solid;
}

.test1 .a {
  grid-row: 1;
  grid-column: 2 / span 1;
}
.test1 .b {
  grid-row: 2;
  grid-column: 2 / span 3;
}
.test1 .c, .test2 .c {
  grid-row: 1 / span 2;
  grid-column: auto / span 3;
}

.test2 .a {
  grid-row: 1;
  grid-column: 2 / span 3;
}
.test2 .b {
  grid-row: 2;
  grid-column: 2 / span 1;
}

.test3 {
  grid-template-areas:
    'a a a . '
    'a a a . '
    '. b b . '
  ;
}
.test3 .a {
  grid-area: a;
}
.test3 .b {
  grid-column: 2 / span 3;
  grid-row: b;
}
.test3 .c {
  grid-row: auto / span 2;
  grid-column: auto / span 3;
}

.test4 .c {
  grid-row: auto / span 2;
  grid-column: auto / span 3;
}

.test5 .c {
  grid-row-start: 2;
  grid-column: auto / span 3;
}

.test6 {
  grid-row-start: 2;
  grid-column: auto / span X;
}

.e {
  grid-row-start: 2;
  grid-column: auto / span 1;
}
    </style>
</head>
<body>

<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test2">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test3">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test4">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test5">
<span class="c">c</span>
<span class="d">d</span>
<span class="d">D</span>
<span class="e">e</span>
</div>

<div class="grid test1">
<span class="a">a</span>
<span class="b">b</span>
<span class="c">c</span>
<span class="test6">d</span>
<span class="test6">D</span>
<span class="e">e</span>
</div>

</body>
</html>