Commit Graph

65 Commits

Author SHA1 Message Date
Yulia Startsev
f288b2e904 Bug 1713615 - Rename WorkerType to WorkerKind; r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D116389
2021-06-01 16:59:50 +00:00
Andreas Farre
7e442f4c0e Bug 1701190 - Make sure that a current window context exists. r=dom-worker-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D111108
2021-04-09 12:03:52 +00:00
Yaron Tausky
5d49240755 Bug 1657130 - Expose worker's window IDs to nsIWorkerDebugger r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D99441
2021-01-21 13:14:06 +00:00
Mihai Alexandru Michis
910e64de92 Backed out changeset d4b644dd05b2 (bug 1657130) for causing worker crashes. a=backout
DONTBUILD
2021-01-21 11:38:45 +02:00
Yaron Tausky
3f05d24fad Bug 1657130 - Expose worker's window IDs to nsIWorkerDebugger r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D99441
2021-01-19 17:04:04 +00:00
Andreas Farre
1b5787e10a Bug 1646505 - Fix about:performance for Fission. r=tarek
With fission it's not possible to use
nsPIDOMWindowOuter::GetInProcessTop and expect to find the top-level
window, since it might be in another process. Instead we use
BrowsingContext::Top. Another issue is that it's not possible to
traverse children by recursively calling GetTabSizes, instead we need
to use BrowsingContext traversal mechanics.

Memory reporting is a bit tricky, since now doc gropus belonging to a
cross process top level browsing context needs to report it's memory
usage and can't skip it, so this is also handled.

Differential Revision: https://phabricator.services.mozilla.com/D97312
2020-12-11 15:56:23 +00:00
Simon Giesecke
de7bab0f06 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Perry Jiang
9c0f970552 Bug 1642906 - initialize PerformanceCounter in WorkerPrivate initialization r=dom-workers-and-storage-reviewers,sg
- Fixes a data race where the member variable is being written to by
EnsurePerformanceCounter on the worker thread while being read on a separate
thread (via Worker.postMessage).
- Apply some pointer guildelines to the member variable getters.
- Constify some things that should be const.

Differential Revision: https://phabricator.services.mozilla.com/D82475
2020-07-09 05:23:14 +00:00
Simon Giesecke
cd8b8939b9 Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kris Maglione
6aa06b33a7 Bug 1645510: Part 2 - Avoid using the unprivileged junk scope where possible. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D79720
2020-06-27 03:06:28 +00:00
Simon Giesecke
e2e2fb7640 Bug 1648440 - Use range-based for in WorkerDebugger where possible. r=dom-workers-and-storage-reviewers,asuth
Differential Revision: https://phabricator.services.mozilla.com/D81058
2020-06-26 14:52:15 +00:00
Kris Maglione
4b1ac04706 Bug 1642425: Part 1 - Remove IsTopLevelWindow() method. r=baku
It doesn't do anything sensible under Fission.

Differential Revision: https://phabricator.services.mozilla.com/D77700
2020-06-17 18:01:00 +00:00
Simon Giesecke
da93ce54da Bug 1626570 - Improve handling of copying arrays in dom/workers/. r=dom-workers-and-storage-reviewers,ytausky
Differential Revision: https://phabricator.services.mozilla.com/D73668
2020-05-11 08:22:17 +00:00
Simon Giesecke
7cdfb55880 Bug 1628692 - Prepare dom/serviceworkers and dom/workers for making FallibleTArray uncopyable. r=dom-workers-and-storage-reviewers,edenchuang
Differential Revision: https://phabricator.services.mozilla.com/D72618
2020-04-29 08:41:15 +00:00
Perry Jiang
3446310d6c Bug 1618546 - give worker debugger globals their own clients r=asuth,webidl,smaug
- Worker debugger globals gets a client with a null principal
- Ensure globals are created before script loads
- Introduce WorkerGlobalScopeBase to share code
- Transfer ClientSource ownership from WorkerPrivate to worker globals
- Require getting clients from the globals instead of WorkerPrivate with the
  exception of getting the reserved client before the non-debugger global is
  created

Differential Revision: https://phabricator.services.mozilla.com/D68936
2020-04-21 06:50:53 +00:00
Jean-Yves Avenard
fe4218a373 Bug 1630802 - P4. Remove unused member. r=bholley
It lead the AbstractThread's assumption that there can only be one active per thread be invalid.

Differential Revision: https://phabricator.services.mozilla.com/D71441
2020-04-21 03:08:55 +00:00
Andreas Farre
b529c76594 Bug 1620594 - Part 6: Use AbstractThread::MainThread instead of SystemGroup::AbstractThread. r=nika
Depends on D67635

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:17:14 +00:00
Andreas Farre
63e21eec70 Bug 1620594 - Part 1: Rework NS_ReleaseOnMainThreadSystemGroup. r=nika
To be able to remove SystemGroup, NS_ReleaseOnMainThreadSystemGroup
needs to have its dependency on SystemGroup removed. Since all
releases using SystemGroup would've released on the main thread anyway
we can safely replace NS_ReleaseOnMainThreadSystemGroup with
NS_ReleaseOnMainThread.

