Bug 1402709 - Don't use capture for the toolbox context menu. r=bgrins

This commit is contained in:
Gabriel Luong 2017-09-26 08:43:22 -04:00
Родитель 9cd0e4f0c4
Коммит c089f03855
4 изменённых файлов: 22 добавлений и 5 удалений

Просмотреть файл

@ -453,13 +453,12 @@ Toolbox.prototype = {
if (e.originalTarget.closest("input[type=text]") ||
e.originalTarget.closest("input[type=search]") ||
e.originalTarget.closest("input:not([type])") ||
e.originalTarget.closest("textarea")
) {
e.originalTarget.closest("textarea")) {
e.stopPropagation();
e.preventDefault();
this.openTextBoxContextMenu(e.screenX, e.screenY);
}
}, true);
});
this.shortcuts = new KeyShortcuts({
window: this.doc.defaultView

Просмотреть файл

@ -1124,7 +1124,15 @@ Inspector.prototype = {
},
_onContextMenu: function (e) {
if (e.originalTarget.closest("input[type=text]") ||
e.originalTarget.closest("input:not([type])") ||
e.originalTarget.closest("textarea")) {
return;
}
e.stopPropagation();
e.preventDefault();
this._openMenu({
screenX: e.screenX,
screenY: e.screenY,

Просмотреть файл

@ -397,6 +397,15 @@ CssRuleView.prototype = {
* Context menu handler.
*/
_onContextMenu: function (event) {
if (event.originalTarget.closest("input[type=text]") ||
event.originalTarget.closest("input:not([type])") ||
event.originalTarget.closest("textarea")) {
return;
}
event.stopPropagation();
event.preventDefault();
this._contextmenu.show(event);
},

Просмотреть файл

@ -356,12 +356,13 @@ Editor.prototype = {
});
cm.getWrapperElement().addEventListener("contextmenu", ev => {
ev.preventDefault();
if (!this.config.contextMenu) {
return;
}
ev.stopPropagation();
ev.preventDefault();
let popup = this.config.contextMenu;
if (typeof popup == "string") {
popup = doc.getElementById(this.config.contextMenu);