Bug 1342863 - (Part 1) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in PresShell. r?dholbert
MozReview-Commit-ID: HNBIDrSAo5B
--- a/layout/base/PresShell.cpp
+++ b/layout/base/PresShell.cpp
@@ -2005,21 +2005,23 @@ PresShell::ResizeReflowIgnoreOverride(ns
}
if (mAsyncResizeEventTimer) {
mAsyncResizeTimerIsActive = true;
mAsyncResizeEventTimer->InitWithFuncCallback(AsyncResizeEventCallback,
this, 15,
nsITimer::TYPE_ONE_SHOT);
}
} else {
- RefPtr<nsRunnableMethod<PresShell> > resizeEvent =
- NewRunnableMethod("PresShell::FireResizeEvent",
- this, &PresShell::FireResizeEvent);
- if (NS_SUCCEEDED(NS_DispatchToCurrentThread(resizeEvent))) {
- mResizeEvent = resizeEvent;
+ RefPtr<nsRunnableMethod<PresShell>> event =
+ NewRunnableMethod(this, &PresShell::FireResizeEvent);
+ nsresult rv = mDocument->Dispatch("PresShell::FireResizeEvent",
+ TaskCategory::Other,
+ do_AddRef(event));
+ if (NS_SUCCEEDED(rv)) {
+ mResizeEvent = event;
SetNeedStyleFlush();
}
}
}
return NS_OK; //XXX this needs to be real. MMP
}
@@ -6251,21 +6253,25 @@ PresShell::ScheduleApproximateFrameVisib
if (mHaveShutDown || mIsDestroying) {
return;
}
if (mUpdateApproximateFrameVisibilityEvent.IsPending()) {
return;
}
- RefPtr<nsRunnableMethod<PresShell> > ev =
- NewRunnableMethod("PresShell::UpdateApproximateFrameVisibility",
- this, &PresShell::UpdateApproximateFrameVisibility);
- if (NS_SUCCEEDED(NS_DispatchToCurrentThread(ev))) {
- mUpdateApproximateFrameVisibilityEvent = ev;
+ RefPtr<nsRunnableMethod<PresShell>> event =
+ NewRunnableMethod(this, &PresShell::UpdateApproximateFrameVisibility);
+ nsresult rv =
+ mDocument->Dispatch("PresShell::UpdateApproximateFrameVisibility",
+ TaskCategory::Other,
+ do_AddRef(event));
+
+ if (NS_SUCCEEDED(rv)) {
+ mUpdateApproximateFrameVisibilityEvent = event;
}
}
void
PresShell::EnsureFrameInApproximatelyVisibleList(nsIFrame* aFrame)
{
if (!aFrame->TrackingVisibility()) {
return;