Commit graph

994 commits

Author SHA1 Message Date
Andrea Marchesini
4368f4dfab Bug 1446273 - Remove a optional parameter in WorkerPrivate::DestroySyncLoop, r=catalinb 2018-03-16 15:20:29 +01:00
Tom Ritter
6ebcecc30e Bug 1440195 Add a random context seed to the Performance APIs r=baku
We attach it to WorkerPrivate and DOMNavigationTiming so it will be re-used
when it should.

WorkerPrivate is used in the Performance APIs, Performance Storage Worker,
and Event.

DOMNavigationTiming is used only in the Performance APIs, but the crucial
part is that when the individual DOMNavigationTiming object is re-used,
so will the context seed. This in particular came up with the
nav2_test_document_open.html Web Platform Test which illustrated the fact
that even if you .open() a new document, the performance navigation data
is not supposed to change.

MozReview-Commit-ID: GIv6biEo2jY

--HG--
extra : rebase_source : da2ad8d9d6e0172679c6af14dba72938e9d2012c
2018-03-13 12:36:34 -05:00
shindli
9bfc016707 Merge inbound to mozilla-central. a=merge 2018-03-15 12:15:17 +02:00
Kris Maglione
38156094a4 Bug 1445551: Part 5 - Remove add-on path service. r=aswan,mccr8
The path service was created to allow us to track resources that were part of
legacy add-ons, and to map URIs ponting to those resources to add-on IDs, so
that we could apply special behavior to them.

We have better ways to track resources belonging to WebExtensions, so this
code does not benefit them in any significant way.

The only remaining legacy extensions are system add-ons, which we control, and
do not need the path service in order to track.

MozReview-Commit-ID: BKXkcaM7jJx

--HG--
extra : rebase_source : c8cb0f7cec919b767bbcfe5433a6838523747676
2018-03-13 20:21:22 -07:00
Andreea Pavel
067622ac36 Merge mozilla-inbound to mozilla-central. a=merge on a CLOSED TREE 2018-03-15 00:07:17 +02:00
Andrea Marchesini
958050f504 Bug 1445540 - Use WorkerRef in PerformanceStorageWorker, r=smaug 2018-03-14 15:27:13 +01:00
Andrea Marchesini
8d4bb177fa Bug 1436784 - Implement WeakWorkerRef, StrongWorkerRef and ThreadSafeWorkerRef, r=smaug 2018-03-13 21:16:48 +01:00
Andreea Pavel
46575fad3b Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-15 00:10:23 +02:00
Tom Ritter
6d43fef7f0 Bug 1443943 Do not clamp/jitter in the JS Engine if it's system context r=jorendorff,luke
MozReview-Commit-ID: LqL7xaYoHCT

--HG--
extra : rebase_source : 5e0e9de48d908d49468a40e0e067be4fdfc6a30e
2018-03-09 09:49:28 -06:00
arthur.iakab
6153368440 Merge mozilla-central to autoland 2018-03-14 12:16:00 +02:00
Tarek Ziadé
86edd52973 Bug 1437438 - Add a performance counter to track scheduler activity - r=farre,froydnj
Adds a PeformanceCounter class that is used in DocGroup and WorkerPrivate
to track runnables execution and dispatch counts.

MozReview-Commit-ID: 51DLj6ORD2O

