Files
sousa-gecko/browser/components/customizableui/test/browser_remote_attribute.js
T
Emilio Cobos Álvarez 3234ef9347 Bug 2021694 - Make other XUL frame attributes regular bool attrs. r=firefox-desktop-core-reviewers ,devtools-reviewers,tabbrowser-reviewers,layout-reviewers,geckoview-reviewers,whimboo,hiro,nchevobbe,sthompson,mossop ,devtools-reviewers,tabbrowser-reviewers,layout-reviewers,geckoview-reviewers,whimboo,hiro,nchevobbe,sthompson,mossop
- primary / nodefaultsrc / allowscriptstoclose / forcemessagemanager
   are already used as true or not present, so no behavior change.
 - remote can be a regular XUL attr, but needs some consumers to change.

While at it remove the unused mozframetype attr, just use type for both
XUL and privileged iframes.

Differential Revision: https://phabricator.services.mozilla.com/D286522
2026-03-10 23:08:29 +00:00

69 lines
2.4 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/**
* These tests check that the remote attribute is true for remote panels.
* This attribute is needed for Mac to properly render the panel.
*/
add_task(async function check_remote_attribute() {
// The panel is created on the fly, so we can't simply wait for focus
// inside it.
//let pocketPanelShown = BrowserTestUtils.waitForEvent(
// document,
// "popupshown",
// true
//);
let pocketPanelShown = popupShown(document);
// Using Pocket panel as it's an available remote panel.
let pocketButton = document.getElementById("save-to-pocket-button");
pocketButton.click();
await pocketPanelShown;
let pocketPanel = document.getElementById("customizationui-widget-panel");
ok(pocketPanel.hasAttribute("remote"), "Pocket panel has remote attribute");
// Close panel and cleanup.
let pocketPanelHidden = popupHidden(pocketPanel);
pocketPanel.hidePopup();
await pocketPanelHidden;
});
add_task(async function check_remote_attribute_overflow() {
let win = await BrowserTestUtils.openNewBrowserWindow();
let overflowPanel = win.document.getElementById("widget-overflow");
overflowPanel.setAttribute("animate", "false");
// Force a narrow window to get an overflow toolbar.
win.resizeTo(kForceOverflowWidthPx, win.outerHeight);
let navbar = win.document.getElementById(CustomizableUI.AREA_NAVBAR);
await TestUtils.waitForCondition(() => navbar.hasAttribute("overflowing"));
// Open the overflow panel view.
let overflowPanelShown = popupShown(overflowPanel);
let overflowPanelButton = win.document.getElementById(
"nav-bar-overflow-button"
);
overflowPanelButton.click();
await overflowPanelShown;
// Using Pocket panel as it's an available remote panel.
let pocketButton = win.document.getElementById("save-to-pocket-button");
pocketButton.click();
await BrowserTestUtils.waitForEvent(win.document, "ViewShown");
ok(
overflowPanel.hasAttribute("remote"),
"Pocket overflow panel has remote attribute"
);
// Close panel and cleanup.
let overflowPanelHidden = popupHidden(overflowPanel);
overflowPanel.hidePopup();
await overflowPanelHidden;
overflowPanel.removeAttribute("animate");
await BrowserTestUtils.closeWindow(win);
});