Граф коммитов

58 Коммитов

Автор SHA1 Сообщение Дата
Kristen Wright 05b0ade9f4 Bug 1569004 - Convert dom.timeout.enable_budget_timer_throttling to static pref. r=njn
Converts dom.timeout.enable_budget_timer_throttling from varcache pref to static pref, removes entry from all.js, adds entry to StaticPrefList.yaml. Uses the all.js value and not the value declared in TimeoutManager.cpp. Since this removes the last varcache pref from TimeoutManager::Initialize(), I also removed the Initialize() function and its call in nsGlobalWindowInner.

Differential Revision: https://phabricator.services.mozilla.com/D39455

--HG--
extra : moz-landing-system : lando
2019-07-26 20:14:48 +00:00
Edgar Chen 46c9143db2 Bug 1558776 - Part 4: Merge nsITimeoutHandler and TimeoutHandler; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D34876

--HG--
extra : moz-landing-system : lando
2019-06-14 21:04:19 +00:00
Boris Zbarsky 3cd3acc695 Bug 1535384 part 8. Remove MOZ_CAN_RUN_SCRIPT_BOUNDARY for Web IDL Function. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D23779

--HG--
extra : moz-landing-system : lando
2019-03-19 20:52:03 +00:00
Randell Jesup 39f17e966f Bug 1527414: move DIAGNOSTIC_ASSERT back down to DEBUG-only ASSERT r=smaug 2019-02-25 23:52:11 -05:00
Randell Jesup df67b772ca Bug 1527414: fix firing order assertions in nested event loops in RunTimeout r=ehsan 2019-02-19 08:48:05 -05:00
arthur.iakab a23eac6d53 Backed out changeset 93b9c2a8212b (bug 1527414) for causing build bustages on TimeoutManager.cpp CLOSED TREE 2019-02-21 02:05:58 +02:00
Randell Jesup bf0b02c121 Bug 1527414: fix firing order assertions in nested event loops in RunTimeout r=ehsan 2019-02-19 08:48:05 -05:00
Randell Jesup 715863c129 Backed out changeset f8058a73d119 (bug 1528349) r=smaug
Expected backout of DIAGNOSTIC_ASSERT
2019-02-19 08:40:14 -05:00
Randell Jesup 4bcec2fdca Bug 1528349: Move a DOM timeout spec-compliance ASSERT to DIAGNOSTIC_ASSERT r=smaug 2019-02-16 00:31:37 -05:00
Randell Jesup ec594f87db Bug 1525337: add firing order assertions for setTimeout/setInterval r=smaug 2019-02-05 18:00:24 -05:00
Randell Jesup e213c06fe8 Bug 1270059: Defer setTimeout/Intervals()s in content during pageload r=smaug
They will run off the new DeferredTimers idle queue if idle time is available
2019-01-26 12:18:06 -05:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andreas Farre c9272ef398 Bug 1437064 - Remove tracking timeouts list from TimeoutManager. r=chutten,Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D7878

--HG--
extra : moz-landing-system : lando
2018-10-12 18:01:19 +00:00
Tarek Ziadé f059140c0d Bug 1477755 - Measure TimeoutManager execution - r=farre,froydnj
Tracks calls made through TimeoutManager and makes sure they are
accounted for in the corresponding DocGroup

MozReview-Commit-ID: IvcoBrrZVWp

--HG--
extra : rebase_source : 66b3f6f1f47bc167da350d52ae87d3c0061a8b25
2018-08-13 17:09:56 +02:00
Olli Pettay cbd7017dfb bug 1468099, Add a way to check if all the tabs in a process can be throttled, r=farre 2018-06-16 22:49:41 +03:00
Coroiu Cristina 7d78fd4903 Backed out changeset 7fc2698f9e19 (bug 1468099) for gtest failures on a CLOSED TREE 2018-06-15 04:07:04 +03:00
Olli Pettay 51d20265b8 Bug 1468099 - Add a way to check if all the tabs in a process can be throttled, r=farre
--HG--
extra : rebase_source : d14e13f514166acab7131cdf87be0c2e5e32034c
2018-06-15 00:56:48 +03:00
Peter Van der Beken 50944763eb Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 15d951ed53530387235db2aa1f3dad69d16c9fa7
2017-06-14 16:44:17 +02:00
Sebastian Hengst 3a10644021 Backed out 6 changesets (bug 888600) for beta simulation failures: build bustage on Linux and Windows opt (bug 1442036) and devtools failure browser_net_view-source-debugger.js (bug 1441961). a=backout
Backed out changeset 83c87140dc3d (bug 888600)
Backed out changeset 2efb9b1753f6 (bug 888600)
Backed out changeset af5303781961 (bug 888600)
Backed out changeset 79ef59047e63 (bug 888600)
Backed out changeset 30d568d628dd (bug 888600)
Backed out changeset c7bd4c6c9741 (bug 888600)

