Bug 1061969 - Ensure the memory is not flushed when the priority is updated. r=gsvelto
--- a/dom/ipc/ProcessPriorityManager.cpp
+++ b/dom/ipc/ProcessPriorityManager.cpp
@@ -1100,20 +1100,16 @@ ParticularProcessPriorityManager::SetPri
mPriority = aPriority;
mCPUPriority = aCPUPriority;
hal::SetProcessPriority(Pid(), mPriority, mCPUPriority);
if (oldPriority != mPriority) {
unused << mContentParent->SendNotifyProcessPriorityChanged(mPriority);
}
- if (aPriority < PROCESS_PRIORITY_FOREGROUND) {
- unused << mContentParent->SendFlushMemory(NS_LITERAL_STRING("low-memory"));
- }
-
FireTestOnlyObserverNotification("process-priority-set",
ProcessPriorityToString(mPriority, mCPUPriority));
if (oldPriority != mPriority) {
ProcessPriorityManagerImpl::GetSingleton()->
NotifyProcessPriorityChanged(this, oldPriority);
}
}
--- a/dom/ipc/TabChild.cpp
+++ b/dom/ipc/TabChild.cpp
@@ -2856,16 +2856,22 @@ TabChild::MakeVisible()
}
void
TabChild::MakeHidden()
{
if (mWidget) {
mWidget->Show(false);
}
+
+ nsCOMPtr<nsIObserverService> os =
+ mozilla::services::GetObserverService();
+ if (os) {
+ os->NotifyObservers(nullptr, "memory-pressure", NS_LITERAL_STRING("heap-minimize").get());
+ }
}
void
TabChild::UpdateHitRegion(const nsRegion& aRegion)
{
mRemoteFrame->SendUpdateHitRegion(aRegion);
}