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