no-bug: Always select the first tab when unsplitting (gh-13378)

This commit is contained in:
mr. m
2026-04-23 19:49:58 +02:00
committed by GitHub
parent 05af15d70a
commit 5a841063f2
2 changed files with 14 additions and 2 deletions

View File

@@ -68,6 +68,7 @@
#maxTabsPerRow = 0;
#changeSpaceTimer = null;
#isAnimatingTabMove = false;
#firstHapticFeedbackPlayed = false;
#dragOverSplit = {};
@@ -1150,12 +1151,17 @@
// outside of a valid drop target.
ownerGlobal.gZenFolders.highlightGroupOnDragOver(null);
this.ZenDragAndDropService.onDragEnd();
super.handle_dragend(event);
try {
super.handle_dragend(event);
} catch (e) {
console.error(e);
}
thisFromGlobal.clearDragOverVisuals();
ownerGlobal.gZenPinnedTabManager.removeTabContainersDragoverClass();
thisFromGlobal._clearDragOverSplit();
this.#maybeClearVerticalPinnedGridDragOver();
thisFromGlobal.originalDragImageArgs = [];
this.#firstHapticFeedbackPlayed = false;
window.removeEventListener(
"dragenter",
thisFromGlobal.handle_windowDragEnter,
@@ -1410,6 +1416,12 @@
dropBefore = true;
}
}
if (shouldPlayHapticFeedback && !this.#firstHapticFeedbackPlayed) {
// The first haptic feedback can often be too annoying,
// so we skip it, but play for subsequent dragovers.
this.#firstHapticFeedbackPlayed = true;
shouldPlayHapticFeedback = false;
}
if (shouldPlayHapticFeedback) {
// eslint-disable-next-line mozilla/valid-services
Services.zen.playHapticFeedback();

View File

@@ -231,7 +231,7 @@ class nsZenViewSplitter extends nsZenDOMOperatedFeature {
}
this.removeGroup(groupIndex);
if (changeTab) {
gBrowser.selectedTab = remainingTabs[remainingTabs.length - 1];
gBrowser.selectedTab = remainingTabs[0];
document
.getElementById("cmd_zenNewEmptySplit")
.removeAttribute("disabled");