Commit Graph
232 Commits
Author SHA1 Message Date
Sylvestre Ledru 9eb1a31a98 Bug 2023419 - Remove Emacs/Vim modelines from dom/ r=emilio,media-playback-reviewers,webidl,padenot
replaced by .editorconfig
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D287843
2026-03-16 21:02:32 +00:00
Artur Iunusov e1df4d5c51 Bug 2002517 - FIX Extension native messaging performance, r=smaug,extension-reviewers,robwu
- added a chrome worker exception

Differential Revision: https://phabricator.services.mozilla.com/D274356
2025-12-01 10:00:18 +00:00
Kelsey Gilbert f5e3591910 Bug 1958371 - Reduce header-header-includes of nsGlobalWindowInner.h. r=mccr8,chutten,timhuang
* Forward s/nsGlobalWindowInner_CachesEnabled/nsGlobalWindowInner::CachesEnabled/.

Differential Revision: https://phabricator.services.mozilla.com/D244408
2025-09-05 19:36:07 +00:00
agoloman 2c8936cbbf Revert "Bug 1958371 - Reduce header-header-includes of nsGlobalWindowInner.h. r=mccr8,chutten,timhuang" for causing build bustages @TimeoutManager.cpp.
This reverts commit 4b30815167.
2025-08-26 16:37:54 +00:00
Kelsey Gilbert 4b30815167 Bug 1958371 - Reduce header-header-includes of nsGlobalWindowInner.h. r=mccr8,chutten,timhuang
* Forward s/nsGlobalWindowInner_CachesEnabled/nsGlobalWindowInner::CachesEnabled/.

Differential Revision: https://phabricator.services.mozilla.com/D244408
2025-08-26 15:30:13 +00:00
Emilio Cobos Álvarez 791917d8af Bug 1976665 - Sort headers in dom/. r=dom-core,media-playback-reviewers,webrtc-reviewers,dom-storage-reviewers,padenot,janv,smaug,jesup,jib
Most changes are automated. Relevant bit is dom/.clang-format. I had to
manually disable clang-format in a few places where importing external
files and so on that aren't self-contained, and fix a couple includes /
forward declarations.

Differential Revision: https://phabricator.services.mozilla.com/D256800
2025-08-05 11:47:34 +00:00
[email protected] 370cd3736e Bug 1965514 - Remove dom.workers.timeoutmanager pref and unused code, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D256655
2025-07-11 10:03:13 +00:00
Sandor Molnar 15ad1b90ce Revert "Bug 1965514 - Remove dom.workers.timeoutmanager pref and unused code, r=smaug" for causing perma xpc failures.
This reverts commit a08a7641e2.
2025-07-11 08:41:41 +00:00
[email protected] a08a7641e2 Bug 1965514 - Remove dom.workers.timeoutmanager pref and unused code, r=smaug
- completely removed all timeout management related code from WorkerPrivate