--HG--
extra : rebase_source : b481c9aa3b735569722bb7472872ec2d22adcb89
2018-03-06 10:19:19 +01:00
Andrea Marchesini
6f7a4bfd5d Bug 1445199 - Remove JSContext parameter in worker NotifyHolder, r=smaug 2018-03-13 15:25:50 +01:00
Olli Pettay
2439836b37 Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Boris Zbarsky
7dd7848880 Bug 1442313 part 2. Push down the value of xpc::IsInAutomation into workers. r=bkelly
MozReview-Commit-ID: 5h51oqaf0R
2018-03-01 14:24:20 -05:00
Andreea Pavel
14a1838c54 Backed out 4 changesets (bug 1442313) for frequently failing crashtests on android, e.g. libeditor/crashtests/772282.html and layout/generic/crashtests/542136-1.html a=backout
Backed out changeset bfef9139500f (bug 1442313)
Backed out changeset 660332ce1bf0 (bug 1442313)
Backed out changeset 9788a46b8874 (bug 1442313)
Backed out changeset 8fc2c103027b (bug 1442313)
2018-03-02 18:08:23 +02:00
Boris Zbarsky
3f718c4054 Bug 1442313 part 2. Push down the value of xpc::IsInAutomation into workers. r=bkelly
MozReview-Commit-ID: 5h51oqaf0R
2018-03-01 14:24:20 -05:00
Csoregi Natalia
1fd0486e23 Backed out 7 changesets (bug 1193394) for browser-chrome failures on browser_ext_popup_background.js. CLOSED TREE
Backed out changeset 9683f24ff8ec (bug 1193394)
Backed out changeset 0e7140a7c841 (bug 1193394)
Backed out changeset a0e26f6b2784 (bug 1193394)
Backed out changeset 29e1fceaf48d (bug 1193394)
Backed out changeset b8632bbbd273 (bug 1193394)
Backed out changeset a54ef2d8f896 (bug 1193394)
Backed out changeset 55c94c05c57f (bug 1193394)
2018-03-01 16:29:02 +02:00
Olli Pettay
b7726493fb Bug 1193394 - Part 1: Microtasks and promises scheduling. r=bevis 2017-11-17 11:01:27 +08:00
Dorel Luca
011cfbabae Backed out changeset ab4aab822769 (bug 1426467) for Mochitest failure on dom/workers/test/test_suspend.html 2018-02-15 01:31:10 +02:00
Jim Blandy
6f503001a3 Bug 1426467: Re-enqueue messages from workers when debugger pause ends; don't run them immediately. r=bkelly
MozReview-Commit-ID: 1Yyjqz5S6tZ
2018-01-18 11:49:34 -08:00
Ben Kelly
7506d48306 Bug 1434701 P3 Pass ServiceWorkerRegistrationDescriptor to ServiceWorkerRegistration::CreateForWorker(). r=asuth 2018-02-14 14:23:15 -05:00
Boris Zbarsky
9bdcffc985 Bug 1436902 part 3. Replace usage of NS_IMPL_ISUPPORTS_INHERITED0 with NS_INLINE_DECL_REFCOUNTING_INHERITED when possible. r=mccr8
The change to RootAccessible.cpp fixes an obvious bug introduced in bug 741707.

The visibility changes in gfx/thebes are because NS_DECL_ISUPPORTS has a
trailing "public:" that those classes were relying on to have public
constructors.

MozReview-Commit-ID: IeB8KIJCGhU
2018-02-12 15:44:40 -05:00
Coroiu Cristina
0038490a71 Backed out changeset 42deb2563aa8 (bug 1426467) for ESlint failure at /devtools/server/tests/mochitest/suspendTimeouts_content.js on a CLOSED TREE 2018-02-12 18:14:49 +02:00
Jim Blandy
d4700814c9 Bug 1426467: Re-enqueue messages from workers when debugger pause ends; don't run them immediately. r=bkelly
MozReview-Commit-ID: 1Yyjqz5S6tZ

