зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1347815 - part1.2: label ScrollFrameActivityTracker. r=heycam
ScrollFrameActivityTracker::NotifyExpired() will be invoked by nsExpirationTracker::TimerCallback() from an unlabeled runnable. We provide a SystemGroup EventTarget for the invocation of this callback since there's nothing within a page that would rely on the timer firing at a particular time (i.e., it doesn't matter when this timer's callback is scheduled, relative to other runnables dispatched for the page). MozReview-Commit-ID: 9QEjxCtFhve --HG-- extra : rebase_source : 06b979835363b9c4288dd218d2a4ca2dc111169b
This commit is contained in:
Родитель
bcda6f5517
Коммит
d66ae544cc
|
@ -1980,9 +1980,10 @@ public:
|
|||
// Wait for 3-4s between scrolls before we remove our layers.
|
||||
// That's 4 generations of 1s each.
|
||||
enum { TIMEOUT_MS = 1000 };
|
||||
ScrollFrameActivityTracker()
|
||||
explicit ScrollFrameActivityTracker(nsIEventTarget* aEventTarget)
|
||||
: nsExpirationTracker<ScrollFrameHelper,4>(TIMEOUT_MS,
|
||||
"ScrollFrameActivityTracker")
|
||||
"ScrollFrameActivityTracker",
|
||||
aEventTarget)
|
||||
{}
|
||||
~ScrollFrameActivityTracker() {
|
||||
AgeAllGenerations();
|
||||
|
@ -2539,7 +2540,8 @@ void ScrollFrameHelper::MarkRecentlyScrolled()
|
|||
gScrollFrameActivityTracker->MarkUsed(this);
|
||||
} else {
|
||||
if (!gScrollFrameActivityTracker) {
|
||||
gScrollFrameActivityTracker = new ScrollFrameActivityTracker();
|
||||
gScrollFrameActivityTracker = new ScrollFrameActivityTracker(
|
||||
SystemGroup::EventTargetFor(TaskCategory::Other));
|
||||
}
|
||||
gScrollFrameActivityTracker->AddObject(this);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче