Skip to content

Commit 9466f6e

Browse files
committed
Fixed dragging multiple tabs with split view groups
1 parent ad491ed commit 9466f6e

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/browser/components/tabbrowser/content/tabs-js.patch

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
diff --git a/browser/components/tabbrowser/content/tabs.js b/browser/components/tabbrowser/content/tabs.js
2-
index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e6a02da2d 100644
2+
index fa96568d366fd3608f9bd583fa793150bd815c8b..693549cec63365c5f338410429f922fa5b7f3f81 100644
33
--- a/browser/components/tabbrowser/content/tabs.js
44
+++ b/browser/components/tabbrowser/content/tabs.js
55
@@ -94,7 +94,7 @@
@@ -385,7 +385,7 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
385385
);
386386

387387
if (this.#rtlMode) {
388-
@@ -2347,8 +2383,12 @@
388+
@@ -2347,8 +2383,16 @@
389389
(lastMovingTabScreen + tabSize);
390390
translate = Math.min(Math.max(translate, firstBound), lastBound);
391391

@@ -395,12 +395,16 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
395395
+ draggedTab.group.style.transform = `${translateAxis}(${translate}px)`;
396396
+ } else {
397397
+ for (let tab of movingTabs) {
398-
+ tab.style.transform = `${translateAxis}(${translate}px)`;
398+
+ if (tab.group?.hasAttribute("split-view-group")) {
399+
+ tab.group.style.transform = `${translateAxis}(${translate}px)`;
400+
+ } else {
401+
+ tab.style.transform = `${translateAxis}(${translate}px)`;
402+
+ }
399403
+ }
400404
}
401405

402406
dragData.translatePos = translate;
403-
@@ -2484,12 +2524,16 @@
407+
@@ -2484,12 +2528,16 @@
404408
// Shift background tabs to leave a gap where the dragged tab
405409
// would currently be dropped.
406410
for (let tab of tabs) {
@@ -418,7 +422,7 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
418422
if (tab.group?.tabs[0] == tab) {
419423
tab.group.style.setProperty(
420424
"--tabgroup-dragover-transform",
421-
@@ -2541,8 +2585,9 @@
425+
@@ -2541,8 +2589,9 @@
422426
);
423427
}
424428

@@ -430,15 +434,15 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
430434
return;
431435
}
432436

433-
@@ -2553,6 +2598,7 @@
437+
@@ -2553,6 +2602,7 @@
434438
tab.style.transform = "";
435439
if (tab.group) {
436440
tab.group.style.removeProperty("--tabgroup-dragover-transform");
437441
+ tab.group.style.transform = "";
438442
}
439443
tab.removeAttribute("dragover-createGroup");
440444
}
441-
@@ -2604,7 +2650,7 @@
445+
@@ -2604,7 +2654,7 @@
442446
movingTab._moveTogetherSelectedTabsData.newIndex = movingTabNewIndex;
443447
movingTab._moveTogetherSelectedTabsData.animate = false;
444448
};
@@ -447,7 +451,7 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
447451
postTransitionCleanup();
448452
} else {
449453
let onTransitionEnd = transitionendEvent => {
450-
@@ -2707,9 +2753,9 @@
454+
@@ -2707,9 +2757,9 @@
451455
function newIndex(aTab, index) {
452456
// Don't allow mixing pinned and unpinned tabs.
453457
if (aTab.pinned) {
@@ -459,7 +463,7 @@ index fa96568d366fd3608f9bd583fa793150bd815c8b..1e007c37cd204c63afad24c8b6d9201e
459463
}
460464
}
461465

462-
@@ -2793,7 +2839,7 @@
466+
@@ -2793,7 +2843,7 @@
463467
}
464468

465469
_notifyBackgroundTab(aTab) {

0 commit comments

Comments
 (0)