--HG--
extra : rebase_source : 4f54bd6a6a3385ba4e424ac5ffe4354db4592b45
2018-01-18 11:49:34 -08:00
Andrea Marchesini
0c305c1eaa Bug 1435263 - Get rid of WorkerPrivateParent template - part 18 - private/public sections, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
5211065bf5 Bug 1435263 - Get rid of WorkerPrivateParent template - part 17 - WorkerPrivateParent, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
9241a14957 Bug 1435263 - Get rid of WorkerPrivateParent template - part 16 - Dispatch methods, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
5deb3ddc49 Bug 1435263 - Get rid of WorkerPrivateParent template - part 15 - update methods, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
e898847369 Bug 1435263 - Get rid of WorkerPrivateParent template - part 14 - MaybeWrapAsWorkerRunnable and ProxyReleaseMainThreadObjects, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
67ce33a460 Bug 1435263 - Get rid of WorkerPrivateParent template - part 13 - Start/Close/Kill/Terminate, r=bkelly 2018-02-08 09:33:34 +01:00
Andrea Marchesini
80346a9dd6 Bug 1435263 - Get rid of WorkerPrivateParent template - part 12 - Freeze/Thaw, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
bc2868d467 Bug 1435263 - Get rid of WorkerPrivateParent template - part 11 - Debugger, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
329cf111f1 Bug 1435263 - Get rid of WorkerPrivateParent template - part 9 - SharedWorkers, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
021d8073d5 Bug 1435263 - Get rid of WorkerPrivateParent template - part 8 - QueueRunnables, ParentWindowPauseDepth, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
1a9bd2a590 Bug 1435263 - Get rid of WorkerPrivateParent template - part 7 - WorkerType, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
d10bc7b6cb Bug 1435263 - Get rid of WorkerPrivateParent template - part 6 - ScriptURL and WorkerName, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
707fce6000 Bug 1435263 - Get rid of WorkerPrivateParent template - part 5 - mParent, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
cbee166ef4 Bug 1435263 - Get rid of WorkerPrivateParent template - part 4 - LoadInfo, JSSettings, ParentFrozen, IsSecureContext and IsChromeWorker, r=bkelly 2018-02-08 09:33:33 +01:00
Andrea Marchesini
d4eb2f7f98 Bug 1435263 - Get rid of WorkerPrivateParent template - part 3 - creation time, r=bkelly 2018-02-08 09:33:32 +01:00
Andrea Marchesini
5f3cee24f1 Bug 1435263 - Get rid of WorkerPrivateParent template - part 2 - mMainThreadObjectsForgotten, r=bkelly 2018-02-08 09:33:32 +01:00
Andrea Marchesini
6c62c6ebec Bug 1435263 - Get rid of WorkerPrivateParent template - part 1 - BusyCount and ParentStatus, r=bkelly 2018-02-08 09:33:32 +01:00
Andrea Marchesini
2dfbe16467 Bug 1435263 - Get rid of WorkerPrivateParent template - part 0 - WorkerPrivate::EventTarget, r=bkelly 2018-02-08 09:33:32 +01:00
Andrea Marchesini
f6957bfded Bug 1435196 - Move the webidl binding interfaces out of WorkerPrivate - part 1 - WebIDL bindings, r=bkelly 2018-02-08 08:26:05 +01:00
Andrea Marchesini
8cdf705535 Bug 1435174 - Remove the renaming 'using namespace workers', r=bkelly 2018-02-05 19:55:07 +01:00
Andrea Marchesini
0c7e47f8eb Bug 1434934 - Remove dom.workers.enabled pref, r=bkelly 2018-02-01 18:34:08 +01:00
Andrea Marchesini
26352bfee1 Bug 1432963 - Fixing workers headers - part 17 - no LIBS=[workers] in moz.build files, r=smaug 2018-01-31 08:25:30 +01:00
Andrea Marchesini
7e52540256 Bug 1432963 - Fixing workers headers - part 16 - JSSettings in a workerinternals namespace, r=smaug 2018-01-31 08:24:59 +01:00
Andrea Marchesini
a5bed23bd8 Bug 1432963 - Fixing workers headers - part 15 - static function in a workers namespace, r=smaug 2018-01-31 08:24:30 +01:00
Andrea Marchesini
2c7c69af24 Bug 1432963 - Fixing workers headers - part 14 - WorkerPrivate without workers namespace, r=smaug 2018-01-31 08:24:08 +01:00
Andrea Marchesini
063723a1f0 Bug 1432963 - Fixing workers headers - part 13 - WorkerHolder without workers namespace, r=smaug 2018-01-31 08:23:44 +01:00
Andrea Marchesini
6757fa2f75 Bug 1432963 - Fixing workers headers - part 10 - ScriptLoader into a workerinternals namespace, r=smaug 2018-01-31 08:22:03 +01:00
Andrea Marchesini
8582d79ad5 Bug 1432963 - Fixing workers headers - part 5 - WorkerEventTarget in a separate file, r=smaug 2018-01-31 08:20:25 +01:00
Andrea Marchesini
78d3172d73 Bug 1432963 - Fixing workers headers - part 3 - WorkerError and WorkerPrincipal without workers namespace, r=smaug 2018-01-31 08:19:51 +01:00
Andrea Marchesini
1127e83395 Bug 1432963 - Fixing workers headers - part 2 - Get rid of WorkerCrossThreadDispatcher and WorkerTask, r=smaug 2018-01-31 08:19:29 +01:00
Andrea Marchesini
9774cec092 Bug 1413112 - Fixing includes in dom/workers, r=bkelly 2018-01-30 10:14:00 +01:00
Andrea Marchesini
1be2954fe1 Bug 1413112 - WorkerError in separate files, r=bkelly 2018-01-30 10:12:50 +01:00
Andrea Marchesini
900cbdf1e3 Bug 1413112 - Separate files for WorkerDebugger, r=bkelly 2018-01-30 10:12:26 +01:00
Andrea Marchesini
cfa537d14f Bug 1413112 - Move WorkerLoadInfo into separate files, r=bkelly 2018-01-30 10:12:04 +01:00
Andrea Marchesini
5a1fc27bfc Bug 1413112 - Moving MessageEventRunnable out of WorkerPrivate.cpp, r=bkelly 2018-01-30 10:10:25 +01:00
Ben Kelly
e71d8db226 Bug 1430139 P3 Remove workers namespace from service worker code. r=asuth 2018-01-26 13:08:59 -08:00
Ben Kelly
0325169284 Bug 1430139 P2 Make the tree compile again after moving the code to dom/serviceworkers. r=asuth 2018-01-26 13:08:58 -08:00
Ben Kelly
4a88dfb69d Bug 1433044 P1 Make workers keep the same null principal even if GetChannelResultPrincipal() returns different null principals. r=baku 2018-01-25 12:52:50 -08:00
Andrea Marchesini
0356adb210 Bug 1425458 - Resource timing entries Workers - part 3 - PerformanceStorageWorker, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini
c6da271117 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug
* * *
Bug 1425458 - Resource timing entries Workers - part 10 - Correct parameters in NS_NewChannel in nsDataObj.cpp, r=me
2018-01-24 17:17:31 +01:00
Brindusan Cristian
368c3d5b6b Backed out 12 changesets (bug 1425458) for mochitest failures on WorkerPrivate.cpp on a CLOSED TREE
Backed out changeset 11997de13778 (bug 1425458)
Backed out changeset 100b9d4f36bc (bug 1425458)
Backed out changeset a29e9dbb8c42 (bug 1425458)
Backed out changeset b96d58fd945c (bug 1425458)
Backed out changeset f140da44ba68 (bug 1425458)
Backed out changeset af56400233d9 (bug 1425458)
Backed out changeset 7034af4332e4 (bug 1425458)
Backed out changeset f70500179140 (bug 1425458)
Backed out changeset 793bbfc23257 (bug 1425458)
Backed out changeset 2efb375a8ffc (bug 1425458)
Backed out changeset 07e781e37451 (bug 1425458)
Backed out changeset e875f3702a5f (bug 1425458)
2018-01-24 20:47:48 +02:00
Andrea Marchesini
662a5542a3 Bug 1425458 - Resource timing entries Workers - part 3 - PerformanceStorageWorker, r=smaug 2018-01-24 17:17:32 +01:00
Andrea Marchesini
6480b95ba3 Bug 1425458 - Resource timing entries Workers - part 0 - NS_NewChannel, r=smaug 2018-01-24 17:17:31 +01:00
Ben Kelly
e95b043f8b Bug 1231211 P18 Make blob URL worker scripts inherit the parent's controller. r=asuth 2018-01-23 10:38:54 -05:00
Ben Kelly
40376986e1 Bug 1231211 P13 Make worker ScriptLoader pass ClientInfo and ServiceWorkerDescriptor to NS_NewChannel() where appropriate. r=asuth 2018-01-23 10:38:54 -05:00
Chris Peterson
37efe4d0e6 Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe

