diff --git a/fullscreen/api/fullscreen-reordering.html b/fullscreen/api/fullscreen-reordering.html
new file mode 100644
index 00000000000000..1a286c32c77034
--- /dev/null
+++ b/fullscreen/api/fullscreen-reordering.html
@@ -0,0 +1,62 @@
+
+
Re-requesting fullscreen doesn't fail but doesn't change order
+
+
+
+
+
+
+
+
Element A
+
Element B
+
+
+
+
+
diff --git a/html/semantics/popovers/resources/popover-utils.js b/html/semantics/popovers/resources/popover-utils.js
index 39de6aa99b1fc8..aa69b7d41ae032 100644
--- a/html/semantics/popovers/resources/popover-utils.js
+++ b/html/semantics/popovers/resources/popover-utils.js
@@ -47,6 +47,22 @@ async function sendEnter() {
function isElementVisible(el) {
return !!(el.offsetWidth || el.offsetHeight || el.getClientRects().length);
}
+function isTopLayer(el) {
+ // A bit of a hack. Just test a few properties of the ::backdrop pseudo
+ // element that change when in the top layer.
+ const properties = ['right','background'];
+ const testEl = document.createElement('div');
+ document.body.appendChild(testEl);
+ const computedStyle = getComputedStyle(testEl, '::backdrop');
+ const nonTopLayerValues = properties.map(p => computedStyle[p]);
+ testEl.remove();
+ for(let i=0;i animation.finish());
await waitForRender();