gecko-dev/testing/web-platform/tests/element-timing/observe-svg-image.html
James Graham 7d0f02cb18 Bug 1557420 [wpt PR 16898] - Add a precondition to all the element timing tests, a=testonly
Automatic update from web-platform-tests
Add a precondition to all the element timing tests

Since PerformanceObserver.observe doesn't have any way to signal an
unsupported type we end up just timing out all the tests in
implementations that doesn't support element timing. For efficiency
add a precondition to all the tests to check for the relevant API instead.

--

wp5At-commits: 163424c5e76ef73bd0ddecf9b8aa7aabc555ccb1
wpt-pr: 16898
2019-06-19 11:05:37 -07:00

39 lines
1.3 KiB
HTML

<!DOCTYPE HTML>
<meta charset=utf-8>
<title>Element Timing: observe image inside SVG</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/element-timing-helpers.js"></script>
<script>
let beforeRender;
async_test(function (t) {
if (!window.PerformanceElementTiming) {
assert_unreached("PerformanceElementTiming is not implemented");
}
const observer = new PerformanceObserver(
t.step_func_done(function(entryList) {
assert_equals(entryList.getEntries().length, 1);
const entry = entryList.getEntries()[0];
const index = window.location.href.lastIndexOf('/');
const pathname = window.location.href.substring(0, index) +
'/resources/circle.svg';
checkElement(entry, pathname, 'my_svg', 'svg_id', beforeRender,
document.getElementById('svg_id'));
// Assume viewport has size at least 200, so the element is fully visible.
checkRect(entry, [0, 200, 0, 200]);
checkNaturalSize(entry, 200, 200);
})
);
observer.observe({entryTypes: ['element']});
beforeRender = performance.now();
}, "Able to observe svg image.");
</script>
<style>
body {
margin: 0;
}
</style>
<svg width="300" height="300">
<image href='resources/circle.svg' elementtiming='my_svg' id='svg_id'/>
</svg>