mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 10:44:56 +00:00
Backed out changeset 988fd6689153 (bug 1504277) for browser chrome failures on browser_multiselect_tabs_open_related.
This commit is contained in:
parent
5cfbd1f6d9
commit
39020f11e3
@ -2382,12 +2382,7 @@ window._gBrowser = {
|
||||
Services.prefs.getBoolPref("browser.tabs.insertAfterCurrent"))) {
|
||||
|
||||
let lastRelatedTab = openerTab && this._lastRelatedTabMap.get(openerTab);
|
||||
let previousTab = (lastRelatedTab || openerTab || this.selectedTab);
|
||||
if (previousTab.multiselected) {
|
||||
index = this.selectedTabs[this.selectedTabs.length - 1]._tPos + 1;
|
||||
} else {
|
||||
index = previousTab._tPos + 1;
|
||||
}
|
||||
index = (lastRelatedTab || openerTab || this.selectedTab)._tPos + 1;
|
||||
|
||||
if (lastRelatedTab) {
|
||||
lastRelatedTab.owner = null;
|
||||
|
@ -33,7 +33,6 @@ support-files =
|
||||
[browser_multiselect_tabs_move_to_another_window_drag.js]
|
||||
[browser_multiselect_tabs_move_to_new_window_contextmenu.js]
|
||||
[browser_multiselect_tabs_mute_unmute.js]
|
||||
[browser_multiselect_tabs_open_related.js]
|
||||
[browser_multiselect_tabs_pin_unpin.js]
|
||||
[browser_multiselect_tabs_positional_attrs.js]
|
||||
[browser_multiselect_tabs_reload.js]
|
||||
|
@ -1,99 +0,0 @@
|
||||
const PREF_MULTISELECT_TABS = "browser.tabs.multiselect";
|
||||
|
||||
add_task(async function test() {
|
||||
await SpecialPowers.pushPrefEnv({
|
||||
set: [
|
||||
[PREF_MULTISELECT_TABS, true],
|
||||
],
|
||||
});
|
||||
|
||||
let tab1 = await addTab("http://example.com/1");
|
||||
let tab2 = await addTab("http://example.com/2");
|
||||
let tab3 = await addTab("http://example.com/3");
|
||||
|
||||
await BrowserTestUtils.switchTab(gBrowser, tab1);
|
||||
await triggerClickOn(tab2, { ctrlKey: true });
|
||||
|
||||
ok(tab1.multiselected, "Tab1 is multi-selected");
|
||||
ok(tab2.multiselected, "Tab2 is multi-selected");
|
||||
ok(!tab3.multiselected, "Tab3 is not multi-selected");
|
||||
|
||||
let tabs = document.getElementById("tabbrowser-tabs");
|
||||
let newTabButton = document.getAnonymousElementByAttribute(tabs, "anonid", "tabs-newtab-button");
|
||||
let promiseTabOpened = BrowserTestUtils.waitForEvent(gBrowser.tabContainer, "TabOpen");
|
||||
EventUtils.synthesizeMouseAtCenter(newTabButton, {ctrlKey: true});
|
||||
let openEvent = await promiseTabOpened;
|
||||
let newTab = openEvent.target;
|
||||
|
||||
is(newTab.previousElementSibling, tab2,
|
||||
"New tab should be opened after tab2 when tab1 and tab2 are multiselected");
|
||||
is(newTab.nextElementSibling, tab3,
|
||||
"New tab should be opened before tab3 when tab1 and tab2 are multiselected");
|
||||
BrowserTestUtils.removeTab(newTab);
|
||||
|
||||
await BrowserTestUtils.switchTab(gBrowser, tab1);
|
||||
ok(!tab1.multiselected, "Tab1 is not multi-selected");
|
||||
ok(!tab2.multiselected, "Tab2 is not multi-selected");
|
||||
ok(!tab3.multiselected, "Tab3 is not multi-selected");
|
||||
|
||||
promiseTabOpened = BrowserTestUtils.waitForEvent(gBrowser.tabContainer, "TabOpen");
|
||||
EventUtils.synthesizeMouseAtCenter(newTabButton, {ctrlKey: true});
|
||||
openEvent = await promiseTabOpened;
|
||||
newTab = openEvent.target;
|
||||
is(newTab.previousElementSibling, tab1,
|
||||
"New tab should be opened after tab1 when only tab1 is selected");
|
||||
is(newTab.nextElementSibling, tab2,
|
||||
"New tab should be opened before tab2 when only tab1 is selected");
|
||||
BrowserTestUtils.removeTab(newTab);
|
||||
|
||||
await BrowserTestUtils.switchTab(gBrowser, tab1);
|
||||
await triggerClickOn(tab3, { ctrlKey: true });
|
||||
ok(tab1.multiselected, "Tab1 is multi-selected");
|
||||
ok(!tab2.multiselected, "Tab2 is not multi-selected");
|
||||
ok(tab3.multiselected, "Tab3 is multi-selected");
|
||||
|
||||
promiseTabOpened = BrowserTestUtils.waitForEvent(gBrowser.tabContainer, "TabOpen");
|
||||
EventUtils.synthesizeMouseAtCenter(newTabButton, {ctrlKey: true});
|
||||
openEvent = await promiseTabOpened;
|
||||
newTab = openEvent.target;
|
||||
is(newTab.previousElementSibling, tab3,
|
||||
"New tab should be opened after tab3 when tab1 and tab3 are selected");
|
||||
is(newTab.nextElementSibling, null,
|
||||
"New tab should be opened at the end of the tabstrip when tab1 and tab3 are selected");
|
||||
BrowserTestUtils.removeTab(newTab);
|
||||
|
||||
await BrowserTestUtils.switchTab(gBrowser, tab1);
|
||||
ok(!tab1.multiselected, "Tab1 is not multi-selected");
|
||||
ok(!tab2.multiselected, "Tab2 is not multi-selected");
|
||||
ok(!tab3.multiselected, "Tab3 is not multi-selected");
|
||||
|
||||
promiseTabOpened = BrowserTestUtils.waitForEvent(gBrowser.tabContainer, "TabOpen");
|
||||
EventUtils.synthesizeMouseAtCenter(newTabButton, {});
|
||||
openEvent = await promiseTabOpened;
|
||||
newTab = openEvent.target;
|
||||
is(newTab.previousElementSibling, tab3,
|
||||
"New tab should be opened after tab3 when ctrlKey is not used without multiselection");
|
||||
is(newTab.nextElementSibling, null,
|
||||
"New tab should be opened at the end of the tabstrip when ctrlKey is not used without multiselection");
|
||||
BrowserTestUtils.removeTab(newTab);
|
||||
|
||||
await BrowserTestUtils.switchTab(gBrowser, tab1);
|
||||
await triggerClickOn(tab2, { ctrlKey: true });
|
||||
ok(tab1.multiselected, "Tab1 is multi-selected");
|
||||
ok(tab2.multiselected, "Tab2 is multi-selected");
|
||||
ok(!tab3.multiselected, "Tab3 is not multi-selected");
|
||||
|
||||
promiseTabOpened = BrowserTestUtils.waitForEvent(gBrowser.tabContainer, "TabOpen");
|
||||
EventUtils.synthesizeMouseAtCenter(newTabButton, {});
|
||||
openEvent = await promiseTabOpened;
|
||||
newTab = openEvent.target;
|
||||
is(newTab.previousElementSibling, tab3,
|
||||
"New tab should be opened after tab3 when ctrlKey is not used with multiselection");
|
||||
is(newTab.nextElementSibling, null,
|
||||
"New tab should be opened at the end of the tabstrip when ctrlKey is not used with multiselection");
|
||||
BrowserTestUtils.removeTab(newTab);
|
||||
|
||||
BrowserTestUtils.removeTab(tab1);
|
||||
BrowserTestUtils.removeTab(tab2);
|
||||
BrowserTestUtils.removeTab(tab3);
|
||||
});
|
Loading…
Reference in New Issue
Block a user