mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-27 20:25:44 +00:00
7d0f02cb18
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
39 lines
1.3 KiB
HTML
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>
|