chore: Use element index rather than tab index when dragging, b=no-bug, c=tabs

This commit is contained in:
Mr. M
2025-07-19 21:05:59 +02:00
parent a82b05bc75
commit 54e1ffa91d

View File

@@ -855,26 +855,26 @@
const targetTab = event.target.closest('.tabbrowser-tab');
if (targetTab) {
const rect = targetTab.getBoundingClientRect();
let newIndex = targetTab.elementIndex;
let elementIndex = targetTab.elementIndex;
if (isVertical || !this.expandedSidebarMode) {
const middleY = targetTab.screenY + rect.height / 2;
if (!isRegularTabs && event.screenY > middleY) {
newIndex++;
elementIndex++;
} else if (isRegularTabs && event.screenY < middleY) {
newIndex--;
elementIndex--;
}
} else {
const middleX = targetTab.screenX + rect.width / 2;
if (event.screenX > middleX) {
newIndex++;
elementIndex++;
}
}
// If it's the last tab, move it to the end
if (tabsTarget === gBrowser.tabs.at(-1)) {
newIndex++;
elementIndex++;
}
gBrowser.moveTabTo(draggedTab, { tabIndex: newIndex, forceUngrouped: true });
gBrowser.moveTabTo(draggedTab, { elementIndex, forceUngrouped: true });
}
}
}