mirror of
https://github.com/zen-browser/desktop.git
synced 2026-03-29 11:51:51 +00:00
fix: Add guard to prevent invalid split drops, p=#12511
This commit is contained in:
@@ -683,6 +683,10 @@
|
||||
|
||||
const dt = event.dataTransfer;
|
||||
const draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
|
||||
if (!isTab(draggedTab)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const dragData = draggedTab._dragData;
|
||||
const movingTabsSet = dragData.movingTabsSet;
|
||||
const dropElement = event.target.closest(".tabbrowser-tab");
|
||||
@@ -771,6 +775,7 @@
|
||||
}
|
||||
|
||||
this.#dragOverSplit.fakeTab = element;
|
||||
this.#dragOverSplit.canDrop = true;
|
||||
}
|
||||
|
||||
_clearDragOverSplit() {
|
||||
@@ -782,6 +787,7 @@
|
||||
this.#dragOverSplit.timer = null;
|
||||
this.#dragOverSplit.fakeTab = null;
|
||||
this.#dragOverSplit.data = null;
|
||||
this.#dragOverSplit.canDrop = null;
|
||||
}
|
||||
|
||||
handle_windowDragEnter(event) {
|
||||
@@ -881,6 +887,10 @@
|
||||
}
|
||||
|
||||
#handle_dropCreateSplit(event) {
|
||||
if (!this.#dragOverSplit.canDrop) {
|
||||
return;
|
||||
}
|
||||
|
||||
const dragData = this.#dragOverSplit.data;
|
||||
const dt = event.dataTransfer;
|
||||
const draggedTab = dt.mozGetDataAt(TAB_DROP_TYPE, 0);
|
||||
@@ -1118,7 +1128,7 @@
|
||||
// eslint-disable-next-line complexity
|
||||
#applyDragoverIndicator(event, dropElement, movingTabs, draggedTab) {
|
||||
// Doesn't show indicator when dragOverSplit
|
||||
if (this.#dragOverSplit.data) {
|
||||
if (this.#dragOverSplit.canDrop) {
|
||||
return;
|
||||
}
|
||||
const separation = 4;
|
||||
|
||||
Reference in New Issue
Block a user