Backed out changeset 75c44ff76360 (bug 1892965) for causing multiple failures

This commit is contained in:
Norisz Fay 2024-05-01 22:58:27 +03:00
parent e041c863e2
commit 287ff7968f
60 changed files with 253 additions and 304 deletions

View file

@ -3,7 +3,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
<hbox flex="1" id="browser">
<html:sidebar-main id="sidebar-main" flex="1" hidden="true"></html:sidebar-main>
<html:sidebar-launcher id="sidebar-launcher" flex="1" hidden="true"></html:sidebar-launcher>
<vbox id="sidebar-box" hidden="true" class="chromeclass-extrachrome">
<box id="sidebar-header" align="center">
<toolbarbutton id="sidebar-switcher-target" class="tabbable" aria-expanded="false">
@ -13,7 +13,7 @@
</toolbarbutton>
<image id="sidebar-throbber"/>
<spacer id="sidebar-spacer"/>
<toolbarbutton id="sidebar-close" class="close-icon tabbable" data-l10n-id="sidebar-close-button" oncommand="SidebarController.hide();"/>
<toolbarbutton id="sidebar-close" class="close-icon tabbable" data-l10n-id="sidebar-close-button" oncommand="SidebarUI.hide();"/>
</box>
<browser id="sidebar" autoscroll="false" disablehistory="true" disablefullscreen="true" tooltip="aHTMLTooltip"/>
</vbox>

View file

@ -140,7 +140,7 @@
</menupopup>
</menu>
<menu id="viewSidebarMenuMenu" data-l10n-id="menu-view-sidebar">
<menupopup id="viewSidebarMenu" onpopupshowing="SidebarController.setMegalistMenubarVisibility(event);">
<menupopup id="viewSidebarMenu" onpopupshowing="SidebarUI.setMegalistMenubarVisibility(event);">
</menupopup>
</menu>
<menuseparator/>

View file

@ -1377,7 +1377,7 @@ var BookmarkingUI = {
this.updateLabel(
"BMB_viewBookmarksSidebar",
SidebarController.currentID == "viewBookmarksSidebar"
SidebarUI.currentID == "viewBookmarksSidebar"
);
this.updateLabel("BMB_viewBookmarksToolbar", !this.toolbar.collapsed);
},

View file

@ -276,7 +276,7 @@
<key id="viewBookmarksSidebarKb"
data-l10n-id="bookmark-show-sidebar-shortcut"
modifiers="accel"
oncommand="SidebarController.toggle('viewBookmarksSidebar');"/>
oncommand="SidebarUI.toggle('viewBookmarksSidebar');"/>
<key id="viewBookmarksToolbarKb"
data-l10n-id="bookmark-show-toolbar-shortcut"
oncommand="BookmarkingUI.toggleBookmarksToolbar('shortcut');"
@ -295,7 +295,7 @@
#else
modifiers="accel"
#endif
oncommand="SidebarController.toggle('viewHistorySidebar');"/>
oncommand="SidebarUI.toggle('viewHistorySidebar');"/>
<key id="key_fullZoomReduce" data-l10n-id="full-zoom-reduce-shortcut" command="cmd_fullZoomReduce" modifiers="accel"/>
<key data-l10n-id="full-zoom-reduce-shortcut-alt-a" command="cmd_fullZoomReduce" modifiers="accel"/>

View file

