Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
add_task(async function wheel_switches_tabs() {
Services.prefs.setBoolPref("toolkit.tabbox.switchByScrolling", true);
let newTab = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"about:blank"
);
await BrowserTestUtils.switchTab(gBrowser, () => {
EventUtils.synthesizeWheel(newTab, 4, 4, {
deltaMode: WheelEvent.DOM_DELTA_LINE,
deltaY: -1.0,
});
});
ok(!newTab.selected, "New tab should no longer be selected.");
BrowserTestUtils.removeTab(newTab);
});
add_task(async function wheel_switches_tabs_overflow() {
Services.prefs.setBoolPref("toolkit.tabbox.switchByScrolling", true);
let arrowScrollbox = gBrowser.tabContainer.arrowScrollbox;
let tabs = [];
while (!arrowScrollbox.hasAttribute("overflowing")) {
tabs.push(
await BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank")
);
}
let newTab = await BrowserTestUtils.openNewForegroundTab(
gBrowser,
"about:blank"
);
await BrowserTestUtils.switchTab(gBrowser, () => {
EventUtils.synthesizeWheel(newTab, 4, 4, {
deltaMode: WheelEvent.DOM_DELTA_LINE,
deltaY: -1.0,
});
});
ok(!newTab.selected, "New tab should no longer be selected.");
BrowserTestUtils.removeTab(newTab);
for (let tab of tabs) {
BrowserTestUtils.removeTab(tab);
}
});