Bug 1912403 - Remove inline drag-and-drop handlers from navigator-toolbox. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D220795
This commit is contained in:
@@ -82,9 +82,6 @@
|
||||
data-l10n-id="tabs-toolbar-new-tab"
|
||||
command="cmd_newNavigatorTab"
|
||||
tooltip="dynamic-shortcut-tooltip"
|
||||
ondrop="newTabButtonObserver.onDrop(event)"
|
||||
ondragover="newTabButtonObserver.onDragOver(event)"
|
||||
ondragenter="newTabButtonObserver.onDragOver(event)"
|
||||
cui-areatype="toolbar"
|
||||
removable="true"/>
|
||||
|
||||
@@ -197,8 +194,7 @@
|
||||
</box>
|
||||
<box id="identity-box"
|
||||
class="identity-box"
|
||||
pageproxystate="invalid"
|
||||
ondragstart="gIdentityHandler.onDragStart(event);">
|
||||
pageproxystate="invalid">
|
||||
<box id="identity-icon-box"
|
||||
role="button"
|
||||
align="center"
|
||||
@@ -432,9 +428,6 @@
|
||||
delegatesanchor="true"
|
||||
badged="true"
|
||||
key="key_openDownloads"
|
||||
ondrop="DownloadsIndicatorView.onDrop(event);"
|
||||
ondragover="DownloadsIndicatorView.onDragOver(event);"
|
||||
ondragenter="DownloadsIndicatorView.onDragOver(event);"
|
||||
data-l10n-id="navbar-downloads"
|
||||
removable="true"
|
||||
overflows="false"
|
||||
@@ -573,10 +566,7 @@
|
||||
<toolbarbutton id="new-window-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
data-l10n-id="appmenuitem-new-window"
|
||||
command="cmd_newNavigator"
|
||||
tooltip="dynamic-shortcut-tooltip"
|
||||
ondrop="newWindowButtonObserver.onDrop(event)"
|
||||
ondragover="newWindowButtonObserver.onDragOver(event)"
|
||||
ondragenter="newWindowButtonObserver.onDragOver(event)"/>
|
||||
tooltip="dynamic-shortcut-tooltip"/>
|
||||
|
||||
<toolbarbutton id="fullscreen-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
observes="View:FullScreen"
|
||||
@@ -589,11 +579,7 @@
|
||||
delegatesanchor="true"
|
||||
type="menu"
|
||||
data-l10n-id="bookmarks-menu-button"
|
||||
tooltip="dynamic-shortcut-tooltip"
|
||||
ondragenter="PlacesMenuDNDHandler.onDragEnter(event);"
|
||||
ondragover="PlacesMenuDNDHandler.onDragOver(event);"
|
||||
ondragleave="PlacesMenuDNDHandler.onDragLeave(event);"
|
||||
ondrop="PlacesMenuDNDHandler.onDrop(event);">
|
||||
tooltip="dynamic-shortcut-tooltip">
|
||||
<menupopup id="BMB_bookmarksPopup"
|
||||
is="places-popup-arrow"
|
||||
class="toolbar-menupopup animatable-menupopup"
|
||||
@@ -676,9 +662,6 @@
|
||||
<toolbarbutton id="home-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
|
||||
removable="true"
|
||||
data-l10n-id="navbar-home"
|
||||
ondragover="homeButtonObserver.onDragOver(event)"
|
||||
ondragenter="homeButtonObserver.onDragOver(event)"
|
||||
ondrop="homeButtonObserver.onDrop(event)"
|
||||
key="goHome"
|
||||
cui-areatype="toolbar"/>
|
||||
|
||||
|
||||
@@ -389,6 +389,88 @@ document.addEventListener(
|
||||
capture: true,
|
||||
});
|
||||
widgetOverflow.addEventListener("keypress", onKeyPress, { capture: true });
|
||||
|
||||
function onDragAndDrop(event) {
|
||||
let element = event.target.closest(`
|
||||
#new-tab-button,
|
||||
#downloads-button,
|
||||
#new-window-button,
|
||||
#bookmarks-menu-button,
|
||||
#home-button
|
||||
`);
|
||||
if (!element) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (element.id) {
|
||||
case "new-tab-button":
|
||||
if (event.type === "dragenter" || event.type === "dragover") {
|
||||
newTabButtonObserver.onDragOver(event);
|
||||
} else if (event.type === "drop") {
|
||||
newTabButtonObserver.onDrop(event);
|
||||
}
|
||||
break;
|
||||
|
||||
case "downloads-button":
|
||||
if (event.type === "dragenter" || event.type === "dragover") {
|
||||
DownloadsIndicatorView.onDragOver(event);
|
||||
} else if (event.type === "drop") {
|
||||
DownloadsIndicatorView.onDrop(event);
|
||||
}
|
||||
break;
|
||||
|
||||
case "new-window-button":
|
||||
if (event.type === "dragenter" || event.type === "dragover") {
|
||||
newWindowButtonObserver.onDragOver(event);
|
||||
} else if (event.type === "drop") {
|
||||
newWindowButtonObserver.onDrop(event);
|
||||
}
|
||||
break;
|
||||
|
||||
case "bookmarks-menu-button":
|
||||
switch (event.type) {
|
||||
case "dragenter":
|
||||
PlacesMenuDNDHandler.onDragEnter(event);
|
||||
break;
|
||||
case "dragover":
|
||||
PlacesMenuDNDHandler.onDragOver(event);
|
||||
break;
|
||||
case "dragleave":
|
||||
PlacesMenuDNDHandler.onDragLeave(event);
|
||||
break;
|
||||
case "drop":
|
||||
PlacesMenuDNDHandler.onDrop(event);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "home-button":
|
||||
if (event.type === "dragenter" || event.type === "dragover") {
|
||||
homeButtonObserver.onDragOver(event);
|
||||
} else if (event.type == "drop") {
|
||||
homeButtonObserver.onDrop(event);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
throw new Error(`Missing case for #${element.id}`);
|
||||
}
|
||||
}
|
||||
|
||||
navigatorToolbox.addEventListener("dragenter", onDragAndDrop);
|
||||
widgetOverflow.addEventListener("dragenter", onDragAndDrop);
|
||||
navigatorToolbox.addEventListener("dragover", onDragAndDrop);
|
||||
widgetOverflow.addEventListener("dragover", onDragAndDrop);
|
||||
navigatorToolbox.addEventListener("dragleave", onDragAndDrop);
|
||||
widgetOverflow.addEventListener("dragleave", onDragAndDrop);
|
||||
navigatorToolbox.addEventListener("drop", onDragAndDrop);
|
||||
widgetOverflow.addEventListener("drop", onDragAndDrop);
|
||||
|
||||
document
|
||||
.getElementById("identity-box")
|
||||
.addEventListener("dragstart", event => {
|
||||
gIdentityHandler.onDragStart(event);
|
||||
});
|
||||
},
|
||||
{ once: true }
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user