--HG--
extra : rebase_source : cfec2d96faeb11656d86d760a34e0a04cacddb13
extra : intermediate-source : 6176724d63788b0fe8caa3f91607c2d93dbaa7ec
extra : source : eebbb0600447f9b64aae3bcd47b4be66c02a51ea
2017-11-05 19:37:28 -08:00
Ben Kelly
eecacb4a97 Bug 1429486 Expose GetClientInfo() and GetController() on nsIGlobalObject. r=asuth 2018-01-11 20:46:08 -05:00
Andrea Marchesini
112a861fb6 Bug 1419771 - Introduce DOMPrefs, a thread-safe access to preferences for DOM - part 21 - Get rid of WorkerPrefs.h, r=asuth 2018-01-08 14:05:07 +01:00
Ben Kelly
64ef60ebaa Bug 1428447 Set a loading principal on ServiceWorker WorkerPrivate objects. r=asuth 2018-01-05 19:50:09 -05:00
Ben Kelly
8b1b458cac Bug 1428077 Make FinalChannelPrincipalIsValid always defined instead of only for MOZ_DIAGNOSTIC_ASSERT. r=baku 2018-01-04 17:35:41 -05:00
Ben Kelly
c19591bc97 Bug 1424336 Convert mLoadingPrincipal assertion into a runtime check. r=baku 2017-12-18 10:35:45 -05:00
Ben Kelly
65e9628fa6 Bug 1423913 P2 Make callers expect infallble CreateSource() and CreateHandle(). r=baku 2017-12-08 11:52:07 -05:00
Andrea Marchesini
65b913c5f4 Bug 1423507 - Data URL Shared Workers must be shared when the parent origins match, r=bkelly 2017-12-07 12:29:05 +01:00
Ben Kelly
fb38b7b228 Bug 1423412 P1 Actually mark window/worker ClientSource objects controlled when loaded with a controlling service worker. r=baku r=jld 2017-12-05 20:45:22 -05:00
Cosmin Sabou
5c4663243d Backed out 23 changesets (bug 1419771) for frequently failing service workers related devtools tests, e.g. devtools/client/aboutdebugging/test/browser_service_workers_push.js. r=backout on a CLOSED TREE
Backed out changeset 2242edc902a5 (bug 1419771)
Backed out changeset 9cc3c29a9e36 (bug 1419771)
Backed out changeset c39ee002c825 (bug 1419771)
Backed out changeset caf7428013f2 (bug 1419771)
Backed out changeset c03970363433 (bug 1419771)
Backed out changeset 7f9de012861e (bug 1419771)
Backed out changeset ed146ac42a7f (bug 1419771)
Backed out changeset a8154698f782 (bug 1419771)
Backed out changeset 8a54c1c8d45d (bug 1419771)
Backed out changeset e32cd55b4c96 (bug 1419771)
Backed out changeset b7f342f436ef (bug 1419771)
Backed out changeset 60464b3e468f (bug 1419771)
Backed out changeset 108806f14ad8 (bug 1419771)
Backed out changeset 65998b0740f3 (bug 1419771)
Backed out changeset 0d23880842d8 (bug 1419771)
Backed out changeset 862aeaa2fefd (bug 1419771)
Backed out changeset cbc192478bf5 (bug 1419771)
Backed out changeset c58ef2a91bad (bug 1419771)
Backed out changeset 2b0a4bfd654f (bug 1419771)
Backed out changeset f182eba574f9 (bug 1419771)
Backed out changeset d9999a624097 (bug 1419771)
Backed out changeset 4050a1b8db2b (bug 1419771)
Backed out changeset a1a68e6500d9 (bug 1419771)
2017-11-30 22:35:32 +02:00
Andrea Marchesini
d841e8c395 Bug 1419771 - Introduce DOMPreferences, a thread-safe access to preferences for DOM - part 22 - Get rid of WorkerPrefs.h, r=asuth 2017-11-30 18:16:47 +01:00
Ben Kelly
3472ec54e0 Bug 1420221 Make workers handle the case when the ClientSource cannot be created during shutdown. r=baku 2017-11-27 14:48:17 -05:00
Nika Layzell
f1ac9bf744 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Ben Kelly
9af975dbfd Bug 1419536 P4 Allow ClientSource objects to be frozen while in bfcache. r=baku 2017-11-21 15:13:05 -05:00
Ben Kelly
c223495e4f Bug 1419536 P2 Create a ClientSource for the WorkerPrivate and mark it execution ready after the script loads. r=baku 2017-11-21 15:13:04 -05:00
Andrea Marchesini
73712f7d05 Bug 1405290 - Improve logging of workers when shutting down - part 3 - WorkerHolder with names, r=asuth 2017-11-15 07:58:38 +01:00
Andrea Marchesini
cae6951635 Bug 1405290 - Improve logging of workers when shutting down - part 2 - Implement RuntimeService::CrashIfHanging(), r=asuth 2017-11-15 07:58:38 +01:00
Ben Kelly
6a16081c69 Bug 1412858 P3 Use the ServiceWorkerDescriptor in existing WorkerPrivate and ServiceWorkerInfo code. r=baku 2017-10-30 13:35:07 -04:00
Andrea Marchesini
9f542cae15 Bug 1412293 - Get rid of GetWorkerCrossThreadDispatcher, r=qdot 2017-10-27 22:14:02 +02:00
Kris Maglione
60d080b412 Bug 1404198: Part 2i - Switch to NS_NewTimer* in dom. r=njn
MozReview-Commit-ID: 8Oei6TuXNbu

--HG--
extra : rebase_source : 31c583c699790cbcf302064146d313ee8126ef0c
2017-10-15 23:15:40 -07:00
Alexandre Poirot
8558f8dcb0 Bug 1392540 - Keep running debugger Promise while debugging workers. r=baku
MozReview-Commit-ID: JsA0Y943egB

--HG--
extra : rebase_source : 1087aa8a1b56330bdb1b5ed32ebeeb3b2bb1defb
2017-08-10 13:27:07 +02:00
Chris Peterson
98b2f2fcd6 Bug 870698 - Part 7: Replace Insert(NS_LITERAL_CSTRING("")) with InsertLiteral(""). r=erahm
The NS_LITERAL_CSTRING macro creates a temporary nsLiteralCString to encapsulate the string literal and its length, but AssignLiteral() can determine the string literal's length at compile-time without nsLiteralCString.

MozReview-Commit-ID: DbTW5Bhd9E1

--HG--
extra : rebase_source : b27f666e5ca832d814fb6846208474e1ec66e5f4
extra : source : 9ff4e11402a9a43ed90298a9c354b0164cf9414f
2017-09-07 18:15:42 -07:00
Nicholas Nethercote
e3c9cbb969 Bug 1401813 - Rename Null[C]String() as Void[C]String(). r=erahm.
XPCOM's string API doesn't have the notion of a "null string". But it does have
the notion of a "void string" (or "voided string"), and that's what these
functions are returning. So the names should reflect that.

