mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1182772, optimize ProcessGlobal out from CC graph (and also TabChild's EventListeners), r=mccr8
This commit is contained in:
parent
62593d2448
commit
ebd98e9199
@ -30,6 +30,7 @@
|
||||
#include "nsFrameLoader.h"
|
||||
#include "mozilla/EventListenerManager.h"
|
||||
#include "mozilla/dom/Element.h"
|
||||
#include "mozilla/dom/ProcessGlobal.h"
|
||||
#include "xpcpublic.h"
|
||||
#include "nsObserverService.h"
|
||||
#include "nsFocusManager.h"
|
||||
@ -140,6 +141,14 @@ MarkChildMessageManagers(nsIMessageBroadcaster* aMM)
|
||||
static void
|
||||
MarkMessageManagers()
|
||||
{
|
||||
if (nsFrameMessageManager::GetChildProcessManager()) {
|
||||
// ProcessGlobal's MarkForCC marks also ChildProcessManager.
|
||||
ProcessGlobal* pg = ProcessGlobal::Get();
|
||||
if (pg) {
|
||||
pg->MarkForCC();
|
||||
}
|
||||
}
|
||||
|
||||
// The global message manager only exists in the root process.
|
||||
if (!XRE_IsParentProcess()) {
|
||||
return;
|
||||
@ -172,9 +181,6 @@ MarkMessageManagers()
|
||||
if (nsFrameMessageManager::sSameProcessParentManager) {
|
||||
nsFrameMessageManager::sSameProcessParentManager->MarkForCC();
|
||||
}
|
||||
if (nsFrameMessageManager::GetChildProcessManager()) {
|
||||
nsFrameMessageManager::GetChildProcessManager()->MarkForCC();
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -3504,6 +3504,10 @@ TabChildGlobal::MarkForCC()
|
||||
if (mTabChild) {
|
||||
mTabChild->MarkScopesForCC();
|
||||
}
|
||||
EventListenerManager* elm = GetExistingListenerManager();
|
||||
if (elm) {
|
||||
elm->MarkForCC();
|
||||
}
|
||||
return mMessageManager ? mMessageManager->MarkForCC() : false;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user