| <!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> |