--HG--
extra : rebase_source : 4e3f982e0873877174a08a25413595ff66f7d20e
2017-09-22 14:35:46 +10:00
Andrea Marchesini
abd6b28844 Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
Sebastian Hengst
264522f53d Backed out changeset 9248962260f9 (bug 1359017) 2017-09-13 08:56:18 +02:00
Andrea Marchesini
977186322a Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-13 05:59:06 +02:00
Sebastian Hengst
e313ec3dd9 Backed out changeset 65146cc073d4 (bug 1359017) 2017-09-12 14:16:37 +02:00
Andrea Marchesini
c9ef43bdda Bug 1359017 - onmessageerror for Workers in case StructuredClone algorithm fails when deserializing, r=masayuki, r=smaug 2017-09-12 11:57:26 +02:00
Andrew McCreight
78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Bill McCloskey
9edd615af7 Bug 1382922 - Refactor event queue to allow multiple implementations (r=erahm)
This patch refactors the nsThread event queue to clean it up and to make it easier to restructure. The fundamental concepts are as follows:

Each nsThread will have a pointer to a refcounted SynchronizedEventQueue. A SynchronizedEQ takes care of doing the locking and condition variable work when posting and popping events. For the actual storage of events, it delegates to an AbstractEventQueue data structure. It keeps a UniquePtr to the AbstractEventQueue that it uses for storage.

Both SynchronizedEQ and AbstractEventQueue are abstract classes. There is only one concrete implementation of SynchronizedEQ in this patch, which is called ThreadEventQueue. ThreadEventQueue uses locks and condition variables to post and pop events the same way nsThread does. It also encapsulates the functionality that DOM workers need to implement their special event loops (PushEventQueue and PopEventQueue). In later Quantum DOM work, I plan to have another SynchronizedEQ implementation for the main thread, called SchedulerEventQueue. It will have special code for the cooperatively scheduling threads in Quantum DOM.

There are two concrete implementations of AbstractEventQueue in this patch: EventQueue and PrioritizedEventQueue. EventQueue replaces the old nsEventQueue. The other AbstractEventQueue implementation is PrioritizedEventQueue, which uses multiple queues for different event priorities.

The final major piece here is ThreadEventTarget, which splits some of the code for posting events out of nsThread. Eventually, my plan is for multiple cooperatively scheduled nsThreads to be able to share a ThreadEventTarget. In this patch, though, each nsThread has its own ThreadEventTarget. The class's purpose is just to collect some related code together.

One final note: I tried to avoid virtual dispatch overhead as much as possible. Calls to SynchronizedEQ methods do use virtual dispatch, since I plan to use different implementations for different threads with Quantum DOM. But all the calls to EventQueue methods should be non-virtual. Although the methods are declared virtual, all the classes used are final and the concrete classes involved should all be known through templatization.

MozReview-Commit-ID: 9Evtr9oIJvx
2017-08-16 20:55:43 -07:00
Masatoshi Kimura
dec070e4cf Bug 1389460 - Remove @deprecated nsIDOMEventTarget.DispatchDOMEvent. r=smaug
MozReview-Commit-ID: E88DZK5sfwx

--HG--
extra : rebase_source : 64e1a47c9366a970f20ec459dde9b379a207e802
2017-08-07 02:28:52 +09:00
Ben Kelly
4364d9066e Bug 1389184 Avoid crashing in worker MemoryReporter if the GlobalScope is nullptr. r=asuth 2017-08-10 18:00:05 -07:00
Ben Kelly
e7bce488ed Bug 1387211 Avoid potential deadlock during worker shutdown. r=billm 2017-08-07 09:24:22 -07:00
Carsten "Tomcat" Book
3b7b01d32d Merge mozilla-central to inbound 2017-07-27 11:27:45 +02:00
Carsten "Tomcat" Book
d360d49d2a merge mozilla-inbound to mozilla-central a=merge 2017-07-27 10:57:25 +02:00
Andrea Marchesini
d06ba4ca6f Bug 1382768 - Performance API must be a memory reporter, r=bz 2017-07-27 09:05:51 +02:00
Andrea Marchesini
6f4d5069c8 Bug 1159003 - setResourceTimingBufferSize shouldn't affect user timing, but we should clean user markers if we have memory pressure, r=bz 2017-07-20 12:57:08 +02:00
Bevis Tseng
95b18d794e Bug 1382172 - Name nsITimerCallback instances in native implementation. r=billm
--HG--
extra : rebase_source : 84de1abfcc30a6964144c2e6718a508c71027b65
2017-07-27 02:18:20 +08:00
Bevis Tseng
d935b29e72 Bug 1378930 - Part 1: Remove nsINamed::SetName(). r=billm
MozReview-Commit-ID: 7aM1yJRsfPH

--HG--
extra : rebase_source : f207a37be835ac4e6c431af56737cebacf5c566d
2017-07-21 11:50:43 +08:00
Kartikaya Gupta
ba4b3b9101 Bug 1384233 - Remove SizePrintfMacros.h. r=froydnj
We have a minimum requirement of VS 2015 for Windows builds, which supports
the z length modifier for format specifiers. So we don't need SizePrintfMacros.h
any more, and can just use %zu and friends directly everywhere.

