From 8fee8ddb07a367cb102e7f7d6ffac61170c16ca4 Mon Sep 17 00:00:00 2001 From: Timothy Nikkel Date: Tue, 8 Apr 2025 00:26:08 +0000 Subject: [PATCH] Bug 1936189. Move reftest layout/reftests/native-theme/470711-1.xhtml to be a browser chrome test. r=dshin As it uses chrome features that we only want to support in the parent process. Differential Revision: https://phabricator.services.mozilla.com/D244576 --- .../tests}/470711-1-ref.xhtml | 0 .../tests}/470711-1.xhtml | 0 layout/base/tests/browser.toml | 6 ++ layout/base/tests/browser_test_tabpanels.js | 55 +++++++++++++++++++ layout/reftests/native-theme/reftest.list | 1 - 5 files changed, 61 insertions(+), 1 deletion(-) rename layout/{reftests/native-theme => base/tests}/470711-1-ref.xhtml (100%) rename layout/{reftests/native-theme => base/tests}/470711-1.xhtml (100%) create mode 100644 layout/base/tests/browser_test_tabpanels.js diff --git a/layout/reftests/native-theme/470711-1-ref.xhtml b/layout/base/tests/470711-1-ref.xhtml similarity index 100% rename from layout/reftests/native-theme/470711-1-ref.xhtml rename to layout/base/tests/470711-1-ref.xhtml diff --git a/layout/reftests/native-theme/470711-1.xhtml b/layout/base/tests/470711-1.xhtml similarity index 100% rename from layout/reftests/native-theme/470711-1.xhtml rename to layout/base/tests/470711-1.xhtml diff --git a/layout/base/tests/browser.toml b/layout/base/tests/browser.toml index 45dada38676c..ea2146f5cfe9 100644 --- a/layout/base/tests/browser.toml +++ b/layout/base/tests/browser.toml @@ -76,6 +76,12 @@ support-files = [ "helper_oopif_reconstruct_nested_grandchild.html", ] +["browser_test_tabpanels.js"] +support-files = [ + "470711-1.xhtml", + "470711-1-ref.xhtml" +] + ["browser_visual_viewport_iframe.js"] support-files = [ "test_visual_viewport_in_oopif.html", diff --git a/layout/base/tests/browser_test_tabpanels.js b/layout/base/tests/browser_test_tabpanels.js new file mode 100644 index 000000000000..a828bf9e326c --- /dev/null +++ b/layout/base/tests/browser_test_tabpanels.js @@ -0,0 +1,55 @@ +/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set sts=2 sw=2 et tw=80: */ +/* This test is based on + https://searchfox.org/mozilla-central/rev/380b8fd795e7d96d8a5a3e6ec2b50a9f2b65854a/layout/base/tests/browser_test_oopif_reconstruct.js +*/ + +"use strict"; + +Services.scriptloader.loadSubScript( + "chrome://mochitests/content/browser/gfx/layers/apz/test/mochitest/apz_test_utils.js", + this +); + +async function runOneTest(filename) { + function chromeURL(sfilename) { + let result = getRootDirectory(gTestPath) + sfilename; + return result; + } + + const url = chromeURL(filename); + const tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url); + + const { rect } = await SpecialPowers.spawn( + tab.linkedBrowser, + [], + async () => { + const container = content.document.documentElement; + + // Get the area in the screen coords of the tab. + let containerRect = container.getBoundingClientRect(); + containerRect.x += content.window.mozInnerScreenX; + containerRect.y += content.window.mozInnerScreenY; + + return { + rect: containerRect, + }; + } + ); + + const reference = await getSnapshot({ + x: rect.x, + y: rect.y, + width: rect.width, + height: rect.height, + }); + + BrowserTestUtils.removeTab(tab); + return reference; +} + +add_task(async () => { + let snapshot1 = await runOneTest("470711-1.xhtml"); + let snapshot2 = await runOneTest("470711-1-ref.xhtml"); + is(snapshot1, snapshot1, "should be same"); +}); diff --git a/layout/reftests/native-theme/reftest.list b/layout/reftests/native-theme/reftest.list index d1cbd58cb297..f065d0a42fea 100644 --- a/layout/reftests/native-theme/reftest.list +++ b/layout/reftests/native-theme/reftest.list @@ -27,7 +27,6 @@ needs-focus == listbox-nonnative-when-styled.html listbox-nonnative-when-styled- != 427122-1.html 427122-1-ref.html -== chrome://reftest/content/native-theme/470711-1.xhtml chrome://reftest/content/native-theme/470711-1-ref.xhtml == chrome://reftest/content/native-theme/482955-1.xhtml chrome://reftest/content/native-theme/482955-1-ref.xhtml == 492155-1.html about:blank