Differential Revision: https://phabricator.services.mozilla.com/D256655
2025-07-11 05:36:51 +00:00
[email protected] 0afe028ab6 Bug 1967608 - Make all prefs accessed by worker thread atomic, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D250349
2025-05-21 11:23:18 +00:00
Iain Ireland 2e888f61c8 Bug 1467846: Part 10: Introduce DelayedDispatchToEventLoopCallback r=arai,dom-worker-reviewers,smaug
[Atomics.waitAsync](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/waitAsync) creates a promise that can be resolved via Atomics.notify, or after an optional timeout. The timeout is [implemented](https://html.spec.whatwg.org/multipage/webappapis.html#hostenqueuetimeoutjob) using the [HostEnqueueTimeoutJob hook](https://html.spec.whatwg.org/multipage/webappapis.html#hostenqueuetimeoutjob), which queues a global task (not a microtask).

This patch adds a new API (DelayedDispatchToEventLoopCallback) accessible by the JS engine that utilized the TimeoutManager for executing the steps outlined in the HostEnqueTimeoutJob. Unlike DispatchToEventCallback, this is currently restricted to only threads which support TimeoutManager (the Main thread and the Workers Thread). This should not be enabled on worklets per the discussion [here](https://phabricator.services.mozilla.com/D212876#inline-1206374). The next patch adds an implementation in worker threads. A later patch in the stack adds an implementation for the shell.

Depends on D212875

Differential Revision: https://phabricator.services.mozilla.com/D212876
2025-05-13 10:04:54 +00:00
Florian Quèze 9885783942 Bug 1956726 - remove leftover Telemetry.h includes in .cpp files, r=chutten,geckoview-reviewers,cookie-reviewers,win-reviewers,dom-storage-reviewers,gstoll,valentin,m_kato,janv.
Differential Revision: https://phabricator.services.mozilla.com/D244351
2025-04-08 13:03:02 +00:00
Sean Feng 9e0549626d Bug 1920115 - Allow higher priority web scheduler scheduled tasks to run before timers for workers r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D238969
2025-03-31 19:49:03 +00:00
Sean Feng bbc06f4b40 Bug 1920115 - Allow high priority tasks to run before timers r=smaug
In Gecko, unlike other runnables where the TaskController
picks one each at a time, the TimeoutManager allows multiple
timers to run sequentially without allowing other runnables
to run in between.

This patch makes the user_blocking and user_visible tasks
dispatched by Scheduler API can run before timers.

Differential Revision: https://phabricator.services.mozilla.com/D237753
2025-03-31 19:49:03 +00:00
[email protected] 797f919012 Bug 1945470 - Fix data races and enable dom.workers.timeoutmanager for Nightly, r=smaug
- data races fixed
- Workers: TimeoutBudgetManager is not static anymore
- Workers: do not update gRunningTimeoutDepth
- added UpdateCCFlag() calls
- do not update PopupState in worker case
- increased MAX_ROUND_TRIP_TIME_MS

Differential Revision: https://phabricator.services.mozilla.com/D237064
2025-03-04 15:46:33 +00:00
Butkovits Atila 518c66d0dd Backed out changeset 873b1f683e95 (bug 1945470) for causing high frequency failures at test_ext_native_messaging_perf.js. CLOSED TREE 2025-03-03 23:28:43 +02:00
[email protected] abe7e05517 Bug 1945470 - Fix data races and enable dom.workers.timeoutmanager for Nightly, r=smaug
- data races fixed
- Workers: TimeoutBudgetManager is not static anymore
- Workers: do not update gRunningTimeoutDepth
- added UpdateCCFlag() calls
- do not update PopupState in worker case
- increased MAX_ROUND_TRIP_TIME_MS

Differential Revision: https://phabricator.services.mozilla.com/D237064
2025-03-03 17:12:26 +00:00
Stanca Serban fee009a450 Backed out 8 changesets (bug 1920115) for causing multiple failures.
Backed out changeset 2d0905a92f2c (bug 1920115)
Backed out changeset 67bf260fe59b (bug 1920115)
Backed out changeset 4739af17e757 (bug 1920115)
Backed out changeset 0773f669c498 (bug 1920115)
Backed out changeset 4b579a1c9b46 (bug 1920115)
Backed out changeset 79b3b0148eb4 (bug 1920115)
Backed out changeset 78181c32bdc6 (bug 1920115)
Backed out changeset 912cf1adac80 (bug 1920115)
2025-02-28 02:01:11 +02:00
Sean Feng d16d80a7e9 Bug 1920115 - Allow higher priority web scheduler scheduled tasks to run before timers for workers r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D238969
2025-02-27 16:17:37 +00:00
Sean Feng 501645ad9c Bug 1920115 - Allow high priority tasks to run before timers r=smaug
In Gecko, unlike other runnables where the TaskController
picks one each at a time, the TimeoutManager allows multiple
timers to run sequentially without allowing other runnables
to run in between.

This patch makes the user_blocking and user_visible tasks
dispatched by Scheduler API can run before timers.

Differential Revision: https://phabricator.services.mozilla.com/D237753
2025-02-27 16:17:36 +00:00
Goloman Adrian c6e05542f0 Backed out 8 changesets (bug 1920115) for causing hazard bustages @CycleCollectedJSContext.cpp.
Backed out changeset f5357c6c5580 (bug 1920115)
Backed out changeset 6a8cb3cc704e (bug 1920115)
Backed out changeset 4ccb6970887e (bug 1920115)
Backed out changeset 7522970c5a1d (bug 1920115)
Backed out changeset 6c1140811a6c (bug 1920115)
Backed out changeset be6c223e63f0 (bug 1920115)
Backed out changeset 121bf804d2a6 (bug 1920115)
Backed out changeset 6b23965ce57e (bug 1920115)
2025-02-25 02:48:00 +02:00
Sean Feng 992c11f50d Bug 1920115 - Allow higher priority web scheduler scheduled tasks to run before timers for workers r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D238969
2025-02-24 19:31:29 +00:00
Sean Feng 8fbedf6393 Bug 1920115 - Allow high priority tasks to run before timers r=smaug
In Gecko, unlike other runnables where the TaskController
picks one each at a time, the TimeoutManager allows multiple
timers to run sequentially without allowing other runnables
to run in between.

This patch makes the user_blocking and user_visible tasks
dispatched by Scheduler API can run before timers.

Differential Revision: https://phabricator.services.mozilla.com/D237753
2025-02-24 19:31:28 +00:00
Artur Iunusov 13cd62d95e Bug 1945798 - Use mirror: once since the dom.workers.timeoutmanager pref required restart, r=smaug
- XRE_IsContentProcess() was removed from the pref checks

Differential Revision: https://phabricator.services.mozilla.com/D236696
2025-02-05 15:19:30 +00:00
aiunusov 5cca3ceec2 Bug 1926181 - Tweak TimeoutManager for usage with Workers, r=smaug,dom-worker-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D226433
2025-01-27 11:46:06 +00:00
Matt Harding 2d5865667c Bug 1913613 - Prevent setTimeout IDs being reused while already in use r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219405
2024-11-20 19:53:22 +00:00
Matt Harding 02753e6a72 Bug 1913613 - Fix wrapping behaviour of setTimeout IDs and consolidate types to int32 r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219404
2024-11-20 19:53:22 +00:00
Norisz Fay 5cbec17815 Backed out changeset a5ae29b17323 (bug 1929270) for causing multiple failures related to mozalloc_abort 2024-11-13 01:20:48 +02:00
serge-sans-paille fb28d435bf Bug 1929270 - Use std::clamp instead of min/max chain in dom/ r=nika
Differential Revision: https://phabricator.services.mozilla.com/D227984
2024-11-12 22:24:27 +00:00
Sandor Molnar f9b7f10804 Backed out 4 changesets (bug 1865148, bug 1913613) for causing perma mochistest failures @ test_event_listener_leaks.html
Backed out changeset 47562b188068 (bug 1865148)
Backed out changeset 926b62d4264a (bug 1913613)
Backed out changeset 556574628458 (bug 1913613)
Backed out changeset 81190e44c586 (bug 1913613)
2024-09-19 00:16:04 +03:00
Matt Harding 9efdc270eb Bug 1913613 - Prevent setTimeout IDs being reused while already in use r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219405
2024-09-18 17:13:08 +00:00
Matt Harding a03d36fcab Bug 1913613 - Fix wrapping behaviour of setTimeout IDs and consolidate types to int32 r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219404
2024-09-18 17:13:07 +00:00
Sandor Molnar 2f2a182fb3 Backed out 2 changesets (bug 1913613) for causing perma bc failures @ browser_bannerClicking_slowLoad.js CLOSED TREE
Backed out changeset 0e7c63c931c8 (bug 1913613)
Backed out changeset ffcfb4f9402e (bug 1913613)
2024-08-21 17:05:07 +03:00
Matt Harding 8725830e8e Bug 1913613 - Prevent setTimeout IDs being reused while already in use r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219405
2024-08-21 11:11:53 +00:00
Matt Harding c11ce81d14 Bug 1913613 - Fix wrapping behaviour of setTimeout IDs and consolidate types to int32 r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D219404
2024-08-21 11:02:00 +00:00
aiunusov af7cceba76 Bug 1897400 - prepare TimeoutManager for reuse in workers via nsIGlobalObject, r=smaug
- methods IsBackgroundInternal(), IsRunningTimeout(), TimeoutManager() were moved to nsIGlobalObject

Differential Revision: https://phabricator.services.mozilla.com/D211008
2024-06-24 10:29:16 +00:00
Cristian Tuns 72f3d45d9e Backed out changeset f479ecc1133d (bug 1897400) for causing build bustages in TimeoutManager.cpp CLOSED TREE 2024-06-21 10:32:22 -04:00
aiunusov 93fb08c61d Bug 1897400 - prepare TimeoutManager for reuse in workers via nsIGlobalObject, r=smaug
- methods IsBackgroundInternal(), IsRunningTimeout(), TimeoutManager() were moved to nsIGlobalObject

Differential Revision: https://phabricator.services.mozilla.com/D211008
2024-06-21 11:27:32 +00:00
Andreas Farre 40584f216b Bug 1721667 - Move idle timeouts to active on freeze. r=peterv
To avoid handling Timeouts without a valid mWhen when TimeoutManager
is notified that a load is complete, but where the inner window is
potentially frozen we preemptively move then in Freeze.

Differential Revision: https://phabricator.services.mozilla.com/D193450
2023-11-14 15:58:17 +00:00
Peter Van der Beken c10814e75a Bug 1846277 - Remove nsGlobalWindow.h. r=dom-core,necko-reviewers,jesup,farre
Differential Revision: https://phabricator.services.mozilla.com/D184973
2023-08-02 20:41:48 +00:00
Randell Jesup d143abe882 Bug 1729559: Only set mFiringIndex for timers when they actually attempt to fire r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D182626
2023-07-06 12:50:36 +00:00
Florian Quèze de6cef3975 Bug 1836191 - remove PerformanceCounter that was only used by ChromeUtils.requestPerformanceMetrics, r=smaug.
Differential Revision: https://phabricator.services.mozilla.com/D179697
2023-06-08 21:53:18 +00:00
Olli Pettay 202e1d061e Bug 1815590 - Add a pref for the number of nested timeouts before we start clamping, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D169159
2023-02-08 16:53:10 +00:00
Kagami Sascha Rosylight 292e1ae8a9 Bug 1771009 - Make TimeoutManager::SetTimeout no-op if window is dying r=smaug
setTimeout is not affected since nsGlobalWindowInner::SetTimeout is not called at all when it's dying, but that's not the case with AbortSignal.timout, so we have to explicitly deal with such situation.

Differential Revision: https://phabricator.services.mozilla.com/D147368
2022-05-27 14:02:53 +00:00
Iulian Moraru baf74ca6f7 Backed out changeset f29c1f743f52 (bug 1771009) for causing failures on timeout-close.html. CLOSED TREE 2022-05-27 02:02:16 +03:00
Kagami Sascha Rosylight 386c097a28 Bug 1771009 - Make TimeoutManager::SetTimeout no-op if window is dying r=smaug
setTimeout is not affected since nsGlobalWindowInner::SetTimeout is not called at all when it's dying, but that's not the case with AbortSignal.timout, so we have to explicitly deal with such situation.

Differential Revision: https://phabricator.services.mozilla.com/D147368
2022-05-26 22:12:48 +00:00
Sean Feng 7656eea3db Bug 1734997 - Prototype the Prioritized Task Scheduling API r=smaug
Spec: https://wicg.github.io/scheduling-apis/

Differential Revision: https://phabricator.services.mozilla.com/D133494
2022-04-21 18:47:52 +00:00
Marian-Vasile Laza 05a0488a76 Backed out 7 changesets (bug 1734997) for causing bustages on WebTaskSchedulerMainThread.cpp. CLOSED TREE
Backed out changeset 7ab1e7cc8f6a (bug 1734997)
Backed out changeset 0846da0f5ab1 (bug 1734997)
Backed out changeset 3a138b8501ec (bug 1734997)
Backed out changeset 55c6e7862298 (bug 1734997)
Backed out changeset 724cccd1d595 (bug 1734997)
Backed out changeset 5e624d630397 (bug 1734997)
Backed out changeset 09469f7dd10e (bug 1734997)
2022-04-19 12:54:00 -07:00
Sean Feng 53dcd69ec4 Bug 1734997 - Prototype the Prioritized Task Scheduling API r=smaug
Spec: https://wicg.github.io/scheduling-apis/

Differential Revision: https://phabricator.services.mozilla.com/D133494
2022-04-19 19:08:44 +00:00
Kagami Sascha Rosylight 3728545cb5 Bug 1753309 - Fix build bustage 2 CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D142725
2022-04-01 20:11:23 +00:00