MozReview-Commit-ID: 6s78RvPFMzv

--HG--
extra : rebase_source : 009ea39eb4dac1c927aa03e4f97d8ab673de8a0e
2017-07-26 16:03:57 -04:00
Ryan VanderMeulen
3e946fc60d Backed out changesets f4378a5e6c7f and b7d81fea0b33 (bug 1159003) for causing bug 1383553. 2017-07-25 21:50:06 -04:00
Sylvestre Ledru
7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
Ben Kelly
1677104487 Bug 1379243 P6 Override Pre/Post dispatch methods in ExternalRunnableWrapper so it can be used off main thread. r=baku 2017-07-21 08:16:24 -07:00
Ben Kelly
e266f48ec0 Bug 1379243 P5 Remove WorkerPrivate::GetEventTarget(). r=baku 2017-07-21 08:16:24 -07:00
Ben Kelly
db5d0c6b04 Bug 1379243 P4 Make worker EventTargetFor() return a "hybrid" WorkerEventTarget. r=baku 2017-07-21 08:16:24 -07:00
Ben Kelly
4bbd23623d Bug 1379243 P3 Rename WorkerControlEventTarget and make it support a "hybrid" dispatch mode. r=baku 2017-07-21 08:16:23 -07:00
Ben Kelly
460403c359 Bug 1379243 P2 Fix some spurious warnings in WorkerPrivate. r=baku 2017-07-21 08:16:23 -07:00
Ben Kelly
5fe4521ee0 Bug 1379243 P1 Make WorkerControlEventTarget implement nsISerialEventTarget. r=baku 2017-07-21 08:16:23 -07:00
Andrea Marchesini
b02308d651 Bug 1159003 - setResourceTimingBufferSize shouldn't affect user timing, but we should clean user markers if we have memory pressure, r=bz 2017-07-20 12:57:08 +02:00
Andrea Marchesini
50f9ea47a3 Bug 1350958 - Finish labeling ProxyReleaseEvent, r=billm 2017-07-14 08:49:22 +02:00
Boris Zbarsky
5c76874a46 Bug 1371259 part 3. Change UnwrapObject<> and the UNWRAP_OBJECT macro to allow passing in mutable object or value handles for the thing being unwrapped, and do so at various callsites. r=peterv
I did audit all UNWRAP_OBJECT callers to make sure that the lifetimes of all the
temporary Rooted or the RefPtrs they unwrap into are long enough.
2017-07-10 16:05:24 -04:00
Ben Kelly
227c73cd89 Bug 1366089 Make EventTargetFor() support worker threads. r=baku 2017-06-29 11:28:56 -07:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Chris Peterson
6471ec4b4d Bug 1373525 - dom/workers: Remove unused classes and member functions. r=baku
dom/workers/ScriptLoader.cpp:246:3 [-Wunused-member-function] unused member function 'ReadyToExecute'
dom/workers/ServiceWorkerScriptCache.cpp:200:19 [-Wunused-member-function] unused member function 'URL'
dom/workers/WorkerPrivate.cpp:1553:3 [-Wunused-member-function] unused member function 'DummyRunnable'

MozReview-Commit-ID: DLjD10iZJJV

--HG--
extra : source : db094b81fb77993c48e2884ffef700e34302c03e
extra : intermediate-source : fd1c6bd2b6882efb9e6ac3aeabe18968826297e4
extra : histedit_source : 8faac0927d4d97062fd74395dc2980cde57785b9
2017-06-15 00:40:59 -07:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Bevis Tseng
d1637b9c5a Bug 1372453 - Part 2: Name the caller of ProxyReleaseEvent. r=billm
MozReview-Commit-ID: LYhSWnZkq0i
2017-06-14 09:27:17 +08:00
Bill McCloskey
1158c7c282 Bug 1372733 - EventTargetFor should return an nsISerialEventTarget (r=bkelly)
MozReview-Commit-ID: Kchg4kqBERt
2017-06-15 20:16:25 -07:00
Bill McCloskey
aefa2aa5da Bug 1365097 - Convert NS_GetCurrentThread uses in dom (except for dom/media) (r=smaug)
For the Quatum DOM project, it's better to work in terms of event targets than
threads. This patch converts DOM code to operate on event targets rather than
threads, when possible.

