mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 02:14:43 +00:00
Bug 1343613 - [3.1] Enable window event dispatcher only on top level window. r=jchen
This commit is contained in:
parent
e574bdd70e
commit
307653da17
@ -509,10 +509,13 @@ nsAppShell::Init()
|
||||
if (obsServ) {
|
||||
obsServ->AddObserver(this, "browser-delayed-startup-finished", false);
|
||||
obsServ->AddObserver(this, "profile-after-change", false);
|
||||
obsServ->AddObserver(this, "chrome-document-loaded", false);
|
||||
obsServ->AddObserver(this, "tab-child-created", false);
|
||||
obsServ->AddObserver(this, "quit-application-granted", false);
|
||||
obsServ->AddObserver(this, "xpcom-shutdown", false);
|
||||
|
||||
if (XRE_IsParentProcess()) {
|
||||
obsServ->AddObserver(this, "chrome-document-loaded", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (sPowerManagerService)
|
||||
@ -589,8 +592,11 @@ nsAppShell::Observe(nsISupports* aSubject,
|
||||
nsCOMPtr<nsIWidget> widget =
|
||||
WidgetUtils::DOMWindowToWidget(doc->GetWindow());
|
||||
MOZ_ASSERT(widget);
|
||||
const auto window = static_cast<nsWindow*>(widget.get());
|
||||
window->EnableEventDispatcher();
|
||||
if (widget->WindowType() == nsWindowType::eWindowType_toplevel) {
|
||||
// Make sure to call this only on top level nsWindow.
|
||||
const auto window = static_cast<nsWindow*>(widget.get());
|
||||
window->EnableEventDispatcher();
|
||||
}
|
||||
} else if (!strcmp(aTopic, "quit-application-granted")) {
|
||||
if (jni::IsAvailable()) {
|
||||
java::GeckoThread::SetState(
|
||||
|
Loading…
Reference in New Issue
Block a user