--HG--
extra : histedit_source : 791b22f6770f4fead2f909478a93d65d85829fe0%2Cbb387309e90f53e1dde45dcf8cf4ebedcc6e5c5e
2018-03-01 11:51:09 +02:00
Peter Van der Beken 0dc914a027 Bug 888600 - Move ContentFrameMessageManager to WebIDL. Part 3: Add message manager concrete classes for WebIDL. r=bz.
--HG--
extra : rebase_source : 8fb313cbfda3eeec985ba2060abdfe307963a553
2017-06-14 16:44:17 +02:00
Nika Layzell 3409141758 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Andreas Farre 8378e81e6d Bug 1385238 - Reset execution budget when background state changes. r=bkelly 2017-07-28 09:31:00 -04:00
Andreas Farre 4a297f87de Bug 1382254 - Only disallow budget throttling. r=ehsan
Don't consider WebSockets, IndexedDB, etc when considering background
tabs for ordinary throttling since that makes us throttle way less
than we used to.
2017-07-26 13:37:08 +02:00
Ben Kelly fd76c2a146 Bug 1378394 P1 Calculate next setInterval() time from start of previous callback. r=farre 2017-07-06 07:01:40 -07:00
Andreas Farre 132ec026c3 Bug 1362322 - Throttle background timeouts using budget. r=bkelly
Deduct timeout execution time from a continuously regenerating
execution budget. Then throttle timeouts by using that budget in
TimeoutManager::MinSchedulingDelay to adjust the minimum value if
the budget is negative. The minimum value is adjusted to be a
value where the budget would have regenerated to be +0 ms.

The execution budget is clamped by values in ms defined in prefs:

* dom.timeout.background_throttling_max_budget: 50
* dom.timeout.foreground_throttling_max_budget: -1

A value equal or less than 0 means that the budget is infinite.

The regeneration rate can be controlled by the following prefs:

* dom.timeout.background_budget_regeneration_rate
* dom.timeout.foreground_budget_regeneration_rate

one each for foreground and background throttling.

To not starve timeouts indefinitely we clamp the minimum delay using
the pref:

* dom.timeout.budget_throttling_max_delay: 15000

The feature is behind the pref:

* dom.timeout.enable_budget_timer_throttling
2017-07-02 18:02:38 +02:00
Andreas Farre 4b620e2aca Bug 1373536 - Unify execution measurements. r=bkelly
Expose the utility framework for computing runnable execution time for
telemetry to be able to use it for managing budget times.

--HG--
extra : rebase_source : c7aba3d039116ed10597e7b58e2c6e7911cb493d
2017-05-30 13:08:11 +02:00
Sebastian Hengst f38c7cdfa2 Backed out changeset 10676fd9e6ad (bug 1373536) for failing asan-fuzzing at dom/base/TimeoutHandler.h:26 with unknown type name 'NS_DECL_CYCLE_COLLECTION_CLASS' and more. r=backout 2017-06-20 17:47:54 +02:00
Andreas Farre 094c0d5ecd Bug 1373536 - Unify execution measurements. r=bkelly
Expose the utility framework for computing runnable execution time for
telemetry to be able to use it for managing budget times.
2017-06-16 07:40:00 +02:00
Ben Kelly 310e665654 Bug 1371787 P7 Make CalculateDelay() return a TimeDuration. r=ehsan 2017-06-15 17:30:48 -07:00
Ben Kelly 36211ea11b 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 a720c757a3 Bug 1371787 P4 Pass Timeout to DOMMinTimeoutValue(). r=ehsan 2017-06-15 17:30:47 -07:00
Ben Kelly a3c8156b38 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 2771b377cb 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 d959a50dfa Bug 1371664 P2 Make nsGlobalWindow::SetIsBackground() call new TimeoutManager::UpdateBackgroundState(). r=ehsan 2017-06-13 18:08:27 -07:00
Ben Kelly cf2f97c065 Bug 1370025 P5 Remove the old TimeoutManager insertion point logic. r=ehsan 2017-06-05 12:42:33 -07:00
Ben Kelly 1cacde3284 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 c5ee173aaa Bug 1370025 P2 Add TimeoutManager::IsValidFiringId() helper routine. r=ehsan 2017-06-05 12:42:33 -07:00
Ben Kelly 9a57bd14ec Bug 1363829 P8 Remove TimeoutManager back pressure mechanism. r=smaug 2017-05-31 17:13:19 -07:00
Ben Kelly f698e87bfb Bug 1363829 P6 Use the TimeoutExecutor in TimeoutManager. r=ehsan 2017-05-31 17:13:19 -07:00
Ben Kelly e9e20536c7 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 5a9cd2b6fb 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 953ad6f162 Bug 1363829 P2 Removing the Timeout argument to TimeoutManager::RunTimeout(). r=ehsan 2017-05-31 17:13:18 -07:00
Ben Kelly 055afe6bd3 Bug 1363829 P1 Remove some deadcode in TimeoutManager related to processing pending timers. r=ehsan 2017-05-31 17:13:18 -07:00
Ben Kelly d642ac9124 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
Andreas Farre 3ce44dbcc6 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.

--HG--
extra : source : 69439c0cd3e6d118681d1bb6586cb0a7b4bb85fc
2017-05-02 07:23:00 -04:00
Sebastian Hengst 2ed9a7bb99 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 0205fac807 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.

--HG--
extra : rebase_source : f638cc4422a777bbd093d5bbb2d5852c19b1c9d1
2017-05-02 07:23:00 -04:00
Andreas Farre d91399fada 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.

--HG--
extra : rebase_source : 8be5570265adda22775f6bf7528e39dde855429f
2017-04-25 05:20:00 -04:00
Ehsan Akhgari e5fb1b9d4f 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 4941f9389a Bug 1332752 - Add some logging to TimeoutManager; r=bkelly 2017-01-23 16:04:26 -05:00