Bug 1551928 [wpt PR 16834] - [IntersectionObserver] Fix target rect for block inside inline, a=testonly

Automatic update from web-platform-tests
[IntersectionObserver] Fix target rect for block inside inline

As the spec requires, use the same logic as
Element::getBoundingClientRect for the target rect.

BUG=962605
R=eae@chromium.org

Change-Id: Ib5aaec30d9de79901d08f8fe3ce0a3998468839f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1612032
Reviewed-by: Emil A Eklund <eae@chromium.org>
Commit-Queue: Stefan Zager <szager@chromium.org>
Cr-Commit-Position: refs/heads/master@{#659836}

--

wp5At-commits: cf40205c68f739ae23429439de13d125e3df9f7a
wpt-pr: 16834
This commit is contained in:
Stefan Zager 2019-06-13 10:21:22 +00:00 коммит произвёл James Graham
Родитель 638d6bfaa3
Коммит 1869191269
1 изменённых файлов: 46 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,46 @@
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="./resources/intersection-observer-test-utils.js"></script>
<style>
pre, #log {
position: absolute;
top: 120px;
left: 0;
}
#target {
display: inline;
}
</style>
<div id="target">
<div>
<img width=100 height=100 />
</div>
</div>
<script>
var vw = document.documentElement.clientWidth;
var vh = document.documentElement.clientHeight;
var entries = [];
var target;
runTestCycle(function() {
target = document.getElementById("target");
assert_true(!!target, "target exists");
var observer = new IntersectionObserver(function(changes) {
entries = entries.concat(changes)
});
observer.observe(target);
entries = entries.concat(observer.takeRecords());
assert_equals(entries.length, 0, "No initial notifications.");
runTestCycle(step0, "First rAF");
}, "Inline target containing a block child");
function step0() {
assert_equals(entries.length, 1);
checkRect(entries[0].boundingClientRect, clientBounds(target),
"entry.boundingClientRect == target.getBoundingClientRect()");
}
</script>