Depends on D64390

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

--HG--
extra : moz-landing-system : lando
2020-04-07 15:16:23 +00:00
Perry Jiang
d3d780f56b Bug 1615014 - ensure performance storage/counter is set before being read r=dom-workers-and-storage-reviewers,asuth
WorkerThreadPrimaryRunnable possibly indirectly creates a
SendInitBackgroundRunnable (runs on the main thread), which causes a data race
with CompileScriptRunnable (runs on the worker thread) by having an
unsynchronized read/write of WorkerPrivate::mPerformanceCounter.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 03:22:42 +00:00
Simon Giesecke
0cc72577b5 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in dom/workers. r=dom-workers-and-storage-reviewers,janv
Differential Revision: https://phabricator.services.mozilla.com/D62562

--HG--
extra : moz-landing-system : lando
2020-02-12 10:38:22 +00:00
Brian Hackett
dd51441012 Bug 1590766 - Use transitive parent's window in nsIWorkerDebugger.window, r=asuth.
Differential Revision: https://phabricator.services.mozilla.com/D59638

--HG--
extra : moz-landing-system : lando
2020-01-15 13:40:47 +00:00
Kannan Vijayan
3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Jean-Yves Avenard
e0f0e16680 Bug 1548795 - P2. Remove dom.performance.enable_scheduler_timing preference. r=tarek
Differential Revision: https://phabricator.services.mozilla.com/D30467

--HG--
extra : moz-landing-system : lando
2019-05-09 23:12:12 +00:00
Brian Hackett
ab337aa92c Bug 1392408 Part 3 - Report stacks to net monitor when loading worker scripts, r=bzbarsky.
--HG--
extra : rebase_source : c4b52354dc9c71bb86cd157f0f710d01b78659e5
2019-05-02 08:34:27 -10:00
Brian Hackett
d5333b6d62 Bug 1392408 Part 2 - Encapsulate threadsafe main/worker stacks in WorkerStackHolder, r=bzbarsky.
--HG--
extra : rebase_source : ea846926ba4c7f2caca45d56004644f03bdeeb7f
2019-05-02 08:25:43 -10:00
Daisuke Akatsuka
6f3ba76797 Bug 1539328: Introduce new unique id for normal worker actor. r=jdescottes,bhackett
Depends on D25207

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

--HG--
extra : moz-landing-system : lando
2019-04-18 00:47:24 +00:00
Brian Hackett
d5ff34f278 Bug 1543751 Part 2 - Include stack in worker error reports, r=bz.
--HG--
extra : rebase_source : def4f4f4203cb0905cde342d7f02fe4f101005f5
extra : histedit_source : 87179f28838b627a848605b54d0d64bb20dc0ca4
2019-04-15 13:46:05 -10:00
Sylvestre Ledru
03c8e8c2dd Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-05 21:41:42 +00:00
Csoregi Natalia
ba58e936bd Backed out changeset 4ad80127f89f (bug 1519636) for bustage on MarkupMap.h and nsAccessibilityService.cpp. CLOSED TREE 2019-04-05 09:48:19 +03:00
Sylvestre Ledru
d1c1878603 Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 21:36:16 +00:00
Narcis Beleuzu
24dbe577a5 Backed out changeset 389b6bbd76db (bug 1519636) for bustages on MarkupMap.h . CLOSED TREE 2019-04-05 00:27:56 +03:00
Sylvestre Ledru
399dbd28fe Bug 1519636 - clang-format-8: Reformat recent changes to the Google coding style r=Ehsan
clang-format-8 upstream had some improvements wrt macros
See: https://reviews.llvm.org/D33440
This is why the diff is bigger than usual

# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-04-04 20:12:23 +00:00
Sylvestre Ledru
4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
Olli Pettay
1b790f3246 Bug 1522316, use medium high priority queue for worker->main thread control messages, r=baku
If main thread is busy handling runnables in the normal priority queue, control-type of messages from
workers are possibly postponed to run after those. That can lead to bad performance, if the page
expects workers to be able to proceed simultanously with the main thread.
This patch makes the control messages to use medium high priority queue in order to try to
ensure they are handled in timely manner.
Pref dom.worker.use_medium_high_event_queue can be set to false to disable this new behavior.

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

--HG--
extra : rebase_source : 447dec6dbcccaa0206a1815c21ccf713c523fc91
2019-03-05 18:47:05 +02:00
Brian Hackett
2561d82269 Bug 1527203 Part 1 - Add interface to delay execution of debuggee content in workers during debugger registration, r=asuth.
--HG--
extra : rebase_source : 7baebe68b424d99d468c06b230228e019780a123
2019-02-12 13:04:18 -10:00
Ehsan Akhgari
e5e885ae31 Bug 1521000 - Part 2: Adjust our clang-format rules to include spaces after the hash for nested preprocessor directives r=sylvestre
# ignore-this-changeset

