Update web-platform-tests to revision b'ee6da9d71d0268d7fdb04e8e5b26858f46ee0cc4'

This commit is contained in:
WPT Sync Bot 2022-01-20 04:38:55 +00:00 committed by cybai
parent 4401622eb1
commit b77ad115f6
16832 changed files with 270819 additions and 87621 deletions

View file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<meta charset="utf-8">
<link rel="author" title="Oriol Brufau" href="mailto:obrufau@igalia.com" />
<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org" />
<link rel="help" href="https://drafts.csswg.org/css-scroll-anchoring/#candidate-examination">
<meta name="assert" content="The candidate examination algorithm iterates abspos descendants of the containing block. Being inside a fragmentainer shouldn't break that.">
<style>
html {
column-count: 1; /* Fragmentainer */
}
main {
position: relative; /* Containing block */
}
div {
position: absolute; /* Abspos */
font-size: 100px;
width: 200px;
height: 4000px;
line-height: 100px;
}
</style>
<main><div>abc <b id=b>def</b> ghi</div></main>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
// Tests anchoring to a text node that is moved by preceding text,
// everything in an absolutely positioned element whose containing block
// is inside a multi-column fragmentainer.
test(() => {
var b = document.querySelector("#b");
var preText = b.previousSibling;
document.scrollingElement.scrollTop = 150;
preText.nodeValue = "abcd efg ";
assert_equals(document.scrollingElement.scrollTop, 250);
}, "Anchoring with text wrapping changes.");
</script>

View file

@ -0,0 +1,54 @@
<!doctype html>
<meta charset=utf-8>
<link rel=help href="https://bugzilla.mozilla.org/show_bug.cgi?id=1738781">
<link rel=help href="https://github.com/w3c/csswg-drafts/issues/6787">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>
.padding {
background: grey;
border: 1px dashed black;
margin: 5px;
height: 200vh;
}
</style>
<div id="content"></div>
<script>
const content = document.getElementById("content");
const t = async_test("Scroll anchor is re-selected after adjustment if there are dirty descendants at selection time");
function replaceAllContent() {
content.innerHTML = `
<div class="padding"></div>
<button id="target">Scroll target</button>
<div class="padding"></div>
`;
}
function insertContent() {
let inserted = document.createElement("div");
inserted.className = "padding inserted";
content.insertBefore(inserted, content.firstChild);
}
// Set the content, and scroll #target into view.
replaceAllContent();
document.getElementById("target").scrollIntoView();
t.step(function() {
assert_not_equals(window.scrollY, 0, "Should've scrolled");
});
// Save the target scroll position, which shouldn't change.
const oldTargetTop = document.getElementById("target").getBoundingClientRect().top;
// Replace all the content, then insert content at the top afterwards.
replaceAllContent();
requestAnimationFrame(() => requestAnimationFrame(t.step_func_done(function() {
insertContent();
const newTargetTop = document.getElementById("target").getBoundingClientRect().top;
assert_equals(oldTargetTop, newTargetTop, "Scroll position should've been preserved");
})));
</script>
<style>