Bug 1314647, clear active state of select on mouseup, r=mconley

This commit is contained in:
Neil Deakin 2016-11-17 09:56:43 -05:00
Родитель c274b1bb68
Коммит 140766f711
2 изменённых файлов: 12 добавлений и 0 удалений

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

@ -53,6 +53,7 @@ this.SelectContentHelper.prototype = {
this.global.addMessageListener("Forms:DismissedDropDown", this);
this.global.addMessageListener("Forms:MouseOver", this);
this.global.addMessageListener("Forms:MouseOut", this);
this.global.addMessageListener("Forms:MouseUp", this);
this.global.addEventListener("pagehide", this);
this.global.addEventListener("mozhidedropdown", this);
let MutationObserver = this.element.ownerDocument.defaultView.MutationObserver;
@ -71,6 +72,7 @@ this.SelectContentHelper.prototype = {
this.global.removeMessageListener("Forms:DismissedDropDown", this);
this.global.removeMessageListener("Forms:MouseOver", this);
this.global.removeMessageListener("Forms:MouseOut", this);
this.global.removeMessageListener("Forms:MouseUp", this);
this.global.removeEventListener("pagehide", this);
this.global.removeEventListener("mozhidedropdown", this);
this.element = null;
@ -172,6 +174,10 @@ this.SelectContentHelper.prototype = {
DOMUtils.removeContentState(this.element, kStateHover);
break;
case "Forms:MouseUp":
DOMUtils.removeContentState(this.element, kStateActive);
break;
}
},

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

@ -68,6 +68,10 @@ this.SelectParentHelper = {
handleEvent: function(event) {
switch (event.type) {
case "mouseup":
currentBrowser.messageManager.sendAsyncMessage("Forms:MouseUp", {});
break;
case "mouseover":
currentBrowser.messageManager.sendAsyncMessage("Forms:MouseOver", {});
break;
@ -130,6 +134,7 @@ this.SelectParentHelper = {
popup.addEventListener("popuphidden", this);
popup.addEventListener("mouseover", this);
popup.addEventListener("mouseout", this);
browser.ownerDocument.defaultView.addEventListener("mouseup", this, true);
browser.ownerDocument.defaultView.addEventListener("keydown", this, true);
browser.ownerDocument.defaultView.addEventListener("fullscreen", this, true);
browser.messageManager.addMessageListener("Forms:UpdateDropDown", this);
@ -140,6 +145,7 @@ this.SelectParentHelper = {
popup.removeEventListener("popuphidden", this);
popup.removeEventListener("mouseover", this);
popup.removeEventListener("mouseout", this);
browser.ownerDocument.defaultView.removeEventListener("mouseup", this, true);
browser.ownerDocument.defaultView.removeEventListener("keydown", this, true);
browser.ownerDocument.defaultView.removeEventListener("fullscreen", this, true);
browser.messageManager.removeMessageListener("Forms:UpdateDropDown", this);