From 8dd16259287f58f9273002717ec4d27e97127719 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 12 Jun 2024 07:43:14 +0200 Subject: Merging upstream version 127.0. Signed-off-by: Daniel Baumann --- ...r-activeelement-after-child-lose-focus.sub.html | 48 ++++++++++------------ ...ctiveelement-after-child-lose-focus-helper.html | 6 ++- 2 files changed, 26 insertions(+), 28 deletions(-) (limited to 'testing/web-platform/tests/focus') diff --git a/testing/web-platform/tests/focus/cross-origin-ancestor-activeelement-after-child-lose-focus.sub.html b/testing/web-platform/tests/focus/cross-origin-ancestor-activeelement-after-child-lose-focus.sub.html index 35844bc91f..1b84b43f1c 100644 --- a/testing/web-platform/tests/focus/cross-origin-ancestor-activeelement-after-child-lose-focus.sub.html +++ b/testing/web-platform/tests/focus/cross-origin-ancestor-activeelement-after-child-lose-focus.sub.html @@ -20,36 +20,32 @@ function runTest() { const innerIFrame = outerIFrame.contentDocument.createElement("iframe"); - window.onmessage = function() { + window.onmessage = function(event) { + if (event.data != "ready") { + return; + } + + // We receive an message when the innerIFrame is ready and its input is focused. + // outerIframe is the ancestor of inner iframe, so the activeElement of + // it should be the inner iframe. + assert_equals(outerIFrame.contentDocument.activeElement, innerIFrame, + "The activeElement of the outer iframe should be the inner iframe"); + + // Now we focus the input in the top level + document.querySelector("input").focus(); + // Wait for a bit to let whatever the code that might change the focus to run window.requestAnimationFrame(function() { window.requestAnimationFrame(function() { window.requestAnimationFrame(function() { - - // We receive an message when the innerIFrame is ready and its input is focused. - // outerIframe is the ancestor of inner iframe, so the activeElement of - // it should be the inner iframe. - assert_equals(outerIFrame.contentDocument.activeElement, innerIFrame, - "The activeElement of the outer iframe should be the inner iframe"); - - // Now we focus the input in the top level - document.querySelector("input").focus(); - - // Wait for a bit to let whatever the code that might change the focus to run - window.requestAnimationFrame(function() { - window.requestAnimationFrame(function() { - window.requestAnimationFrame(function() { - // Since inner iframe lost its focus, the activeElement of outer iframe - // should be cleared as well, hence should be focused. - assert_equals(outerIFrame.contentDocument.activeElement, outerIFrame.contentDocument.body, - "The activeElement of the outer iframe should be reverted back to "); - assert_equals(document.activeElement, document.querySelector("input"), - "The activeElement of the top-level document should the input"); - done(); - }); - }); - }); - }); + // Since inner iframe lost its focus, the activeElement of outer iframe + // should be cleared as well, hence should be focused. + assert_equals(outerIFrame.contentDocument.activeElement, outerIFrame.contentDocument.body, + "The activeElement of the outer iframe should be reverted back to "); + assert_equals(document.activeElement, document.querySelector("input"), + "The activeElement of the top-level document should the input"); + done(); + }) }); }); } diff --git a/testing/web-platform/tests/focus/support/cross-origin-ancestor-activeelement-after-child-lose-focus-helper.html b/testing/web-platform/tests/focus/support/cross-origin-ancestor-activeelement-after-child-lose-focus-helper.html index 83d39d5c70..fe96614517 100644 --- a/testing/web-platform/tests/focus/support/cross-origin-ancestor-activeelement-after-child-lose-focus-helper.html +++ b/testing/web-platform/tests/focus/support/cross-origin-ancestor-activeelement-after-child-lose-focus-helper.html @@ -2,8 +2,10 @@ -- cgit v1.2.3