Ben Kelly
13b51e0da8
Bug 1371787 P7 Make CalculateDelay() return a TimeDuration. r=ehsan
2017-06-15 17:30:48 -07:00
Ben Kelly
a3a0824f2a
Bug 1371787 P6 Move the std::max() calculation into DOMMinTimeoutValue() and rename the method to CalculateDelay(). r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
0b0cff3742
Bug 1371787 P5 Move the Timeout conditional checking into DOMMinTimeoutValue(). r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
0f8eebc74c
Bug 1371787 P4 Pass Timeout to DOMMinTimeoutValue(). r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
ff37f2bc4c
Bug 1371787 P3 Move some Timeout initialization earlier. r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
e92b8bfdb1
Bug 1371787 P2 Don't adjust Timeout::When() values in TimeoutManager::Resume(). r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
4a074d4186
Bug 1371787 P1 Rename TimeoutManager "min timeout" values to "min clamp timeout" for clarity. r=ehsan
2017-06-15 17:30:47 -07:00
Ben Kelly
7ad41638d7
Bug 1371664 P4 Remove old TimeoutManager code that adjusted Timeout::When() while in background. r=ehsan
2017-06-13 18:08:28 -07:00
Ben Kelly
b1f901e58b
Bug 1371664 P3 Pass a minimum delay to TimeoutExecutor::MaybeSchedule() based on TimeoutManager::IsBackground(). r=ehsan
2017-06-13 18:08:27 -07:00
Ben Kelly
25f85897ab
Bug 1371664 P2 Make nsGlobalWindow::SetIsBackground() call new TimeoutManager::UpdateBackgroundState(). r=ehsan
2017-06-13 18:08:27 -07:00
Ben Kelly
79f927f616
Bug 1371020 P3 Cleanup some IsFrozen()/IsSuspended() checking in TimeoutManager. r=ehsan
2017-06-08 19:13:37 -07:00
Ben Kelly
1b3820e042
Bug 1371020 P2 Avoid scheduling TimeoutExecutor if the window becomes suspended in RunTimeout. r=ehsan
2017-06-08 19:13:37 -07:00
Ben Kelly
f0c4ee45a7
Bug 1371020 P1 Avoid rescheduling the TimeoutExecutor in ClearTimeout() in some cases. r=ehsan
2017-06-08 19:13:36 -07:00
Ben Kelly
3dad53eb71
Bug 1370537 P2 Remove TimeoutManager::RunTimeout()'s last expired timeout reference. r=ehsan
2017-06-08 05:51:59 -07:00
Ben Kelly
52ac523931
Bug 1370537 P1 Stop iterating in TimeoutManager::RunTimeout() when we see an invalid firing ID. r=ehsan
2017-06-08 05:51:58 -07:00
Ben Kelly
d487989fec
Bug 1370025 P5 Remove the old TimeoutManager insertion point logic. r=ehsan
2017-06-05 12:42:33 -07:00
Ben Kelly
f15b34ab24
Bug 1370025 P4 Use FiringId validity in TimeoutManager::Timeouts::Insert() and ::ResetTimersForThrottleReduction(). r=ehsan
2017-06-05 12:42:33 -07:00
Ben Kelly
3352102a70
Bug 1370025 P3 Give the Timeouts structure a reference back to its owning TimeoutManager. r=ehsan
2017-06-05 12:42:33 -07:00
Ben Kelly
0e6aea45f3
Bug 1370025 P2 Add TimeoutManager::IsValidFiringId() helper routine. r=ehsan
2017-06-05 12:42:33 -07:00
Ben Kelly
642ba52b36
Bug 1370025 P1 Better optimize the single mFiringIdStack case in IsInvalidFiringId(). r=ehsan
2017-06-05 12:42:33 -07:00
Ben Kelly
69eee722dc
Bug 1363829 P8 Remove TimeoutManager back pressure mechanism. r=smaug
2017-05-31 17:13:19 -07:00
Ben Kelly
0a97320c46
Bug 1363829 P6 Use the TimeoutExecutor in TimeoutManager. r=ehsan
2017-05-31 17:13:19 -07:00
Ben Kelly
322ac915e3
Bug 1363829 P5 Add an executor class to represent the single timer executing timers for a window. r=ehsan
2017-05-31 17:13:19 -07:00
Ben Kelly
1ab86d69e0
Bug 1363829 P4 Store the scheduled delay on Timeout instead of relying on the nsITimer to hold it. r=ehsan
2017-05-31 17:13:18 -07:00
Ben Kelly
f4e57f4b1f
Bug 1363829 P3 Improve Timeout ref counting to avoide bare AddRef/Release calls. r=ehsan
2017-05-31 17:13:18 -07:00
Ben Kelly
45574d8865
Bug 1363829 P2 Removing the Timeout argument to TimeoutManager::RunTimeout(). r=ehsan
2017-05-31 17:13:18 -07:00
Ben Kelly
05ba4d929e
Bug 1363829 P1 Remove some deadcode in TimeoutManager related to processing pending timers. r=ehsan
2017-05-31 17:13:18 -07:00
Ehsan Akhgari
47c52b41d6
Bug 1366812 - Account for the fact that the load event may fire even though mIsDocumentLoaded is true in TimeoutManager; r=cpearce a=topcrasher
2017-05-26 01:11:39 -04:00
Ehsan Akhgari
fec0922261
Bug 1366812 - Initialize TimeoutManager::mThrottleTrackingTimeouts to false; r=smaug
...
This way we won't rely on code which may have potentially not run yet.
2017-05-24 14:48:53 -04:00
Andreas Farre
0a2d66f72f
Bug 1367025 - Don't start throttling delay timers while suspended. r=bkelly
...
From c350a6db4069d1a33a21546a287714bfe07e0590 Mon Sep 17 00:00:00 2001
---
dom/base/TimeoutManager.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
2017-05-23 15:36:08 +02:00
Ben Kelly
8937ee90df
Bug 1343912 P5 Removed the fixed limit on consecutive Timeout callbacks. r=ehsan
2017-05-19 13:45:55 -07:00
Ben Kelly
b2659cf1e7
Bug 1343912 P4 Only execute consecutive timeout handlers for a limit period of time. r=ehsan
2017-05-19 13:45:55 -07:00
Ben Kelly
045d7d2e6d
Bug 1343912 P2 Change TimeoutManager firing depth to a unique ID that can be expired to optimize cleanup. r=ehsan
2017-05-19 13:45:55 -07:00
Ben Kelly
6066f03844
Bug 1343912 P1 Cleanup logic in TimeoutManager::RunTimeout() to keep firing depth and other data consistent. r=ehsan
2017-05-19 13:45:55 -07:00
Andreas Farre
4e27fc2a50
Bug 1364858 - Make sure throttle timer isn't recreated. r=smaug
...
MozReview-Commit-ID: DU8ukd9JqI6
2017-05-19 16:07:52 +02:00
Andreas Farre
3b2975055b
Bug 1355480 - Add telemetry for measuring timeout execution. r=smaug, data-r=bsmedberg
...
Measure execution time by adding telemetry probes for tracking
foreground, tracking background, non-tracking foreground and
non-tracking background timeouts.
2017-05-02 07:23:00 -04:00
Sebastian Hengst
6502d52b40
Backed out changeset 69439c0cd3e6 (bug 1355480) on suspicion of triggering assertion CompositorThreadHolder::IsInCompositorThread() on Windows 8 x64 M-e10s. r=backout
2017-05-02 23:41:44 +02:00
Andreas Farre
72cb52644f
Bug 1355480 - Add telemetry for measuring timeout execution. r=smaug, data-r=bsmedberg
...
Measure execution time by adding telemetry probes for tracking
foreground, tracking background, non-tracking foreground and
non-tracking background timeouts.
2017-05-02 07:23:00 -04:00
Andreas Farre
341eb7be49
Bug 1339909 - More eagarly clear throttle tracking timer. r=bkelly
...
Clear the throttle tracking timer in ClearAllTimeouts. Also clear it
in Suspend, and if mThrottleTrackingTimeouts isn't set restart the
timer if the document hasn't loaded.
2017-04-25 05:20:00 -04:00
Ben Kelly
6d2c258cfe
Bug 1346426 Don't crash if a window is frozen while there is a dummy timer in the list. r=ehsan
2017-03-13 15:26:22 -04:00
Ben Kelly
67115cde54
Bug 1343877 Don't allow an extra timer callback beyond configured pref value. r=smaug
2017-03-02 11:33:11 -05:00
Ben Kelly
01918dadf1
Bug 1342854 Run a limited number of timer callbacks in the same event loop runnable. r=smaug
2017-02-27 17:33:30 -05:00
Ehsan Akhgari
9c9abc4cb6
Bug 1338691 - Add a pref for delaying tracking timeout throttling after the page load finishes; r=bkelly
2017-02-14 10:57:47 -05:00
Ehsan Akhgari
2a63a861b1
Bug 1336484 - Don't throttle timeouts in background tabs that are playing audio; r=baku
...
In websites such as Facebook Live, timeout chains are used to drive the
playback of a video or something similar in JavaScript. Throttling the
minimum timeout values a tab playing a video from such websites in the
background could make the timeout based scheduling of video playback to
not work correctly, and cause audio buffer under-runs that are audible.
In order to address this, other major browsers don't throttle timeouts
in tabs that are playing audio. This brings us to parity to other
browsers (even though we already do this for websites that use Web Audio
since we've had similar bug reports using the Web Audio API.)
The current audio agent setup that drives the tab audio notification
icons is currently tracking whether a Window is playing audio. We use
this setup to decide whether to throttle timeouts when a window goes
into background.
2017-02-10 12:08:25 -05:00
Ben Kelly
b9a0d483d9
Bug 1336822 Optimize ResetTimesForTHrottleReduction() for common case. r=ehsan
2017-02-06 12:10:00 -05:00
Ben Kelly
375ca4997b
Bug 1336598 P3 Add preferences to control timeout back pressure algorithm. r=smaug
2017-02-05 21:50:12 -05:00
Ben Kelly
d560aca427
Bug 1336598 P2 Avoid underflow in timeout CancelOrUpdateBackpressure(). r=smaug
2017-02-05 21:50:09 -05:00
Ben Kelly
294b4d7500
Bug 1336598 P1 Tune setTimeout anti-flood constants to minimize jank. r=smaug
2017-02-05 21:50:07 -05:00
Ehsan Akhgari
98d2607b7c
Bug 1332752 - Add some logging to TimeoutManager; r=bkelly
2017-01-23 16:04:26 -05:00
Ehsan Akhgari
bad7b94ed6
Bug 1332776 - Ensure that the dom.min_tracking_timeout_value pref takes effect; r=bkelly
...
Without this, we would only try to clamp the timeout for background
windows and nested timeouts. We should also do this for all timeouts
that are classified as tracking.
2017-01-23 16:04:21 -05:00