MozReview-Commit-ID: 5FgvpKadUA2
2017-06-12 20:20:08 -07:00
Bill McCloskey
595e5d79c8 Bug 1361164 - Add nsISerialEventTarget (r=froydnj)
MozReview-Commit-ID: 8y1GdEGCPSB
2017-06-12 20:20:08 -07:00
Bill McCloskey
5ddda3bb77 Bug 1361164 - Add infallible IsOnCurrentThread to nsIEventTarget (r=froydnj)
MozReview-Commit-ID: 12bk9hQ7Wnv
2017-06-12 20:20:08 -07:00
Jon Coppeard
0924a2d29c Bug 1369748 - Parallelise the start of GC marking r=sfink r=smaug 2017-06-09 11:44:15 +01:00
Sylvestre Ledru
aa1c00fb9f Bug 1370369 - Use the new MOZ_DIAGNOSTIC_ASSERT_ENABLED instead of several defines - follow up patch r=froydnj
MozReview-Commit-ID: I4ffmvKClc6

--HG--
extra : rebase_source : 0039cd09dfb199f77a1cbdca3bfdbcab21cc0049
2017-06-05 23:43:34 +02:00
Andrea Marchesini
8cfd4ae66c Bug 1349266 - Using a workerHolder to keep alive a parent worker when a child worker is created, r=kbelly 2017-05-25 09:04:25 +02:00
Bill McCloskey
226f6b9185 Bug 1366869 - Make DISPATCH_NORMAL be the default flags argument for nsIEventTarget::Dispatch (r=froydnj)
MozReview-Commit-ID: 5DVcIaMHH95
2017-05-23 12:05:43 -07:00
Andrea Marchesini
b203932e2d Bug 1364297 - Use nsString instead nsCString for Worker names, r=smaug 2017-05-17 16:49:34 +02:00
Andrea Marchesini
7453988cd7 Bug 1364297 - Worker and SharedWorker constructors have an optional WorkerOptions parameter, r=smaug 2017-05-17 16:48:54 +02:00
Ben Kelly
4a9335fcd3 Bug 1361823 Fail the worker script load instead of crashing if the load group is torn down. r=baku 2017-05-15 06:52:00 -07:00
Ben Kelly
93100c8123 Bug 1362444 P1 Allow idle worker shutdown to begin for an opt-in WorkerHolder mode. r=baku 2017-05-10 09:27:10 -07:00
Ben Kelly
6564cff0b5 Bug 1361166 Update mParentStatus synchronously when closing worker thread. r=baku 2017-05-03 07:42:43 -07:00
Thomas Nguyen
afaba58d52 Bug 1339004 - Do DocGroup labeling in dom/security. r=ckerschb,smaug
MozReview-Commit-ID: 3QoH8P4J85I

--HG--
extra : rebase_source : 6f62454001fc02380f8aea99a56eff38de0e9fb6
2017-03-29 10:20:32 +08:00
Paul Bignier
9103ac60ef Bug 1352808 - Typo fixes for 'browser' in comments. r=MattN
MozReview-Commit-ID: IA42yQO5Sb8

--HG--
extra : rebase_source : b5426724c5b740639f71e5d058742b01868085e2
2017-04-03 15:26:11 -07:00
Ben Kelly
a68b3b11fd Bug 1350433 Expose WorkerPrivate::ServiceWorkerScope() instead of using WorkerName() all over the place. r=asuth 2017-03-24 19:56:48 -04:00
Valentin Gosu
1c5fbd8c6e Bug 1342438 - Remove url .hash encoding/decoding prefs r=bagder
These prefs have been added close to two years ago:
dom.url.encode_decode_hash and dom.url.getters_decode_hash
The main reason for their existence was in case we encounter any web-compat issues. At this point the extra code is mostly useless, and flipping the pref may lead to crashes.

MozReview-Commit-ID: LhAHkYmv0TR

--HG--
extra : rebase_source : 8f2d50d5633496cf165b3925d952bb6475bce3e0
2017-03-08 22:19:34 +01:00
Ben Kelly
e070aa7b47 Bug 1340654 P1 Set referrer policy in service workers. r=baku 2017-02-23 10:54:42 -05:00
Ben Kelly
8fc68b959d Bug 1340652 P1 Assert principal URL matches final worker script URL. r=baku 2017-02-23 10:54:41 -05:00
Tom Tromey
5f8f360823 Bug 1060419 - make log_print use Printf.h, r=froydnj
MozReview-Commit-ID: BIZ1GQEZ1vs

--HG--
extra : rebase_source : 2f1f0aa12493c44f352d9a7e8683e7bb72d2d75b
2016-12-15 20:16:31 -07:00
Tooru Fujisawa
a33056dda7 Bug 1283712 - Part 8: Add WorkerErrorBase, WorkerErrorNote, and WorkerErrorReport. r=bholley 2017-02-15 23:53:07 +09:00
Ben Kelly
9c913de880 Bug 1337522 P2 Set ServiceWorker principal earlier. r=baku 2017-02-14 10:06:39 -05:00