Bug 1343613 - [2.3] Add GeckoView event queuing in EventDispatcher. r=jchen,snorp

This commit is contained in:
Eugen Sawin
2017-03-08 23:16:19 +01:00
parent cbc3508438
commit 7564e1a105
5 changed files with 55 additions and 13 deletions

View File

@@ -582,8 +582,15 @@ nsAppShell::Observe(nsISupports* aSubject,
java::GeckoThread::State::PROFILE_READY(),
java::GeckoThread::State::RUNNING());
}
removeObserver = true;
// Enable the window event dispatcher for the given GeckoView.
nsCOMPtr<nsIDocument> doc = do_QueryInterface(aSubject);
MOZ_ASSERT(doc);
nsCOMPtr<nsIWidget> widget =
WidgetUtils::DOMWindowToWidget(doc->GetWindow());
MOZ_ASSERT(widget);
const auto window = static_cast<nsWindow*>(widget.get());
window->EnableEventDispatcher();
} else if (!strcmp(aTopic, "quit-application-granted")) {
if (jni::IsAvailable()) {
java::GeckoThread::SetState(