From c045933e61f246eafdff42d61d70b7f436922d53 Mon Sep 17 00:00:00 2001 From: Mike Conley Date: Thu, 12 Jul 2018 14:38:38 -0400 Subject: [PATCH] Bug 1373408 - Make nsUpdateTimerManager notify callbacks on idle. r=rhelmer MozReview-Commit-ID: INSvHMEXOxt --HG-- extra : rebase_source : f91bc401f283b593d0c4bdf012923450676d7cbc --- .../timermanager/nsUpdateTimerManager.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/toolkit/components/timermanager/nsUpdateTimerManager.js b/toolkit/components/timermanager/nsUpdateTimerManager.js index 43c9ba48db73..dbdff37dbad5 100644 --- a/toolkit/components/timermanager/nsUpdateTimerManager.js +++ b/toolkit/components/timermanager/nsUpdateTimerManager.js @@ -219,13 +219,15 @@ TimerManager.prototype = { } tryFire(function() { if (timerData.callback && timerData.callback.notify) { - try { - timerData.callback.notify(timer); - LOG("TimerManager:notify - notified timerID: " + timerID); - } catch (e) { - LOG("TimerManager:notify - error notifying timerID: " + timerID + - ", error: " + e); - } + ChromeUtils.idleDispatch(() => { + try { + timerData.callback.notify(timer); + LOG("TimerManager:notify - notified timerID: " + timerID); + } catch (e) { + LOG("TimerManager:notify - error notifying timerID: " + timerID + + ", error: " + e); + } + }); } else { LOG("TimerManager:notify - timerID: " + timerID + " doesn't " + "implement nsITimerCallback - skipping");