<!DOCTYPE html> <meta name="viewport" content="width=device-width,initial-scale=1"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> #target { width: 100px; height: 100px; background-color: green; } </style> <div id="target"></div> <script> var target = document.getElementById("target"); async_test((t) => { var observer = new IntersectionObserver(t.step_func_done((entries) => { var rootBounds = entries[0].rootBounds; assert_equals(rootBounds.left, 0); assert_equals(rootBounds.right, document.documentElement.clientWidth); assert_equals(rootBounds.top, 0); assert_equals(rootBounds.bottom, document.documentElement.clientHeight); observer.disconnect(); }), { rootMargin: "" }); observer.observe(document.getElementById("target")); }, "An empty rootMargin string is interpreted as a margin of size zero"); </script>