@ -1711,7 +1711,7 @@ var gBrowserInit = {
gBrowser.addProgressListener(window.XULBrowserWindow);
gBrowser.addTabsProgressListener(window.TabsProgressListener);
SidebarController.init();
SidebarUI.init();
// We do this in onload because we want to ensure the button's state
// doesn't flicker as the window is being shown.
@ -1982,7 +1982,7 @@ var gBrowserInit = {
// Enable the Restore Last Session command if needed
RestoreLastSessionObserver.init();
SidebarController.startDelayedLoad();
SidebarUI.startDelayedLoad();
PanicButtonNotifier.init();
});
@ -2519,7 +2519,7 @@ var gBrowserInit = {
CaptivePortalWatcher.uninit();
SidebarController.uninit();
SidebarUI.uninit();
DownloadsButton.uninit();
@ -2632,7 +2632,7 @@ function HandleAppCommandEvent(evt) {
BrowserSearch.webSearch();
break;
case "Bookmarks":
SidebarController.toggle("viewBookmarksSidebar");
SidebarUI.toggle("viewBookmarksSidebar");
break;
case "Home":
BrowserCommands.home();
@ -6275,10 +6275,9 @@ var gUIDensity = {
}
let docs = [document.documentElement];
let shouldUpdateSidebar =
SidebarController.initialized && SidebarController.isOpen;
let shouldUpdateSidebar = SidebarUI.initialized && SidebarUI.isOpen;
if (shouldUpdateSidebar) {
docs.push(SidebarController.browser.contentDocument.documentElement);
docs.push(SidebarUI.browser.contentDocument.documentElement);
}
for (let doc of docs) {
switch (mode) {
@ -6294,7 +6293,7 @@ var gUIDensity = {
}
}
if (shouldUpdateSidebar) {
let tree = SidebarController.browser.contentDocument.querySelector(
let tree = SidebarUI.browser.contentDocument.querySelector(
".sidebar-placesTree"
);
if (tree) {

View file

@ -256,26 +256,26 @@
<menuitem id="sidebar-switcher-bookmarks"
data-l10n-id="sidebar-menu-bookmarks"
key="viewBookmarksSidebarKb"
oncommand="SidebarController.show('viewBookmarksSidebar');"/>
oncommand="SidebarUI.show('viewBookmarksSidebar');"/>
<menuitem id="sidebar-switcher-history"
data-l10n-id="sidebar-menu-history"
key="key_gotoHistory"
oncommand="SidebarController.show('viewHistorySidebar');"/>
oncommand="SidebarUI.show('viewHistorySidebar');"/>
<menuitem id="sidebar-switcher-tabs"
data-l10n-id="sidebar-menu-synced-tabs"
class="sync-ui-item"
oncommand="SidebarController.show('viewTabsSidebar');"/>
oncommand="SidebarUI.show('viewTabsSidebar');"/>
<menuitem id="sidebar-switcher-megalist"
data-l10n-id="sidebar-menu-megalist"
oncommand="SidebarController.show('viewMegalistSidebar');"/>
oncommand="SidebarUI.show('viewMegalistSidebar');"/>
<menuseparator/>
<!-- Extension toolbarbuttons go here. -->
<menuseparator id="sidebar-extensions-separator"/>
<menuitem id="sidebar-reverse-position"
oncommand="SidebarController.reversePosition()"/>
oncommand="SidebarUI.reversePosition()"/>
<menuseparator/>
<menuitem data-l10n-id="sidebar-menu-close"
oncommand="SidebarController.hide()"/>
oncommand="SidebarUI.hide()"/>
</menupopup>
<menupopup id="toolbar-context-menu"

View file

@ -621,7 +621,7 @@
<menuitem id="BMB_viewBookmarksSidebar"
data-l10n-id="bookmarks-tools-sidebar-visibility"
data-l10n-args='{ "isVisible": false }'
oncommand="SidebarController.toggle('viewBookmarksSidebar');"
oncommand="SidebarUI.toggle('viewBookmarksSidebar');"
key="viewBookmarksSidebarKb"/>
<menuitem id="BMB_searchBookmarks"
data-l10n-id="bookmarks-search"

View file

@ -229,7 +229,7 @@ add_task(async function () {
let sidebar = document.getElementById("sidebar");
let loadPromise = BrowserTestUtils.waitForEvent(sidebar, "load", true);
SidebarController.toggle("viewBookmarksSidebar");
SidebarUI.toggle("viewBookmarksSidebar");
await loadPromise;
gURLBar.focus();
@ -278,7 +278,7 @@ add_task(async function () {
"back focus with sidebar urlbar"
);
SidebarController.toggle("viewBookmarksSidebar");
SidebarUI.toggle("viewBookmarksSidebar");
});
// Navigate when the downloads panel is open

View file

@ -5,7 +5,7 @@
* during the initial browser startup - but it would be hard to do with a mochitest. */
registerCleanupFunction(() => {
SidebarController.hide();
SidebarUI.hide();
});
function failIfSidebarFocusedFires() {
@ -26,7 +26,7 @@ add_task(async function testAdoptedTwoWindows() {
info("Ensure that sidebar state is adopted only from the opener");
let win1 = await BrowserTestUtils.openNewBrowserWindow();
await win1.SidebarController.show("viewBookmarksSidebar");
await win1.SidebarUI.show("viewBookmarksSidebar");
await BrowserTestUtils.closeWindow(win1);
let win2 = await BrowserTestUtils.openNewBrowserWindow();
@ -34,7 +34,7 @@ add_task(async function testAdoptedTwoWindows() {
!win2.document.getElementById("sidebar-button").hasAttribute("checked"),
"Sidebar button isn't checked"
);
ok(!win2.SidebarController.isOpen, "Sidebar is closed");
ok(!win2.SidebarUI.isOpen, "Sidebar is closed");
await BrowserTestUtils.closeWindow(win2);
});
@ -46,7 +46,7 @@ add_task(async function testEventsReceivedInMainWindow() {
let initialShown = BrowserTestUtils.waitForEvent(window, "SidebarShown");
let initialFocus = BrowserTestUtils.waitForEvent(window, "SidebarFocused");
await SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
await initialShown;
await initialFocus;

View file

@ -8,7 +8,7 @@
add_task(function cleanup() {
registerCleanupFunction(() => {
SidebarController.hide();
SidebarUI.hide();
});
});
@ -17,7 +17,7 @@ add_task(function cleanup() {
*/
async function testLiveReloading(sidebarName) {
info("Showing the sidebar " + sidebarName);
await SidebarController.show(sidebarName);
await SidebarUI.show(sidebarName);
function getTreeChildren() {
const sidebarDoc =
@ -44,7 +44,7 @@ async function testLiveReloading(sidebarName) {
);
info("Hiding the sidebar");
SidebarController.hide();
SidebarUI.hide();
}
add_task(async function test_bookmarks_sidebar() {

View file

@ -11,11 +11,11 @@ async function testSidebarKeyToggle(key, options, expectedSidebarId) {
expectedSidebarId
);
EventUtils.synthesizeKey(key, options);
Assert.ok(!SidebarController.isOpen);
Assert.ok(!SidebarUI.isOpen);
}
add_task(async function test_sidebar_keys() {
registerCleanupFunction(() => SidebarController.hide());
registerCleanupFunction(() => SidebarUI.hide());
await testSidebarKeyToggle("b", { accelKey: true }, "viewBookmarksSidebar");
@ -30,7 +30,7 @@ add_task(async function test_sidebar_in_customize_mode() {
let { CustomizableUI } = ChromeUtils.importESModule(
"resource:///modules/CustomizableUI.sys.mjs"
);
registerCleanupFunction(() => SidebarController.hide());
registerCleanupFunction(() => SidebarUI.hide());
let placement = CustomizableUI.getPlacementOfWidget("sidebar-button");
if (!(placement?.area == CustomizableUI.AREA_NAVBAR)) {
@ -55,7 +55,7 @@ add_task(async function test_sidebar_in_customize_mode() {
).a;
let promiseShown = BrowserTestUtils.waitForEvent(window, "SidebarShown");
SidebarController.show("viewBookmarksSidebar");
SidebarUI.show("viewBookmarksSidebar");
await promiseShown;
Assert.greater(
@ -80,8 +80,8 @@ add_task(async function test_sidebar_in_customize_mode() {
);
// Attempt toggle - should fail in customize mode.
await SidebarController.toggle();
ok(SidebarController.isOpen, "Sidebar is still open");
await SidebarUI.toggle();
ok(SidebarUI.isOpen, "Sidebar is still open");
// Exit customize mode. This should re-enable the toggle and make the sidebar
// toggle widget appear checked again, since toggle() didn't hide the sidebar.
@ -98,8 +98,8 @@ add_task(async function test_sidebar_in_customize_mode() {
"Sidebar widget background should appear checked again"
);
await SidebarController.toggle();
ok(!SidebarController.isOpen, "Sidebar is closed");
await SidebarUI.toggle();
ok(!SidebarUI.isOpen, "Sidebar is closed");
Assert.equal(
getBGAlpha(),
0,

View file

@ -1,17 +1,17 @@
registerCleanupFunction(() => {
Services.prefs.clearUserPref("sidebar.position_start");
SidebarController.hide();
SidebarUI.hide();
});
const EXPECTED_START_ORDINALS = [
["sidebar-main", 1],
["sidebar-launcher", 1],
["sidebar-box", 2],
["sidebar-splitter", 3],
["appcontent", 4],
];
const EXPECTED_END_ORDINALS = [
["sidebar-main", 5],
["sidebar-launcher", 5],
["sidebar-box", 4],
["sidebar-splitter", 3],
["appcontent", 2],
@ -25,8 +25,8 @@ function getBrowserChildrenWithOrdinals() {
}
add_task(async function () {
await SidebarController.show("viewBookmarksSidebar");
SidebarController.showSwitcherPanel();
await SidebarUI.show("viewBookmarksSidebar");
SidebarUI.showSwitcherPanel();
let reversePositionButton = document.getElementById(
"sidebar-reverse-position"
@ -43,8 +43,8 @@ add_task(async function () {
ok(!box.hasAttribute("positionend"), "Positioned start");
// Moved to right
SidebarController.reversePosition();
SidebarController.showSwitcherPanel();
SidebarUI.reversePosition();
SidebarUI.showSwitcherPanel();
Assert.deepEqual(
getBrowserChildrenWithOrdinals(),
EXPECTED_END_ORDINALS,
@ -58,8 +58,8 @@ add_task(async function () {
ok(box.hasAttribute("positionend"), "Positioned end");
// Moved to back to left
SidebarController.reversePosition();
SidebarController.showSwitcherPanel();
SidebarUI.reversePosition();
SidebarUI.showSwitcherPanel();
Assert.deepEqual(
getBrowserChildrenWithOrdinals(),
EXPECTED_START_ORDINALS,

View file

@ -18,7 +18,7 @@ add_task(async function persist_sidebar_width() {
{
info("Showing new window and setting sidebar box");
const win = await BrowserTestUtils.openNewBrowserWindow();
await win.SidebarController.show("viewBookmarksSidebar");
await win.SidebarUI.show("viewBookmarksSidebar");
win.document.getElementById("sidebar-box").style.width = "100px";
await BrowserTestUtils.closeWindow(win);
}
@ -26,7 +26,7 @@ add_task(async function persist_sidebar_width() {
{
info("Showing new window and seeing persisted width");
const win = await BrowserTestUtils.openNewBrowserWindow();
await win.SidebarController.show("viewBookmarksSidebar");
await win.SidebarUI.show("viewBookmarksSidebar");
is(
win.document.getElementById("sidebar-box").style.width,
"100px",

View file

@ -1,5 +1,5 @@
registerCleanupFunction(() => {
SidebarController.hide();
SidebarUI.hide();
});
/**
@ -9,14 +9,14 @@ registerCleanupFunction(() => {
*/
function showSwitcherPanelPromise() {
return new Promise(resolve => {
SidebarController._switcherPanel.addEventListener(
SidebarUI._switcherPanel.addEventListener(
"popupshown",
() => {
resolve();
},
{ once: true }
);
SidebarController.showSwitcherPanel();
SidebarUI.showSwitcherPanel();
});
}
@ -25,10 +25,7 @@ function showSwitcherPanelPromise() {
* @returns Promise which resolves when the popup menu is opened
*/
async function waitForSwitcherPopupShown() {
return BrowserTestUtils.waitForEvent(
SidebarController._switcherPanel,
"popupshown"
);
return BrowserTestUtils.waitForEvent(SidebarUI._switcherPanel, "popupshown");
}
/**
@ -66,7 +63,7 @@ async function testSidebarMenuKeyToggle(key, sidebarTitle) {
info(`Testing "${key}" key handling of sidebar menu popup items
to access ${sidebarTitle} sidebar`);
Assert.ok(SidebarController.isOpen, "Sidebar is open");
Assert.ok(SidebarUI.isOpen, "Sidebar is open");
let sidebarSwitcher = document.querySelector("#sidebar-switcher-target");
let sidebar = document.getElementById("sidebar");
@ -92,7 +89,7 @@ async function testSidebarMenuKeyToggle(key, sidebarTitle) {
"The sidebar switcher target button is focused"
);
Assert.equal(
SidebarController._switcherPanel.state,
SidebarUI._switcherPanel.state,
"closed",
"Sidebar menu popup is closed"
);
@ -105,7 +102,7 @@ async function testSidebarMenuKeyToggle(key, sidebarTitle) {
await promisePopupShown;
Assert.equal(
SidebarController._switcherPanel.state,
SidebarUI._switcherPanel.state,
"open",
"Sidebar menu popup is open"
);
@ -114,7 +111,7 @@ async function testSidebarMenuKeyToggle(key, sidebarTitle) {
let arrowDown = async (menuitemId, msg) => {
let menuItemActive = BrowserTestUtils.waitForEvent(
SidebarController._switcherPanel,
SidebarUI._switcherPanel,
"DOMMenuItemActive"
);
EventUtils.synthesizeKey("KEY_ArrowDown", {});
@ -152,18 +149,18 @@ async function testSidebarMenuKeyToggle(key, sidebarTitle) {
info("Testing keyboard navigation when a sidebar menu popup is closed");
Assert.equal(
SidebarController._switcherPanel.state,
SidebarUI._switcherPanel.state,
"closed",
"Sidebar menu popup is closed"
);
// Test the sidebar panel is updated
Assert.equal(
SidebarController._box.getAttribute("sidebarcommand"),
SidebarUI._box.getAttribute("sidebarcommand"),
`view${sidebarTitle}Sidebar` /* e.g. "viewHistorySidebar" */,
`${sidebarTitle} sidebar loaded`
);
Assert.equal(
SidebarController.currentID,
SidebarUI.currentID,
`view${sidebarTitle}Sidebar` /* e.g. "viewHistorySidebar" */,
`${sidebarTitle}'s current ID is updated to a target view`
);
@ -176,7 +173,7 @@ add_task(async function markup() {
false,
"Unexpected sidebar found - a previous test failed to cleanup correctly"
);
SidebarController.hide();
SidebarUI.hide();
}
let sidebarPopup = document.querySelector("#sidebarMenu-popup");
@ -208,7 +205,7 @@ add_task(async function markup() {
info("Test dynamic changes in the markup of the sidebar switcher control");
await SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
await showSwitcherPanelPromise();
Assert.equal(
@ -232,25 +229,25 @@ add_task(async function markup() {
"Sidebar switcher button is collapsed when a sidebar menu is dismissed"
);
SidebarController.hide();
SidebarUI.hide();
});
add_task(async function keynav() {
// If a sidebar is already open, close it.
if (SidebarController.isOpen) {
if (SidebarUI.isOpen) {
Assert.ok(
false,
"Unexpected sidebar found - a previous test failed to cleanup correctly"
);
SidebarController.hide();
SidebarUI.hide();
}
await SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
await testSidebarMenuKeyToggle("KEY_Enter", "History");
await testSidebarMenuKeyToggle(" ", "Tabs");
SidebarController.hide();
SidebarUI.hide();
});
add_task(async function mouse() {
@ -260,11 +257,11 @@ add_task(async function mouse() {
false,
"Unexpected sidebar found - a previous test failed to cleanup correctly"
);
SidebarController.hide();
SidebarUI.hide();
}
let sidebar = document.querySelector("#sidebar-box");
await SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
await showSwitcherPanelPromise();
await pickSwitcherMenuitem("#sidebar-switcher-history");

View file

@ -280,7 +280,7 @@ export const CustomizableWidgets = [
tooltiptext: "sidebar-button.tooltiptext2",
onCommand(aEvent) {
let win = aEvent.target.ownerGlobal;
win.SidebarController.toggle();
win.SidebarUI.toggle();
},
onCreated(aNode) {
// Add an observer so the button is checked while the sidebar is open

View file

@ -9,7 +9,7 @@ registerCleanupFunction(async function () {
// Ensure sidebar is hidden after each test:
if (!document.getElementById("sidebar-box").hidden) {
SidebarController.hide();
SidebarUI.hide();
}
});
@ -21,14 +21,14 @@ var showSidebar = async function (win = window) {
);
EventUtils.synthesizeMouseAtCenter(button, {}, win);
await sidebarFocusedPromise;
ok(win.SidebarController.isOpen, "Sidebar is opened");
ok(win.SidebarUI.isOpen, "Sidebar is opened");
ok(button.hasAttribute("checked"), "Toolbar button is checked");
};
var hideSidebar = async function (win = window) {
let button = win.document.getElementById("sidebar-button");
EventUtils.synthesizeMouseAtCenter(button, {}, win);
ok(!win.SidebarController.isOpen, "Sidebar is closed");
ok(!win.SidebarUI.isOpen, "Sidebar is closed");
ok(!button.hasAttribute("checked"), "Toolbar button isn't checked");
};
@ -37,26 +37,18 @@ add_task(async function () {
CustomizableUI.addWidgetToArea("sidebar-button", "nav-bar");
await showSidebar();
is(
SidebarController.currentID,
"viewBookmarksSidebar",
"Default sidebar selected"
);
await SidebarController.show("viewHistorySidebar");
is(SidebarUI.currentID, "viewBookmarksSidebar", "Default sidebar selected");
await SidebarUI.show("viewHistorySidebar");
await hideSidebar();
await showSidebar();
is(
SidebarController.currentID,
"viewHistorySidebar",
"Selected sidebar remembered"
);
is(SidebarUI.currentID, "viewHistorySidebar", "Selected sidebar remembered");
await hideSidebar();
let otherWin = await BrowserTestUtils.openNewBrowserWindow();
await showSidebar(otherWin);
is(
otherWin.SidebarController.currentID,
otherWin.SidebarUI.currentID,
"viewHistorySidebar",
"Selected sidebar remembered across windows"
);

View file

@ -1100,11 +1100,11 @@ const menuTracker = {
);
sidebarHeader.addEventListener("SidebarShown", menuTracker.onSidebarShown);
await window.SidebarController.promiseInitialized;
await window.SidebarUI.promiseInitialized;
if (
!window.closed &&
window.SidebarController.currentID === "viewBookmarksSidebar"
window.SidebarUI.currentID === "viewBookmarksSidebar"
) {
menuTracker.onSidebarShown({ currentTarget: sidebarHeader });
}
@ -1121,8 +1121,8 @@ const menuTracker = {
);
sidebarHeader.removeEventListener("SidebarShown", this.onSidebarShown);
if (window.SidebarController.currentID === "viewBookmarksSidebar") {
let sidebarBrowser = window.SidebarController.browser;
if (window.SidebarUI.currentID === "viewBookmarksSidebar") {
let sidebarBrowser = window.SidebarUI.browser;
sidebarBrowser.removeEventListener("load", this.onSidebarShown);
const menu =
sidebarBrowser.contentDocument.getElementById("placesContext");
@ -1134,10 +1134,10 @@ const menuTracker = {
// The event target is an element in a browser window, so |window| will be
// the browser window that contains the sidebar.
const window = event.currentTarget.ownerGlobal;
if (window.SidebarController.currentID === "viewBookmarksSidebar") {
let sidebarBrowser = window.SidebarController.browser;
if (window.SidebarUI.currentID === "viewBookmarksSidebar") {
let sidebarBrowser = window.SidebarUI.browser;
if (sidebarBrowser.contentDocument.readyState !== "complete") {
// SidebarController.currentID may be updated before the bookmark sidebar's
// SidebarUI.currentID may be updated before the bookmark sidebar's
// document has finished loading. This sometimes happens when the
// sidebar is automatically shown when a new window is opened.
sidebarBrowser.addEventListener("load", menuTracker.onSidebarShown, {

View file

@ -82,8 +82,8 @@ this.sidebarAction = class extends ExtensionAPI {
}
for (let window of windowTracker.browserWindows()) {
let { SidebarController } = window;
SidebarController.removeSidebar(this.id);
let { SidebarUI } = window;
SidebarUI.removeExtension(this.id);
}
windowTracker.removeOpenListener(this.windowOpenListener);
}
@ -91,9 +91,9 @@ this.sidebarAction = class extends ExtensionAPI {
static onUninstall(id) {
const sidebarId = `${makeWidgetId(id)}-sidebar-action`;
for (let window of windowTracker.browserWindows()) {
let { SidebarController } = window;
if (SidebarController.lastOpenedId === sidebarId) {
SidebarController.lastOpenedId = null;
let { SidebarUI } = window;
if (SidebarUI.lastOpenedId === sidebarId) {
SidebarUI.lastOpenedId = null;
}
}
}
@ -107,12 +107,12 @@ this.sidebarAction = class extends ExtensionAPI {
let install = this.extension.startupReason === "ADDON_INSTALL";
for (let window of windowTracker.browserWindows()) {
this.updateWindow(window);
let { SidebarController } = window;
let { SidebarUI } = window;
if (
(install && this.extension.manifest.sidebar_action.open_at_install) ||
SidebarController.lastOpenedId == this.id
SidebarUI.lastOpenedId == this.id
) {
SidebarController.show(this.id);
SidebarUI.show(this.id);
}
}
}
@ -122,14 +122,14 @@ this.sidebarAction = class extends ExtensionAPI {
return;
}
this.panel = details.panel;
let { SidebarController } = window;
SidebarController.registerExtension(this.id, {
let { SidebarUI } = window;
SidebarUI.registerExtension(this.id, {
icon: this.getMenuIcon(details),
menuId: this.menuId,
title: details.title,
extensionId: this.extension.id,
onload: () =>
SidebarController.browser.contentWindow.loadPanel(
SidebarUI.browser.contentWindow.loadPanel(
this.extension.id,
this.panel,
this.browserStyle
@ -155,7 +155,7 @@ this.sidebarAction = class extends ExtensionAPI {
* Tab specific sidebar configuration.
*/
updateButton(window, tabData) {
let { document, SidebarController } = window;
let { document, SidebarUI } = window;
let title = tabData.title || this.extension.name;
if (!document.getElementById(this.menuId)) {
// Menu items are added when new windows are opened, or from onReady (when
@ -167,7 +167,7 @@ this.sidebarAction = class extends ExtensionAPI {
if (urlChanged) {
this.panel = tabData.panel;
}
SidebarController.setExtensionAttributes(
SidebarUI.setExtensionAttributes(
this.id,
{
icon: this.getMenuIcon(tabData),
@ -315,9 +315,9 @@ this.sidebarAction = class extends ExtensionAPI {
* @param {ChromeWindow} window
*/
triggerAction(window) {
let { SidebarController } = window;
if (SidebarController && this.extension.canAccessWindow(window)) {
SidebarController.toggle(this.id);
let { SidebarUI } = window;
if (SidebarUI && this.extension.canAccessWindow(window)) {
SidebarUI.toggle(this.id);
}
}
@ -327,9 +327,9 @@ this.sidebarAction = class extends ExtensionAPI {
* @param {ChromeWindow} window
*/
open(window) {
let { SidebarController } = window;
if (SidebarController && this.extension.canAccessWindow(window)) {
SidebarController.show(this.id);
let { SidebarUI } = window;
if (SidebarUI && this.extension.canAccessWindow(window)) {
SidebarUI.show(this.id);
}
}
@ -340,7 +340,7 @@ this.sidebarAction = class extends ExtensionAPI {
*/
close(window) {
if (this.isOpen(window)) {
window.SidebarController.hide();
window.SidebarUI.hide();
}
}
@ -350,15 +350,15 @@ this.sidebarAction = class extends ExtensionAPI {
* @param {ChromeWindow} window
*/
toggle(window) {
let { SidebarController } = window;
if (!SidebarController || !this.extension.canAccessWindow(window)) {
let { SidebarUI } = window;
if (!SidebarUI || !this.extension.canAccessWindow(window)) {
return;
}
if (!this.isOpen(window)) {
SidebarController.show(this.id);
SidebarUI.show(this.id);
} else {
SidebarController.hide();
SidebarUI.hide();
}
}
@ -369,8 +369,8 @@ this.sidebarAction = class extends ExtensionAPI {
* @returns {boolean}
*/
isOpen(window) {
let { SidebarController } = window;
return SidebarController.isOpen && this.id == SidebarController.currentID;
let { SidebarUI } = window;
return SidebarUI.isOpen && this.id == SidebarUI.currentID;
}
getAPI(context) {

View file

@ -401,11 +401,11 @@ add_task(async function updateSidebarCommand() {
await extension.awaitMessage("sidebar");
// Show and hide the switcher panel to generate the initial shortcuts.
let switcherShown = promisePopupShown(SidebarController._switcherPanel);
SidebarController.showSwitcherPanel();
let switcherShown = promisePopupShown(SidebarUI._switcherPanel);
SidebarUI.showSwitcherPanel();
await switcherShown;
let switcherHidden = promisePopupHidden(SidebarController._switcherPanel);
SidebarController.hideSwitcherPanel();
let switcherHidden = promisePopupHidden(SidebarUI._switcherPanel);
SidebarUI.hideSwitcherPanel();
await switcherHidden;
let menuitemId = `sidebarswitcher_menu_${makeWidgetId(

View file

@ -724,7 +724,7 @@ add_task(async function test_bookmark_sidebar_contextmenu() {
await extension.startup();
let bookmarkGuid = await extension.awaitMessage("bookmark-created");
let sidebar = window.SidebarController.browser;
let sidebar = window.SidebarUI.browser;
let menu = sidebar.contentDocument.getElementById("placesContext");
tree.selectItems([bookmarkGuid]);
let shown = BrowserTestUtils.waitForEvent(menu, "popupshown");

View file

@ -54,7 +54,7 @@ add_task(async function test_bookmark_sidebar_contextmenu() {
expectedVirtualID,
] of expected_bookmarkID_2_virtualID) {
info(`Testing context menu for Bookmark ID "${expectedBookmarkID}"`);
let sidebar = window.SidebarController.browser;
let sidebar = window.SidebarUI.browser;
let menu = sidebar.contentDocument.getElementById("placesContext");
tree.selectItems([expectedBookmarkID]);

View file

@ -189,9 +189,7 @@ add_task(async function overrideContext_permissions() {
// permissions.request requires user input, export helper.
await SpecialPowers.spawn(
SidebarController.browser.contentDocument.getElementById(
"webext-panels-browser"
),
SidebarUI.browser.contentDocument.getElementById("webext-panels-browser"),
[],
() => {
const { ExtensionCommon } = ChromeUtils.importESModule(
@ -214,9 +212,7 @@ add_task(async function overrideContext_permissions() {
await BrowserTestUtils.synthesizeMouseAtCenter(
"a",
{ type: "contextmenu" },
SidebarController.browser.contentDocument.getElementById(
"webext-panels-browser"
)
SidebarUI.browser.contentDocument.getElementById("webext-panels-browser")
);
} while (await extension.awaitMessage("continue_test"));

View file

@ -120,7 +120,7 @@ async function test_mousewheel_zoom(test) {
const sidebar = document.getElementById("sidebar-box");
ok(!sidebar.hidden, "Sidebar box is visible");
browser = SidebarController.browser.contentWindow.gBrowser.selectedBrowser;
browser = SidebarUI.browser.contentWindow.gBrowser.selectedBrowser;
} else if (test == TESTS.BROWSER_ACTION) {
browser = await openBrowserActionPanel(extension, undefined, true);
} else if (test == TESTS.PAGE_ACTION) {

View file

@ -136,16 +136,16 @@ add_task(async function test_openPopup_requires_user_interaction() {
{},
gBrowser.selectedBrowser
);
await TestUtils.waitForCondition(() => !SidebarController.isOpen);
await TestUtils.waitForCondition(() => !SidebarUI.isOpen);
await click("#toggleSidebarAction");
await TestUtils.waitForCondition(() => SidebarController.isOpen);
await TestUtils.waitForCondition(() => SidebarUI.isOpen);
await BrowserTestUtils.synthesizeMouseAtCenter(
"#toggleSidebarAction",
{},
gBrowser.selectedBrowser
);
await TestUtils.waitForCondition(() => !SidebarController.isOpen);
await TestUtils.waitForCondition(() => !SidebarUI.isOpen);
BrowserTestUtils.removeTab(gBrowser.selectedTab);
await extension.unload();

View file

@ -154,7 +154,7 @@ add_task(async function sidebar_isOpen() {
info("Test extension1's sidebar is opened on install");
await extension1.awaitMessage("sidebar");
await sendMessage(extension1, "isOpen", { result: true });
let sidebar1ID = SidebarController.currentID;
let sidebar1ID = SidebarUI.currentID;
info("Load extension2");
let extension2 = ExtensionTestUtils.loadExtension(getExtData());
@ -166,7 +166,7 @@ add_task(async function sidebar_isOpen() {
await sendMessage(extension2, "isOpen", { result: true });
info("Switch back to extension1's sidebar");
SidebarController.show(sidebar1ID);
SidebarUI.show(sidebar1ID);
await extension1.awaitMessage("sidebar");
await sendMessage(extension1, "isOpen", { result: true });
await sendMessage(extension2, "isOpen", { result: false });
@ -201,7 +201,7 @@ add_task(async function sidebar_isOpen() {
newWin.close();
info("Close the sidebar in the original window");
SidebarController.hide();
SidebarUI.hide();
await sendMessage(extension1, "isOpen", { result: false });
await sendMessage(extension2, "isOpen", { result: false });
@ -229,15 +229,11 @@ add_task(async function testShortcuts() {
async function toggleSwitcherPanel(win = window) {
// Open and close the switcher panel to trigger shortcut content rendering.
let switcherPanelShown = promisePopupShown(
win.SidebarController._switcherPanel
);
win.SidebarController.showSwitcherPanel();
let switcherPanelShown = promisePopupShown(win.SidebarUI._switcherPanel);
win.SidebarUI.showSwitcherPanel();
await switcherPanelShown;
let switcherPanelHidden = promisePopupHidden(
win.SidebarController._switcherPanel
);
win.SidebarController.hideSwitcherPanel();
let switcherPanelHidden = promisePopupHidden(win.SidebarUI._switcherPanel);
win.SidebarUI.hideSwitcherPanel();
await switcherPanelHidden;
}
@ -320,22 +316,20 @@ add_task(async function sidebar_switcher_panel_icon_update() {
info("Test extension's sidebar is opened on install");
await extension.awaitMessage("sidebar");
await sendMessage(extension, "isOpen", { result: true });
const sidebarID = SidebarController.currentID;
const sidebarID = SidebarUI.currentID;
const item = SidebarController._switcherPanel.querySelector(
".webextension-menuitem"
);
const item = SidebarUI._switcherPanel.querySelector(".webextension-menuitem");
let iconUrl = `moz-extension://${extension.uuid}/default.png`;
is(
item.style.getPropertyValue("--webextension-menuitem-image"),
`image-set(url("${iconUrl}"), url("${iconUrl}") 2x)`,
"Extension has the correct icon."
);
SidebarController.hide();
SidebarUI.hide();
await sendMessage(extension, "isOpen", { result: false });
await sendMessage(extension, "set-icon", "1.png");
await SidebarController.show(sidebarID);
await SidebarUI.show(sidebarID);
await extension.awaitMessage("sidebar");
await sendMessage(extension, "isOpen", { result: true });
iconUrl = `moz-extension://${extension.uuid}/1.png`;

View file

@ -54,7 +54,7 @@ add_task(async function test_sidebar_click_isAppTab_behavior() {
await extension.awaitMessage("sidebar-ready");
// This test fails if docShell.isAppTab has not been set to true.
let content = SidebarController.browser.contentWindow;
let content = SidebarUI.browser.contentWindow;
// Wait for the layout to be flushed, otherwise this test may
// fail intermittently if synthesizeMouseAtCenter is being called

View file

@ -124,7 +124,7 @@ async function runTests(options) {
});
// Wait for initial sidebar load.
SidebarController.browser.addEventListener(
SidebarUI.browser.addEventListener(
"load",
async () => {
// Wait for the background page listeners to be ready and

View file

@ -42,7 +42,7 @@ add_task(async function sidebar_httpAuthPrompt() {
// Wait for the http auth prompt and close it with accept button.
let promptPromise = PromptTestUtils.handleNextPrompt(
SidebarController.browser.contentWindow,
SidebarUI.browser.contentWindow,
{
modalType: Services.prompt.MODAL_TYPE_WINDOW,
promptType: "promptUserAndPass",

View file

@ -124,14 +124,11 @@ add_task(async function test_sidebarAction_not_allowed() {
await extension.startup();
let sidebarID = `${makeWidgetId(extension.id)}-sidebar-action`;
ok(
SidebarController.sidebars.has(sidebarID),
"sidebar exists in non-private window"
);
ok(SidebarUI.sidebars.has(sidebarID), "sidebar exists in non-private window");
let winData = await getIncognitoWindow();
let hasSidebar = winData.win.SidebarController.sidebars.has(sidebarID);
let hasSidebar = winData.win.SidebarUI.sidebars.has(sidebarID);
ok(!hasSidebar, "sidebar does not exist in private window");
// Test API access to private window data.
extension.sendMessage(winData.details);

View file

@ -52,10 +52,9 @@ add_task(async function test_sidebar_disconnect() {
await connected;
// Bug 1445080 fixes currentURI, test to avoid future breakage.
let currentURI =
window.SidebarController.browser.contentDocument.getElementById(
"webext-panels-browser"
).currentURI;
let currentURI = window.SidebarUI.browser.contentDocument.getElementById(
"webext-panels-browser"
).currentURI;
is(currentURI.scheme, "moz-extension", "currentURI is set correctly");
// switching sidebar to another extension
@ -69,7 +68,7 @@ add_task(async function test_sidebar_disconnect() {
// switching sidebar to built-in sidebar
let disconnected = extension2.awaitMessage("disconnected");
window.SidebarController.show("viewBookmarksSidebar");
window.SidebarUI.show("viewBookmarksSidebar");
await disconnected;
await extension.unload();

View file

@ -49,7 +49,7 @@ add_task(async function sidebar_windows() {
let secondSidebar = extension.awaitMessage("sidebar");
// SidebarController relies on window.opener being set, which is normal behavior when
// SidebarUI relies on window.opener being set, which is normal behavior when
// using menu or key commands to open a new browser window.
let win = await BrowserTestUtils.openNewBrowserWindow();

View file

@ -476,11 +476,10 @@ async function openContextMenuInPopup(
}
async function openContextMenuInSidebar(selector = "body") {
let contentAreaContextMenu =
SidebarController.browser.contentDocument.getElementById(
"contentAreaContextMenu"
);
let browser = SidebarController.browser.contentDocument.getElementById(
let contentAreaContextMenu = SidebarUI.browser.contentDocument.getElementById(
"contentAreaContextMenu"
);
let browser = SidebarUI.browser.contentDocument.getElementById(
"webext-panels-browser"
);
let popupShownPromise = BrowserTestUtils.waitForEvent(
@ -492,9 +491,7 @@ async function openContextMenuInSidebar(selector = "body") {
// fail intermittently if synthesizeMouseAtCenter is being called
// while the sidebar is still opening and the browser window layout
// being recomputed.
await SidebarController.browser.contentWindow.promiseDocumentFlushed(
() => {}
);
await SidebarUI.browser.contentWindow.promiseDocumentFlushed(() => {});
info("Opening context menu in sidebarAction panel");
await BrowserTestUtils.synthesizeMouseAtCenter(

View file

@ -1436,7 +1436,7 @@ PlacesController.prototype = {
let documentUrl = document.documentURI.toLowerCase();
if (documentUrl.endsWith("browser.xhtml")) {
// We're in a menu or a panel.
window.SidebarController._show("viewBookmarksSidebar").then(() => {
window.SidebarUI._show("viewBookmarksSidebar").then(() => {
let theSidebar = document.getElementById("sidebar");
theSidebar.contentDocument
.getElementById("bookmarks-view")

View file

@ -386,9 +386,7 @@ add_task(async function test_sidebar_folder_contextmenu_contents() {
tree.selectItems([folder.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -398,7 +396,7 @@ add_task(async function test_sidebar_folder_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -432,9 +430,7 @@ add_task(async function test_sidebar_multiple_folders_contextmenu_contents() {
tree.selectItems([folder1.guid, folder2.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -444,7 +440,7 @@ add_task(async function test_sidebar_multiple_folders_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -477,9 +473,7 @@ add_task(async function test_sidebar_bookmark_contextmenu_contents() {
tree.selectItems([bookmark.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -489,7 +483,7 @@ add_task(async function test_sidebar_bookmark_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -519,17 +513,13 @@ add_task(async function test_sidebar_bookmark_search_contextmenu_contents() {
info("Checking bookmark sidebar menu contents in search context");
// Perform a search first
let searchBox =
SidebarController.browser.contentDocument.getElementById(
"search-box"
);
SidebarUI.browser.contentDocument.getElementById("search-box");
searchBox.value = SECOND_BOOKMARK_TITLE;
searchBox.doCommand();
tree.selectItems([bookmark.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -539,7 +529,7 @@ add_task(async function test_sidebar_bookmark_search_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -651,9 +641,7 @@ add_task(async function test_sidebar_mixedselection_contextmenu_contents() {
tree.selectItems([bookmark.guid, folder.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -663,7 +651,7 @@ add_task(async function test_sidebar_mixedselection_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -691,9 +679,7 @@ add_task(async function test_sidebar_multiple_bookmarks_contextmenu_contents() {
tree.selectItems([bookmark.guid, bookmark2.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -703,7 +689,7 @@ add_task(async function test_sidebar_multiple_bookmarks_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -728,9 +714,7 @@ add_task(async function test_sidebar_multiple_links_contextmenu_contents() {
tree.selectAll();
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -740,7 +724,7 @@ add_task(async function test_sidebar_multiple_links_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});
@ -766,9 +750,7 @@ add_task(async function test_sidebar_mixed_bookmarks_contextmenu_contents() {
tree.selectItems([bookmark.guid, folder.guid]);
let contextMenu =
SidebarController.browser.contentDocument.getElementById(
"placesContext"
);
SidebarUI.browser.contentDocument.getElementById("placesContext");
let popupShownPromise = BrowserTestUtils.waitForEvent(
contextMenu,
"popupshown"
@ -778,7 +760,7 @@ add_task(async function test_sidebar_mixed_bookmarks_contextmenu_contents() {
return contextMenu;
},
optionItems,
SidebarController.browser.contentDocument
SidebarUI.browser.contentDocument
);
});
});

View file

@ -156,7 +156,7 @@ gTests.push({
},
finish() {
SidebarController.hide();
SidebarUI.hide();
},
async cleanup() {
@ -282,7 +282,7 @@ gTests.push({
},
finish() {
SidebarController.hide();
SidebarUI.hide();
},
async cleanup() {
@ -399,7 +399,7 @@ gTests.push({
},
finish() {
SidebarController.hide();
SidebarUI.hide();
},
async cleanup() {
@ -450,7 +450,7 @@ function execute_test_in_sidebar(test) {
},
{ capture: true, once: true }
);
SidebarController.show(test.sidebar);
SidebarUI.show(test.sidebar);
});
}

View file

@ -32,7 +32,7 @@ add_task(async function test() {
let sidebar = await promiseLoadedSidebar("viewBookmarksSidebar");
registerCleanupFunction(() => {
SidebarController.hide();
SidebarUI.hide();
});
// Focus the tree and check if its controller is returned.
@ -109,6 +109,6 @@ function promiseLoadedSidebar(cmd) {
{ capture: true, once: true }
);
SidebarController.show(cmd);
SidebarUI.show(cmd);
});
}

View file

@ -11,7 +11,7 @@
registerCleanupFunction(async () => {
CustomizableUI.setToolbarVisibility("PersonalToolbar", false);
CustomizableUI.removeWidgetFromArea("library-button");
SidebarController.hide();
SidebarUI.hide();
});
async function selectAppMenuView(buttonId, viewId) {

View file

@ -30,9 +30,9 @@ add_setup(async function () {
add_task(async function test_open_sidebar_and_customize() {
await withSidebarTree("bookmarks", async tree => {
async function checkTreeIsFunctional() {
Assert.ok(SidebarController.isOpen, "Sidebar is open");
Assert.ok(SidebarUI.isOpen, "Sidebar is open");
Assert.ok(
BrowserTestUtils.isVisible(SidebarController.browser),
BrowserTestUtils.isVisible(SidebarUI.browser),
"sidebar browser is visible"
);
Assert.ok(tree.view.result, "View result is defined");
@ -49,7 +49,7 @@ add_task(async function test_open_sidebar_and_customize() {
await promiseCustomizeStart();
Assert.ok(
!BrowserTestUtils.isVisible(SidebarController.browser),
!BrowserTestUtils.isVisible(SidebarUI.browser),
"sidebar browser is hidden"
);
Assert.ok(tree.view.result, "View result is defined");

View file

@ -31,7 +31,7 @@ add_task(async function test_sidebarpanels_click() {
false,
"Unexpected sidebar found - a previous test failed to cleanup correctly"
);
SidebarController.hide();
SidebarUI.hide();
}
// Ensure history is clean before starting the test.
@ -137,7 +137,7 @@ async function testPlacesPanel(testInfo) {
await promiseAlert;
executeSoon(async function () {
SidebarController.hide();
SidebarUI.hide();
await testInfo.cleanup();
resolve();
});
@ -147,7 +147,7 @@ async function testPlacesPanel(testInfo) {
);
});
SidebarController.show(testInfo.sidebarName);
SidebarUI.show(testInfo.sidebarName);
return promise;
}

View file

@ -11,7 +11,7 @@ const TEST_TITLE = "Test Bookmark";
let appMenuButton = document.getElementById("PanelUI-menu-button");
let bookmarksAppMenu = document.getElementById("PanelUI-bookmarks");
let sidebarWasAlreadyOpen = SidebarController.isOpen;
let sidebarWasAlreadyOpen = SidebarUI.isOpen;
const { CustomizableUITestUtils } = ChromeUtils.importESModule(
"resource://testing-common/CustomizableUITestUtils.sys.mjs"
@ -86,7 +86,7 @@ add_task(async function toolbarBookmarkShowInFolder() {
// Cleanup
await PlacesUtils.bookmarks.eraseEverything();
if (!sidebarWasAlreadyOpen) {
SidebarController.hide();
SidebarUI.hide();
}
await gCUITestUtils.hideMainMenu();
});

View file

@ -28,9 +28,9 @@ add_task(async function () {
let promiseSidebarLoaded = new Promise(resolve => {
sidebar.addEventListener("load", resolve, { capture: true, once: true });
});
SidebarController.show("viewBookmarksSidebar");
SidebarUI.show("viewBookmarksSidebar");
registerCleanupFunction(() => {
SidebarController.hide();
SidebarUI.hide();
});
await promiseSidebarLoaded;

View file

@ -395,7 +395,7 @@ var withSidebarTree = async function (type, taskFn) {
});
let sidebarId =
type == "bookmarks" ? "viewBookmarksSidebar" : "viewHistorySidebar";
SidebarController.show(sidebarId);
SidebarUI.show(sidebarId);
await sidebarLoadedPromise;
let treeId = type == "bookmarks" ? "bookmarks-view" : "historyTree";
@ -406,7 +406,7 @@ var withSidebarTree = async function (type, taskFn) {
try {
await taskFn(tree);
} finally {
SidebarController.hide();
SidebarUI.hide();
}
};

View file

@ -213,7 +213,7 @@ export const ResetPBMPanel = {
});
// In the remaining PBM window: If the sidebar is open close it.
triggeringWindow.SidebarController?.hide();
triggeringWindow.SidebarUI?.hide();
// Clear session store data for the remaining PBM window.
lazy.SessionStore.purgeDataForPrivateWindow(triggeringWindow);

View file

@ -682,23 +682,23 @@ add_task(async function test_reset_action_closes_sidebar() {
info(
"Open the sidebar of both the private browsing window and the normal browsing window."
);
await SidebarController.show("viewBookmarksSidebar");
await win.SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
await win.SidebarUI.show("viewBookmarksSidebar");
info("Trigger the restart PBM action");
await ResetPBMPanel._restartPBM(win);
Assert.ok(
SidebarController.isOpen,
SidebarUI.isOpen,
"Normal browsing window sidebar should still be open."
);
Assert.ok(
!win.SidebarController.isOpen,
!win.SidebarUI.isOpen,
"Private browsing sidebar should be closed."
);
// Cleanup: Close the sidebar of the normal browsing window.
SidebarController.hide();
SidebarUI.hide();
// Cleanup: Close the private window that remained open.
await BrowserTestUtils.closeWindow(win);

View file

@ -12,7 +12,7 @@ function test() {
// opens a sidebar
function openSidebar(win) {
return win.SidebarController.show("viewBookmarksSidebar").then(() => win);
return win.SidebarUI.show("viewBookmarksSidebar").then(() => win);
}
let windowCache = [];

View file

@ -5728,7 +5728,7 @@ var SessionStoreInternal = {
(sidebarBox.getAttribute("sidebarcommand") != aSidebar ||
!sidebarBox.getAttribute("checked"))
) {
aWindow.SidebarController.showInitially(aSidebar);
aWindow.SidebarUI.showInitially(aSidebar);
}
// since resizing/moving a window brings it to the foreground,
// we might want to re-focus the last focused window

View file

@ -3,11 +3,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/**
* SidebarController handles logic such as toggling sidebar panels,
* dynamically adding menubar menu items for the View -> Sidebar menu,
* and provides APIs for sidebar extensions, etc.
* SidebarUI controls showing and hiding the browser sidebar.
*/
var SidebarController = {
var SidebarUI = {
get sidebars() {
if (this._sidebars) {
return this._sidebars;
@ -136,8 +134,8 @@ var SidebarController = {
}
if (this.sidebarRevampEnabled) {
await import("chrome://browser/content/sidebar/sidebar-main.mjs");
document.getElementById("sidebar-main").hidden = false;
await import("chrome://browser/content/sidebar/sidebar-launcher.mjs");
document.getElementById("sidebar-launcher").hidden = false;
document.getElementById("sidebar-header").hidden = true;
} else {
this._switcherTarget.addEventListener("command", () => {
@ -353,30 +351,30 @@ var SidebarController = {
[...browser.children].forEach((node, i) => {
node.style.order = i + 1;
});
let sidebarMain = document.querySelector("sidebar-main");
let sidebarLauncher = document.querySelector("sidebar-launcher");
if (!this._positionStart) {
// DOM ordering is: sidebar-main | sidebar-box | splitter | appcontent |
// Want to display as: | appcontent | splitter | sidebar-box | sidebar-main
// So we just swap box and appcontent ordering and move sidebar-main to the end
// DOM ordering is: sidebar-launcher | sidebar-box | splitter | appcontent |
// Want to display as: | appcontent | splitter | sidebar-box | sidebar-launcher
// So we just swap box and appcontent ordering and move sidebar-launcher to the end
let appcontent = document.getElementById("appcontent");
let boxOrdinal = this._box.style.order;
this._box.style.order = appcontent.style.order;
appcontent.style.order = boxOrdinal;
// the launcher should be on the right of the sidebar-box
sidebarMain.style.order = parseInt(this._box.style.order) + 1;
sidebarLauncher.style.order = parseInt(this._box.style.order) + 1;
// Indicate we've switched ordering to the box
this._box.setAttribute("positionend", true);
sidebarMain.setAttribute("positionend", true);
sidebarLauncher.setAttribute("positionend", true);
} else {
this._box.removeAttribute("positionend");
sidebarMain.removeAttribute("positionend");
sidebarLauncher.removeAttribute("positionend");
}
this.hideSwitcherPanel();
let content = SidebarController.browser.contentWindow;
let content = SidebarUI.browser.contentWindow;
if (content && content.updatePosition) {
content.updatePosition();
}
@ -393,7 +391,7 @@ var SidebarController = {
// If the opener had a sidebar, open the same sidebar in our window.
// The opener can be the hidden window too, if we're coming from the state
// where no windows are open, and the hidden window has no sidebar box.
let sourceUI = sourceWindow.SidebarController;
let sourceUI = sourceWindow.SidebarUI;
if (!sourceUI || !sourceUI._box) {
// no source UI or no _box means we also can't adopt the state.
return false;
@ -906,14 +904,14 @@ var SidebarController = {
// Add getters related to the position here, since we will want them
// available for both startDelayedLoad and init.
XPCOMUtils.defineLazyPreferenceGetter(
SidebarController,
SidebarUI,
"_positionStart",
SidebarController.POSITION_START_PREF,
SidebarUI.POSITION_START_PREF,
true,
SidebarController.setPosition.bind(SidebarController)
SidebarUI.setPosition.bind(SidebarUI)
);
XPCOMUtils.defineLazyPreferenceGetter(
SidebarController,
SidebarUI,
"sidebarRevampEnabled",
"sidebar.revamp",
false

View file

@ -4,8 +4,8 @@
browser.jar:
content/browser/sidebar/browser-sidebar.js
content/browser/sidebar/sidebar-main.css
content/browser/sidebar/sidebar-main.mjs
content/browser/sidebar/sidebar-launcher.css
content/browser/sidebar/sidebar-launcher.mjs
content/browser/sidebar/sidebar-history.html
content/browser/sidebar/sidebar-history.mjs
content/browser/sidebar/sidebar-page.mjs

View file

@ -13,10 +13,11 @@ import { MozLitElement } from "chrome://global/content/lit-utils.mjs";
import "chrome://global/content/elements/moz-button.mjs";
/**
* Sidebar with expanded and collapsed states that provides entry points
* to various sidebar panels and sidebar extensions.
* Vertical strip attached to the launcher that provides an entry point
* to various sidebar panels.
*
*/
export default class SidebarMain extends MozLitElement {
export default class SidebarLauncher extends MozLitElement {
static properties = {
topActions: { type: Array },
extensionActions: { type: Array },
@ -35,7 +36,7 @@ export default class SidebarMain extends MozLitElement {
{
icon: `url("chrome://browser/skin/insights.svg")`,
view: null,
l10nId: "sidebar-main-insights",
l10nId: "sidebar-launcher-insights",
},
];
this.extensionActions = [];
@ -57,8 +58,8 @@ export default class SidebarMain extends MozLitElement {
},
];
this.selectedView = window.SidebarController.currentID;
this.open = window.SidebarController.isOpen;
this.selectedView = window.SidebarUI.currentID;
this.open = window.SidebarUI.isOpen;
}
connectedCallback() {
@ -105,7 +106,7 @@ export default class SidebarMain extends MozLitElement {
}
setExtensionItems() {
this.extensionActions = window.SidebarController.getExtensions().map(
this.extensionActions = window.SidebarUI.getExtensions().map(
({ commandID, icon, label }) => ({
tooltiptext: label,
icon,
@ -133,7 +134,7 @@ export default class SidebarMain extends MozLitElement {
showView(e) {
let view = e.target.getAttribute("view");
window.SidebarController.toggle(view);
window.SidebarUI.toggle(view);
}
buttonType(action) {
@ -159,7 +160,7 @@ export default class SidebarMain extends MozLitElement {
return html`
<link
rel="stylesheet"
href="chrome://browser/content/sidebar/sidebar-main.css"
href="chrome://browser/content/sidebar/sidebar-launcher.css"
/>
<div class="wrapper">
<div class="top-actions actions-list">
@ -177,4 +178,4 @@ export default class SidebarMain extends MozLitElement {
`;
}
}
customElements.define("sidebar-main", SidebarMain);
customElements.define("sidebar-launcher", SidebarLauncher);

View file

@ -2,7 +2,7 @@
# 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/.
sidebar-main-insights =
sidebar-launcher-insights =
.title = Insights
## Variables:

View file

@ -83,7 +83,7 @@ add_task(async function test_extension_sidebar_actions() {
// await one "sidebar" message.
const win = await BrowserTestUtils.openNewBrowserWindow();
const { document } = win;
const sidebar = document.getElementById("sidebar-main");
const sidebar = document.getElementById("sidebar-launcher");
ok(sidebar, "Sidebar is shown.");
const extension = ExtensionTestUtils.loadExtension({ ...extData });
@ -121,7 +121,7 @@ add_task(async function test_extension_sidebar_actions() {
await sendMessage(extension, "set-panel", "1.html");
const panelUrl = `moz-extension://${extension.uuid}/1.html`;
await TestUtils.waitForCondition(() => {
const browser = SidebarController.browser.contentDocument.getElementById(
const browser = SidebarUI.browser.contentDocument.getElementById(
"webext-panels-browser"
);
return browser.currentURI.spec === panelUrl;
@ -144,7 +144,7 @@ add_task(async function test_open_new_window_after_install() {
const win = await BrowserTestUtils.openNewBrowserWindow();
const { document } = win;
const sidebar = document.getElementById("sidebar-main");
const sidebar = document.getElementById("sidebar-launcher");
ok(sidebar, "Sidebar is shown.");
await extension.awaitMessage("sidebar");
is(
@ -172,7 +172,7 @@ add_task(async function test_open_new_private_window_after_install() {
private: true,
});
const { document } = privateWin;
const sidebar = document.getElementById("sidebar-main");
const sidebar = document.getElementById("sidebar-launcher");
ok(sidebar, "Sidebar is shown.");
await TestUtils.waitForCondition(
() => sidebar.extensionButtons,

View file

@ -91,28 +91,28 @@ function setupSyncedTabsStubs({
async function testClean() {
sinon.restore();
await new Promise(resolve => {
window.SidebarController.browser.contentWindow.addEventListener(
window.SidebarUI.browser.contentWindow.addEventListener(
"unload",
function () {
resolve();
},
{ once: true }
);
SidebarController.hide();
SidebarUI.hide();
});
}
add_task(async function testSyncedTabsSidebarList() {
await SidebarController.show("viewTabsSidebar");
await SidebarUI.show("viewTabsSidebar");
Assert.equal(
SidebarController.currentID,
SidebarUI.currentID,
"viewTabsSidebar",
"Sidebar should have SyncedTabs loaded"
);
let syncedTabsDeckComponent =
SidebarController.browser.contentWindow.syncedTabsDeckComponent;
SidebarUI.browser.contentWindow.syncedTabsDeckComponent;
Assert.ok(syncedTabsDeckComponent, "component exists");
@ -172,9 +172,9 @@ add_task(async function testSyncedTabsSidebarList() {
add_task(testClean);
add_task(async function testSyncedTabsSidebarFilteredList() {
await SidebarController.show("viewTabsSidebar");
await SidebarUI.show("viewTabsSidebar");
let syncedTabsDeckComponent =
window.SidebarController.browser.contentWindow.syncedTabsDeckComponent;
window.SidebarUI.browser.contentWindow.syncedTabsDeckComponent;
Assert.ok(syncedTabsDeckComponent, "component exists");
@ -244,9 +244,9 @@ add_task(async function testSyncedTabsSidebarFilteredList() {
add_task(testClean);
add_task(async function testSyncedTabsSidebarStatus() {
await SidebarController.show("viewTabsSidebar");
await SidebarUI.show("viewTabsSidebar");
let syncedTabsDeckComponent =
window.SidebarController.browser.contentWindow.syncedTabsDeckComponent;
window.SidebarUI.browser.contentWindow.syncedTabsDeckComponent;
Assert.ok(syncedTabsDeckComponent, "component exists");
@ -377,9 +377,9 @@ add_task(async function testSyncedTabsSidebarStatus() {
add_task(testClean);
add_task(async function testSyncedTabsSidebarContextMenu() {
await SidebarController.show("viewTabsSidebar");
await SidebarUI.show("viewTabsSidebar");
let syncedTabsDeckComponent =
window.SidebarController.browser.contentWindow.syncedTabsDeckComponent;
window.SidebarUI.browser.contentWindow.syncedTabsDeckComponent;
Assert.ok(syncedTabsDeckComponent, "component exists");
@ -547,8 +547,7 @@ async function testContextMenu(
let chromeWindow = triggerElement.ownerGlobal.top;
let rect = triggerElement.getBoundingClientRect();
let contentRect =
chromeWindow.SidebarController.browser.getBoundingClientRect();
let contentRect = chromeWindow.SidebarUI.browser.getBoundingClientRect();
// The offsets in `rect` are relative to the content window, but
// `synthesizeMouseAtPoint` calls `nsIDOMWindowUtils.sendMouseEvent`,
// which interprets the offsets relative to the containing *chrome* window.

View file

@ -134,7 +134,7 @@ var gBuiltInInputs = {
type: kInputTypes.BUTTON,
callback: () => {
let win = lazy.BrowserWindowTracker.getTopWindow();
win.SidebarController.toggle();
win.SidebarUI.toggle();
},
},
AddBookmark: {

View file

@ -590,7 +590,7 @@ add_task(async function webextension() {
// Clear the last opened ID so if this test runs again the sidebar won't
// automatically open when the extension is installed.
window.SidebarController.lastOpenedId = null;
window.SidebarUI.lastOpenedId = null;
// The second should retain its ID.
click("random_addon2_example_com-browser-action");

View file

@ -103,12 +103,12 @@ add_task(async function () {
// Tests focusing the sidebar, which is in a parent process subframe
// and then switching the focus to another window.
add_task(async function () {
await SidebarController.show("viewBookmarksSidebar");
await SidebarUI.show("viewBookmarksSidebar");
gURLBar.focus();
// Focus the sidebar.
await SimpleTest.promiseFocus(SidebarController.browser);
await SimpleTest.promiseFocus(SidebarUI.browser);
is(
document.activeElement,
document.getElementById("sidebar"),
@ -120,7 +120,7 @@ add_task(async function () {
);
// Focus the sidebar again, which should cause no change.
await SimpleTest.promiseFocus(SidebarController.browser);
await SimpleTest.promiseFocus(SidebarUI.browser);
is(
document.activeElement,
document.getElementById("sidebar"),
@ -156,5 +156,5 @@ add_task(async function () {
);
await BrowserTestUtils.closeWindow(window2);
await SidebarController.hide();
await SidebarUI.hide();
});

View file

@ -449,7 +449,7 @@ export class ExtensionShortcuts {
}
doc.documentElement.appendChild(keyset);
if (sidebarKey) {
window.SidebarController.updateShortcut({ keyId: sidebarKey.id });
window.SidebarUI.updateShortcut({ keyId: sidebarKey.id });
}
this.keysetsMap.set(window, keyset);
}

View file

@ -139,9 +139,7 @@ add_task(async function test_getcurrent_privateBrowsing() {
"resource://gre/modules/ExtensionCommon.sys.mjs"
);
const { makeWidgetId } = ExtensionCommon;
privateWin.SidebarController.show(
`${makeWidgetId(extension.id)}-sidebar-action`
);
privateWin.SidebarUI.show(`${makeWidgetId(extension.id)}-sidebar-action`);
let imageLoaded = extension.awaitMessage("theme-image");
Assert.deepEqual(await imageLoaded, { success: true }, "theme image loaded");

View file

@ -17,7 +17,7 @@ async function test_sidebar_theme(theme, isBrightText) {
const sidebarBox = document.getElementById("sidebar-box");
const browserRoot = document.documentElement;
const content = SidebarController.browser.contentWindow;
const content = SidebarUI.browser.contentWindow;
const root = content.document.documentElement;
ok(
@ -184,7 +184,7 @@ add_task(async function test_support_sidebar_colors() {
for (let command of ["viewBookmarksSidebar", "viewHistorySidebar"]) {
info("Executing command: " + command);
await SidebarController.show(command);
await SidebarUI.show(command);
await test_sidebar_theme(
{
@ -263,7 +263,7 @@ add_task(async function test_support_sidebar_border_color() {
"Sidebar splitter should be colored properly"
);
SidebarController.reversePosition();
SidebarUI.reversePosition();
is(
sidebarSplitterCS.borderInlineStartColor,
@ -271,7 +271,7 @@ add_task(async function test_support_sidebar_border_color() {
"Sidebar splitter should be colored properly after switching sides"
);
SidebarController.reversePosition();
SidebarUI.reversePosition();
}
await extension.unload();

View file

@ -12,7 +12,7 @@ add_task(async function test_search_input_popupshowing() {
let sidebar = document.getElementById("sidebar");
let loadPromise = BrowserTestUtils.waitForEvent(sidebar, "load", true);
SidebarController.toggle("viewBookmarksSidebar");
SidebarUI.toggle("viewBookmarksSidebar");
await loadPromise;
let inputField =
@ -45,5 +45,5 @@ add_task(async function test_search_input_popupshowing() {
popup.hidePopup();
await popuphidden;
SidebarController.toggle("viewBookmarksSidebar");
SidebarUI.toggle("viewBookmarksSidebar");
});