From a3eb8e6045942781217e5219205cb54931ec1348 Mon Sep 17 00:00:00 2001 From: Olli Pettay Date: Thu, 15 Feb 2018 12:07:16 +0200 Subject: [PATCH] Bug 1438357 - MozDOMPointerLock:Exited is dispatched when DOM is at unstable state, r=baku --- dom/base/nsDocument.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp index 8cdb5ff96704..560afbc99e42 100644 --- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -11839,10 +11839,11 @@ nsDocument::UnlockPointer(nsIDocument* aDoc) do_QueryReferent(EventStateManager::sPointerLockedElement); ChangePointerLockedElement(nullptr, doc, pointerLockedElement); - nsContentUtils::DispatchEventOnlyToChrome( - doc, ToSupports(pointerLockedElement), - NS_LITERAL_STRING("MozDOMPointerLock:Exited"), - /* Bubbles */ true, /* Cancelable */ false, /* DefaultAction */ nullptr); + RefPtr asyncDispatcher = + new AsyncEventDispatcher(pointerLockedElement, + NS_LITERAL_STRING("MozDOMPointerLock:Exited"), + true, true); + asyncDispatcher->RunDOMEventWhenSafe(); } void