chore: Format with only a maximum of 10 columns, b=(no-bug), c=workflows, common, compact-mode, folders, glance, kbs, media, mods, split-view, tabs, tests, workspaces, welcome

This commit is contained in:
Mr. M
2025-05-10 21:22:16 +02:00
parent 1f68a45417
commit 7b99f227cd
57 changed files with 5118 additions and 1336 deletions

View File

@@ -10,7 +10,10 @@ add_task(async function test_Check_Creation() {
await ZenWorkspaces.createAndSaveWorkspace('Test Workspace 2');
const workspaces = await ZenWorkspaces._workspaces();
ok(workspaces.workspaces.length === 2, 'Two workspaces should exist.');
ok(currentWorkspaceUUID !== workspaces.workspaces[1].uuid, 'The new workspace should be different from the current one.');
ok(
currentWorkspaceUUID !== workspaces.workspaces[1].uuid,
'The new workspace should be different from the current one.'
);
let newTab = BrowserTestUtils.addTab(gBrowser, 'about:blank', {
skipAnimation: true,
@@ -22,6 +25,9 @@ add_task(async function test_Check_Creation() {
await ZenWorkspaces.removeWorkspace(ZenWorkspaces.activeWorkspace);
const workspacesAfterRemove = await ZenWorkspaces._workspaces();
ok(workspacesAfterRemove.workspaces.length === 1, 'One workspace should exist.');
ok(workspacesAfterRemove.workspaces[0].uuid === currentWorkspaceUUID, 'The workspace should be the one we started with.');
ok(
workspacesAfterRemove.workspaces[0].uuid === currentWorkspaceUUID,
'The workspace should be the one we started with.'
);
ok(gBrowser.tabs.length === 2, 'There should be one tab.');
});

View File

@@ -11,13 +11,25 @@ const ROOT = getRootDirectory(gTestPath);
const HTTPROOT = ROOT.replace('chrome://mochitests/content/', 'http://example.com/');
const HTTPSROOT = ROOT.replace('chrome://mochitests/content/', 'https://example.com/');
const { SessionSaver } = ChromeUtils.importESModule('resource:///modules/sessionstore/SessionSaver.sys.mjs');
const { SessionFile } = ChromeUtils.importESModule('resource:///modules/sessionstore/SessionFile.sys.mjs');
const { TabState } = ChromeUtils.importESModule('resource:///modules/sessionstore/TabState.sys.mjs');
const { TabStateFlusher } = ChromeUtils.importESModule('resource:///modules/sessionstore/TabStateFlusher.sys.mjs');
const { SessionStoreTestUtils } = ChromeUtils.importESModule('resource://testing-common/SessionStoreTestUtils.sys.mjs');
const { SessionSaver } = ChromeUtils.importESModule(
'resource:///modules/sessionstore/SessionSaver.sys.mjs'
);
const { SessionFile } = ChromeUtils.importESModule(
'resource:///modules/sessionstore/SessionFile.sys.mjs'
);
const { TabState } = ChromeUtils.importESModule(
'resource:///modules/sessionstore/TabState.sys.mjs'
);
const { TabStateFlusher } = ChromeUtils.importESModule(
'resource:///modules/sessionstore/TabStateFlusher.sys.mjs'
);
const { SessionStoreTestUtils } = ChromeUtils.importESModule(
'resource://testing-common/SessionStoreTestUtils.sys.mjs'
);
const { PageWireframes } = ChromeUtils.importESModule('resource:///modules/sessionstore/PageWireframes.sys.mjs');
const { PageWireframes } = ChromeUtils.importESModule(
'resource:///modules/sessionstore/PageWireframes.sys.mjs'
);
const ss = SessionStore;
SessionStoreTestUtils.init(this, window);
@@ -47,7 +59,12 @@ function provideWindow(aCallback, aURL, aFeatures) {
});
}
let win = openDialog(AppConstants.BROWSER_CHROME_URL, '', aFeatures || 'chrome,all,dialog=no', aURL || 'about:blank');
let win = openDialog(
AppConstants.BROWSER_CHROME_URL,
'',
aFeatures || 'chrome,all,dialog=no',
aURL || 'about:blank'
);
whenWindowLoaded(win, function onWindowLoaded(aWin) {
if (!aURL) {
info('Loaded a blank window.');
@@ -85,11 +102,15 @@ function promiseTabState(tab, state) {
}
function promiseWindowRestoring(win) {
return new Promise((resolve) => win.addEventListener('SSWindowRestoring', resolve, { once: true }));
return new Promise((resolve) =>
win.addEventListener('SSWindowRestoring', resolve, { once: true })
);
}
function promiseWindowRestored(win) {
return new Promise((resolve) => win.addEventListener('SSWindowRestored', resolve, { once: true }));
return new Promise((resolve) =>
win.addEventListener('SSWindowRestored', resolve, { once: true })
);
}
async function setBrowserState(state, win = window) {
@@ -426,37 +447,45 @@ function modifySessionStorage(browser, storageData, storageOptions = {}) {
browsingContext = browsingContext.children[storageOptions.frameIndex];
}
return SpecialPowers.spawn(browsingContext, [[storageData, storageOptions]], async function ([data]) {
let frame = content;
let keys = new Set(Object.keys(data));
let isClearing = !keys.size;
let storage = frame.sessionStorage;
return SpecialPowers.spawn(
browsingContext,
[[storageData, storageOptions]],
async function ([data]) {
let frame = content;
let keys = new Set(Object.keys(data));
let isClearing = !keys.size;
let storage = frame.sessionStorage;
return new Promise((resolve) => {
docShell.chromeEventHandler.addEventListener(
'MozSessionStorageChanged',
function onStorageChanged(event) {
if (event.storageArea == storage) {
keys.delete(event.key);
return new Promise((resolve) => {
docShell.chromeEventHandler.addEventListener(
'MozSessionStorageChanged',
function onStorageChanged(event) {
if (event.storageArea == storage) {
keys.delete(event.key);
}
if (keys.size == 0) {
docShell.chromeEventHandler.removeEventListener(
'MozSessionStorageChanged',
onStorageChanged,
true
);
resolve();
}
},
true
);
if (isClearing) {
storage.clear();
} else {
for (let key of keys) {
frame.sessionStorage[key] = data[key];
}
if (keys.size == 0) {
docShell.chromeEventHandler.removeEventListener('MozSessionStorageChanged', onStorageChanged, true);
resolve();
}
},
true
);
if (isClearing) {
storage.clear();
} else {
for (let key of keys) {
frame.sessionStorage[key] = data[key];
}
}
});
});
});
}
);
}
function pushPrefs(...aPrefs) {
@@ -503,20 +532,28 @@ function whenDomWindowClosedHandled(aCallback) {
}
function getPropertyOfFormField(browserContext, selector, propName) {
return SpecialPowers.spawn(browserContext, [selector, propName], (selectorChild, propNameChild) => {
return content.document.querySelector(selectorChild)[propNameChild];
});
return SpecialPowers.spawn(
browserContext,
[selector, propName],
(selectorChild, propNameChild) => {
return content.document.querySelector(selectorChild)[propNameChild];
}
);
}
function setPropertyOfFormField(browserContext, selector, propName, newValue) {
return SpecialPowers.spawn(browserContext, [selector, propName, newValue], (selectorChild, propNameChild, newValueChild) => {
let node = content.document.querySelector(selectorChild);
node[propNameChild] = newValueChild;
return SpecialPowers.spawn(
browserContext,
[selector, propName, newValue],
(selectorChild, propNameChild, newValueChild) => {
let node = content.document.querySelector(selectorChild);
node[propNameChild] = newValueChild;
let event = node.ownerDocument.createEvent('UIEvents');
event.initUIEvent('input', true, true, node.ownerGlobal, 0);
node.dispatchEvent(event);
});
let event = node.ownerDocument.createEvent('UIEvents');
event.initUIEvent('input', true, true, node.ownerGlobal, 0);
node.dispatchEvent(event);
}
);
}
function promiseOnHistoryReplaceEntry(browser) {