--HG--
extra : amend_source : 7221c8d15a765df71171099468e7c7faa648f37c
extra : histedit_source : a0cce6015636202bff09e35a13f72e03257a7695
2019-01-18 10:16:18 +01:00
Sylvestre Ledru
47a5dd1fb8 Bug 1519636 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-01-16 08:50:07 +00:00
Tarek Ziadé
aa665262ce Bug 1513304 - check that the nsIURI pointer is not null - r=baku
Verify that the script URI is not null before using it.
If it's the case, we can't really continue because that url
identifies the worker in the metrics.

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

--HG--
extra : moz-landing-system : lando
2019-01-02 08:25:13 +00: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
Tarek Ziadé
63637ef222 Bug 1497124 - Added some memory info in the performance counters - r=jya,jonco
Add some memory usage information to the Performance counters and make everything asynchronous.

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

--HG--
extra : moz-landing-system : lando
2018-11-19 22:51:12 +00:00
Jan de Mooij
01fa47134b Bug 1479363 part 4 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in dom/workers and dom/worklet. r=baku 2018-07-31 08:37:17 +02:00
Tarek Ziadé
a3fdf4760e Bug 1477943 - Add a unique id per PerformanceCounter instance - r=baku,froydnj
This new id is added in the PerformanceInfo data and helps consumers distinguish
counters.

MozReview-Commit-ID: 7kEmqJcVggM

--HG--
extra : rebase_source : 40cca4c937f846db93ec1315036ad1bac04bc762
2018-07-27 11:44:22 +02:00
Jan de Mooij
80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Tarek Ziadé
a46c616883 Bug 1474844 - Filter out empty categories - r=baku
Filters out empty categories when ChromeUtils.requestPerformanceMetrics() is called.

This test also:

- adds more test coverage
- uses the worker windowId when it has no linked window.
- properly walk to the worker parent

MozReview-Commit-ID: 3UH9a0UtVmx

--HG--
extra : rebase_source : 337b95466c7e7a30f881e881358d3b8d290f8f5b
2018-07-13 11:57:59 +02:00
Tarek Ziadé
0538cd57e2 Bug 1472668 - Don't reset performance counters when reading their values - r=baku
We're changing the counters behavior since they are not notifications anymore.
In the new behavior they don't get reset when they are retrieved,
so we can have several consumers via the promise.

If the values overflow, we let the wrapping occur (unsigned values).

MozReview-Commit-ID: 1adkszScYo4

--HG--
extra : rebase_source : cd554ad4cfa643b09f75bb07e38b5d35e08cf470
2018-07-10 10:06:41 +02:00
Tarek Ziadé
47344f4b4a Bug 1474253 - Improve ReportPerformanceInfo() - r=baku
- modifies how we get the top window id, adds isTopLevel
- renames pwid to windowId, worker to isWorker
- removes the wid field
- uses the url in case the host is empty

It also fixes PerformanceInfoDictionary.host type

MozReview-Commit-ID: 4AzO3UnJ2LM

--HG--
extra : rebase_source : 5dee8a650064fd45e7a9e694c2593d517f74d766
2018-07-10 09:58:48 +02:00
Tarek Ziadé
bcf6f4c256 Bug 1471517 - Converts ChromeUtils.requestPerformanceMetrics as Promise - r=baku
This ChromeUtils API now returns a promise that gets resolved once all the data
has been collected via IPDL and the main process. The existing notification
design and its related XPCOM classes are removed.

MozReview-Commit-ID: CYKukBOC8yh

--HG--
extra : rebase_source : 1e27524726ace0bfed5297d48af8be268c5b4945
2018-07-05 16:32:03 +02:00
Margareta Eliza Balazs
9974f39b66 Backed out changeset f177b4c9bdcd (bug 1471517) for causing failures in netwerk/test/browser/browser_test_io_activity.js on a CLOSED TREE 2018-07-06 11:02:21 +03:00
Tarek Ziadé
80d44a0d4e Bug 1471517 - Converts ChromeUtils.requestPerformanceMetrics as Promise - r=baku
This ChromeUtils API now returns a promise that gets resolved once all the data
has been collected via IPDL and the main process. The existing notification
design and its related XPCOM classes are removed.

MozReview-Commit-ID: CYKukBOC8yh

--HG--
extra : rebase_source : 1e27524726ace0bfed5297d48af8be268c5b4945
2018-07-05 16:32:03 +02:00
Emilio Cobos Álvarez
c7d35aa526 Bug 1470930: Use enums for passing arguments for event dispatch. r=smaug
MozReview-Commit-ID: DsNuF7GAflJ
2018-06-26 18:22:06 +02:00