Bug 1322938 - Emit close event when HTMLDialogElement.prototype.close() is called.

Tag #1343
This commit is contained in:
Gaming4JC
2020-01-07 08:27:34 -05:00
parent 2e3b937f4e
commit ef2cd8749f
5 changed files with 12 additions and 1 deletions
+4
View File
@@ -172,6 +172,10 @@ EVENT(click,
eMouseClick,
EventNameType_All,
eMouseEventClass)
EVENT(close,
eClose,
EventNameType_HTML,
eBasicEventClass)
EVENT(contextmenu,
eContextMenu,
EventNameType_HTMLXUL,
+3
View File
@@ -30,6 +30,9 @@ HTMLDialogElement::Close(const mozilla::dom::Optional<nsAString>& aReturnValue)
ErrorResult ignored;
SetOpen(false, ignored);
ignored.SuppressException();
RefPtr<AsyncEventDispatcher> eventDispatcher =
new AsyncEventDispatcher(this, NS_LITERAL_STRING("close"), false);
eventDispatcher->PostDOMEvent();
}
void
+1
View File
@@ -7,6 +7,7 @@
#ifndef HTMLDialogElement_h
#define HTMLDialogElement_h
#include "mozilla/AsyncEventDispatcher.h"
#include "mozilla/Attributes.h"
#include "nsGenericHTMLElement.h"
#include "nsGkAtoms.h"
+1 -1
View File
@@ -38,7 +38,7 @@ interface GlobalEventHandlers {
attribute EventHandler oncanplaythrough;
attribute EventHandler onchange;
attribute EventHandler onclick;
//(Not implemented)attribute EventHandler onclose;
attribute EventHandler onclose;
attribute EventHandler oncontextmenu;
//(Not implemented)attribute EventHandler oncuechange;
attribute EventHandler ondblclick;
+3
View File
@@ -457,6 +457,9 @@ NS_EVENT_MESSAGE(eVisibilityChange)
// Details element events.
NS_EVENT_MESSAGE(eToggle)
// Dialog element events.
NS_EVENT_MESSAGE(eClose)
#ifdef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST
#undef UNDEF_NS_EVENT_MESSAGE_FIRST_LAST
#undef NS_EVENT_MESSAGE_FIRST_LAST