Skip to content

Commit

Permalink
Create LayoutShiftAttribution objects in LayoutShiftTracker.
Browse files Browse the repository at this point in the history
Also mark the REF "experimental", so that it is tested, and add a test.

Bug: 1053510
Change-Id: I8bac9c8002d20991599a1bf396f28dd9101b0f63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2157988
Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
Commit-Queue: Steve Kobes <skobes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#762442}
  • Loading branch information
skobes-chromium authored and chromium-wpt-export-bot committed Apr 24, 2020
1 parent 01aed09 commit a7b88cb
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 0 deletions.
1 change: 1 addition & 0 deletions layout-instability/resources/util.js
Expand Up @@ -59,6 +59,7 @@ ScoreWatcher = function() {
resetPromise();
const observer = new PerformanceObserver(list => {
list.getEntries().forEach(entry => {
this.lastEntry = entry;
this.score += entry.value;
if (!entry.hadRecentInput)
this.scoreWithInputExclusion += entry.value;
Expand Down
38 changes: 38 additions & 0 deletions layout-instability/sources.html
@@ -0,0 +1,38 @@
<!DOCTYPE html>
<title>Layout Instability: sources attribute</title>
<link rel="help" href="https://wicg.github.io/layout-instability/" />
<style>

body { margin: 10px; }
#shifter { position: relative; width: 300px; height: 100px; }

</style>
<div id="shifter"></div>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/util.js"></script>
<script>

strrect = r => `[${r.x},${r.y},${r.width},${r.height}]`;

promise_test(async () => {
const watcher = new ScoreWatcher;
const shifter = document.querySelector("#shifter");

// Wait for the initial render to complete.
await waitForAnimationFrames(2);

// Modify the position of the div.
shifter.style = "top: 60px; left: 10px";
await watcher.promise;

const sources = watcher.lastEntry.sources;
assert_equals(sources.length, 1);

const source = sources[0];
assert_equals(source.node, shifter);
assert_equals(strrect(source.previousRect), "[10,10,300,100]");
assert_equals(strrect(source.currentRect), "[20,70,300,100]");
}, "Sources attribute.");

</script>

0 comments on commit a7b88cb

Please sign in to comment.