Backed out changeset 988fd6689153 (bug 1504277) for browser chrome failures on browser_multiselect_tabs_open_related.

This commit is contained in:
Cosmin Sabou 2018-11-16 23:45:20 +02:00
parent 5cfbd1f6d9
commit 39020f11e3
3 changed files with 1 additions and 106 deletions

View File

@ -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;

View File

@ -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]

View File

@ -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);
});