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

106 Коммитов

Автор SHA1 Сообщение Дата
Perry Jiang cb268d10f4 Bug 1588152 - restrict RemoteWorkerChild::mTerminationPromise to Worker Launcher thread r=asuth
It looks like there could be a race condition where GetTerminationPromise()
is called at the same time on two threads on an empty MozPromiseHolder, and one
of the MozPromises created by MozPromiseHolder::Ensure if leaked (and its
chained callbacks never called).

Additionally, I don't think the ParentStatusProtected() > Running check is
necessary because for ServiceWorkers, the global can't call close(), so the
parent status is at least "Canceling", making the CloseWorkerOnMainThread call
unnecessary (which just calls WorkerPrivate::Cancel). The parent process also
will always send a termination operation as the last operation, so we can just
rely on that to make sure the worker is fully terminated.

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

--HG--
extra : moz-landing-system : lando
2019-12-08 00:33:03 +00:00
Karl Tomlinson 49263a8134 Bug 1599952 Introduce UniqueMessagePortId and use it for CloneAndDisentangle() and Create() r=baku
Also, StructuredCloneHolder::CustomWriteTransferHandler() no longer appends an
unused element to mPortIdentifiers when MessagePort::CanBeCloned() returns
false.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 00:37:23 +00:00
Coroiu Cristina 679f321343 Backed out 5 changesets (bug 1599952) for failures at webaudio/the-audio-api/the-audioworklet-interface/audioworklet-messageport.https.html.ini
Backed out changeset 78adc22d922a (bug 1599952)
Backed out changeset b07c89cbc212 (bug 1599952)
Backed out changeset 7768d524d914 (bug 1599952)
Backed out changeset 7012927838fe (bug 1599952)
Backed out changeset dbf476d4eab6 (bug 1599952)
2019-12-03 02:33:23 +02:00
Karl Tomlinson 375470f88b Bug 1599952 Introduce UniqueMessagePortId and use it for CloneAndDisentangle() and Create() r=baku
Also, StructuredCloneHolder::CustomWriteTransferHandler() no longer appends an
unused element to mPortIdentifiers when MessagePort::CanBeCloned() returns
false.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 00:07:33 +00:00
Perry Jiang 7215838dc1 Bug 1575092 - don't spawn Shared/Service Workers in "web COOP+COEP" processes r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D50815

--HG--
extra : moz-landing-system : lando
2019-11-20 20:02:23 +00:00
Ehsan Akhgari 659d5a38ee Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 22:22:34 +00:00
Noemi Erli 117375bafe Backed out 4 changesets (bug 1596843) for causing nsPermissionManager related failures
Backed out changeset 48577632f4b3 (bug 1596843)
Backed out changeset b9061f93d045 (bug 1596843)
Backed out changeset 691397c2fde6 (bug 1596843)
Backed out changeset 88e8383dc3e4 (bug 1596843)
2019-11-17 23:00:23 +02:00
Ehsan Akhgari ce669bf3af Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 20:06:11 +00:00
Gurzau Raul a6a14f9410 Backed out 2 changesets (bug 1575092) for causing Bug 1596556 and Bug 1596556.
Backed out changeset 8dc03b744500 (bug 1575092)
Backed out changeset e28e46ca4a17 (bug 1575092)
2019-11-17 13:58:56 +02:00
Gurzau Raul 9c990aad98 Backed out 4 changesets (bug 1596843) for XPCShellTestsTests build bustage ona CLOSED TREE.
Backed out changeset 69ee727d5b45 (bug 1596843)
Backed out changeset a9827fae8655 (bug 1596843)
Backed out changeset 8b2220bc47af (bug 1596843)
Backed out changeset b10aec041377 (bug 1596843)
2019-11-17 11:07:15 +02:00
Ehsan Akhgari 0ad4207862 Bug 1596843 - Part 4: Remove some native only methods from nsIPermissionManager; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D53240

--HG--
extra : moz-landing-system : lando
2019-11-17 07:23:39 +00:00
Perry Jiang cee88a4060 Bug 1575092 - don't spawn Shared/Service Workers in "web COOP+COEP" processes r=asuth
Preventing RemoteWorkerService from existing in "web COOP+COEP" content
processes prevents Shared/ServiceWorkers from being spawned in them because there
won't be an associated RemoteWorkerServiceParent that registers with the parent
process RemoteWorkerManager.

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

--HG--
extra : moz-landing-system : lando
2019-11-12 15:46:05 +00:00
Perry Jiang 5b6e37c114 Bug 1588353 - Remove unnecessary Unused << for non-MOZ_MUST_USE function return value r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D52131

--HG--
extra : moz-landing-system : lando
2019-11-07 19:29:59 +00:00
Perry Jiang 87c3eb5a96 Bug 1575185 - Subscribe content processes spawning Service Workers to permission updates r=asuth
Previously, Service Workers could spawn in a process that isn't subscribed
to permission updates, which could happen if that process hadn't loaded any
same-origin documents. To address this, parent-process logic for spawning
Service Workers would snapshot the permissions state to be sent to a content
process.

Unfortunately, this approach could lead to outdated, unsynchronized permissions.
Note that nsIPermissionManager::SetPermissionsWithKey is only used to initialize
permissions for a given key and is a no-op if already called with the same key
in a given process. As a result, the following sequence of events could happen:

Assume a content process CP that isn't subscribed to permission changes for an
origin A:

1) Parent process decides to spawn an origin A Service Worker in CP,
snapshotting a value V for permission P.
2) The Service Worker is spawned in CP, setting CP's permission manager's
permission P to value V (for origin A).
3) Parent process updates its permission P to a value A', which is not
broadcasted to CP (because it's not subscribed).
4) By now, the initial Service Worker has been terminated, and the parent
process decides once again to spawn an origin A Service Worker in CP.
5) The Service Worker is spawned in CP, but the call to SetPermissionsWithKey
is a no-op, leaving CP1 with a mismatched value for permission P.

An additional scenario is if the parent process updates a permission during a
remote Service Worker's lifetime.

This patch, which would subscribe CP1 to permission updates when the parent
process knows a Service Worker would be spawned in CP1, prevents these problems.

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

--HG--
extra : moz-landing-system : lando
2019-10-09 02:23:41 +00:00
Andrew McCreight dca80bb570 Bug 1579835, part 5 - Fix remote type matching in SelectTargetActorForServiceWorker. r=asuth
With Fission, the remote type can have the form webIsolated= in
addition to web. IsWebRemoteType() handles both of these cases.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 22:40:49 +00:00
Tom Tung 699c7a419a Bug 1562663 - P3 - Have agent cluster Ids for workers; r=perry,nika
Dedicated workers should be in the same  agent cluster with its parent/creator.
The other workers (ShareWorker/ServiceWorker/ChromeWorker) create another agent
cluster when they are created from the creator.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 09:57:23 +00:00
Perry Jiang a7ce0c3b9e Bug 1552945 - Allow a WorkerPrivate's creator to set its ID. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D31903

--HG--
extra : moz-landing-system : lando
2019-08-20 15:20:40 +00:00
Perry Jiang 2d9e107dee Bug 1231213 - Only spawn Service Workers in non-web-extensions processes that won't imminently shutdown. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26176

--HG--
extra : moz-landing-system : lando
2019-08-15 17:27:35 +00:00
Perry Jiang 9f8937313f Bug 1231213 - Implement cross-process ServiceWorkerGlobalScope.skipWaiting(). r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26175

--HG--
extra : moz-landing-system : lando
2019-08-15 17:27:28 +00:00
Perry Jiang caff417d00 Bug 1231213 - Let ServiceWorkerOpArgs be sent from the parent process to a content process. r=asuth
The args are sent from the parent process main thread to the parent process
background thread and then from the background thread to a content process
worker launcher thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 17:27:16 +00:00
Perry Jiang bbc5dad9a8 Bug 1231213 - Implement ServiceWorkerOp and its subclasses. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26172

--HG--
extra : moz-landing-system : lando
2019-08-15 17:27:08 +00:00
Perry Jiang 5b603200f7 Bug 1231213 - Implement PFetchEventOp(Proxy) IPDL protocols and FetchEventOp(Proxy){Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26171

--HG--
extra : moz-landing-system : lando
2019-08-15 17:27:07 +00:00
Perry Jiang 200a71c58c Bug 1231213 - Refactor RemoteWorkerChild to handle Service Workers' and Shared Workers' operations and to make its state data/transitions safer. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26170

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:58 +00:00
Perry Jiang 81d15b2970 Bug 1231213 - Refactor RemoteWorkerController to handle Service Workers' and Shared Workers' operations. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26169

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:51 +00:00
Perry Jiang 07c822e09b Bug 1231213 - Implement PRemoteWorkerController IPDL protocol and RemoteWorkerController{Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26168

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:49 +00:00
Perry Jiang deae3fab14 Bug 1231213 - Add OptionalServiceWorkerData to RemoteWorkerData. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26167

--HG--
extra : moz-landing-system : lando
2019-08-15 17:26:42 +00:00
Dorel Luca 73975f1d28 Backed out 22 changesets (bug 1231213) for Browser-chrome failures on /workers/remoteworkers/RemoteWorkerChild.cpp
Backed out changeset 7e09ad9ceea6 (bug 1231213)
Backed out changeset a275eb0b1a19 (bug 1231213)
Backed out changeset 906b80778539 (bug 1231213)
Backed out changeset 6a40ab6852cb (bug 1231213)
Backed out changeset 216591953f97 (bug 1231213)
Backed out changeset 1de357bc1921 (bug 1231213)
Backed out changeset 8e3fedf6502a (bug 1231213)
Backed out changeset 1b9a8b022fce (bug 1231213)
Backed out changeset 85df1959eb98 (bug 1231213)
Backed out changeset 666bf4260046 (bug 1231213)
Backed out changeset 0b03a19a6dc1 (bug 1231213)
Backed out changeset 11f010e6d6e7 (bug 1231213)
Backed out changeset 6ed55807374f (bug 1231213)
Backed out changeset 395062aef2ec (bug 1231213)
Backed out changeset bacf8499ba7b (bug 1231213)
Backed out changeset bf5d60c7a85a (bug 1231213)
Backed out changeset cd434b787ce6 (bug 1231213)
Backed out changeset ee4565104217 (bug 1231213)
Backed out changeset 581653ef33dd (bug 1231213)
Backed out changeset 2d5628a0e52d (bug 1231213)
Backed out changeset 3449c2eba4c6 (bug 1231213)
Backed out changeset ae221b628899 (bug 1231213)
2019-08-15 01:04:46 +03:00
Perry Jiang 599888fca4 Bug 1231213 - Only spawn Service Workers in non-web-extensions processes that won't imminently shutdown. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26176

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:38 +00:00
Perry Jiang 18f1995d4d Bug 1231213 - Implement cross-process ServiceWorkerGlobalScope.skipWaiting(). r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26175

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:31 +00:00
Perry Jiang 55f1da5063 Bug 1231213 - Let ServiceWorkerOpArgs be sent from the parent process to a content process. r=asuth
The args are sent from the parent process main thread to the parent process
background thread and then from the background thread to a content process
worker launcher thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:17 +00:00
Perry Jiang d89bee1b4e Bug 1231213 - Implement ServiceWorkerOp and its subclasses. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26172

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:15 +00:00
Perry Jiang 7631234594 Bug 1231213 - Implement PFetchEventOp(Proxy) IPDL protocols and FetchEventOp(Proxy){Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26171

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:08 +00:00
Perry Jiang 71485c3b89 Bug 1231213 - Refactor RemoteWorkerChild to handle Service Workers' and Shared Workers' operations and to make its state data/transitions safer. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26170

--HG--
extra : moz-landing-system : lando
2019-08-14 16:20:06 +00:00
Perry Jiang 0d044b3f9b Bug 1231213 - Refactor RemoteWorkerController to handle Service Workers' and Shared Workers' operations. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26169

--HG--
extra : moz-landing-system : lando
2019-08-14 16:19:59 +00:00
Perry Jiang aa4bed38b8 Bug 1231213 - Implement PRemoteWorkerController IPDL protocol and RemoteWorkerController{Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26168

--HG--
extra : moz-landing-system : lando
2019-08-14 16:19:57 +00:00
Perry Jiang bc23acda66 Bug 1231213 - Add OptionalServiceWorkerData to RemoteWorkerData. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26167

--HG--
extra : moz-landing-system : lando
2019-08-14 16:19:53 +00:00
Cosmin Sabou 85a8083871 Backed out 22 changesets (bug 1231213) for build bustages on /mozilla/Attributes.h CLOSED TREE
Backed out changeset 4a45f2c447fd (bug 1231213)
Backed out changeset bcb4d348a847 (bug 1231213)
Backed out changeset ae78ac86cc86 (bug 1231213)
Backed out changeset d681c92a7f05 (bug 1231213)
Backed out changeset 1ac9661e7fb4 (bug 1231213)
Backed out changeset 796c617b989f (bug 1231213)
Backed out changeset c46b31113adb (bug 1231213)
Backed out changeset ea7334da65d9 (bug 1231213)
Backed out changeset 6e9273940bf5 (bug 1231213)
Backed out changeset 7df0e0ff9a82 (bug 1231213)
Backed out changeset 12aba06d169c (bug 1231213)
Backed out changeset e7d6d8d64e8a (bug 1231213)
Backed out changeset 097a29f3ff9a (bug 1231213)
Backed out changeset 1b7169b75760 (bug 1231213)
Backed out changeset 0fd1fd7c3f06 (bug 1231213)
Backed out changeset 3d539eb7faff (bug 1231213)
Backed out changeset 419f9bb7be3c (bug 1231213)
Backed out changeset caede0e4e888 (bug 1231213)
Backed out changeset 778eade5085d (bug 1231213)
Backed out changeset a84b262ff6f8 (bug 1231213)
Backed out changeset 97328368da02 (bug 1231213)
Backed out changeset 9c845d7e3b29 (bug 1231213)
2019-08-14 00:10:48 +03:00
Perry Jiang b9bab033b4 Bug 1231213 - Only spawn Service Workers in non-web-extensions processes that won't imminently shutdown. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26176

--HG--
extra : moz-landing-system : lando
2019-08-13 19:57:42 +00:00
Perry Jiang f4fe39d5e3 Bug 1231213 - Implement cross-process ServiceWorkerGlobalScope.skipWaiting(). r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26175

--HG--
extra : moz-landing-system : lando
2019-08-13 19:56:42 +00:00
Perry Jiang ee3c76ca2b Bug 1231213 - Let ServiceWorkerOpArgs be sent from the parent process to a content process. r=asuth
The args are sent from the parent process main thread to the parent process
background thread and then from the background thread to a content process
worker launcher thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 19:56:33 +00:00
Perry Jiang 7fafaf781d Bug 1231213 - Implement ServiceWorkerOp and its subclasses. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26172

--HG--
extra : moz-landing-system : lando
2019-08-13 19:56:24 +00:00
Perry Jiang 50acf4ec15 Bug 1231213 - Implement PFetchEventOp(Proxy) IPDL protocols and FetchEventOp(Proxy){Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26171

--HG--
extra : moz-landing-system : lando
2019-08-13 19:59:48 +00:00
Perry Jiang f3b01231e1 Bug 1231213 - Refactor RemoteWorkerChild to handle Service Workers' and Shared Workers' operations and to make its state data/transitions safer. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26170

--HG--
extra : moz-landing-system : lando
2019-08-13 19:57:49 +00:00
Perry Jiang b6c7df31ec Bug 1231213 - Refactor RemoteWorkerController to handle Service Workers' and Shared Workers' operations. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26169

--HG--
extra : moz-landing-system : lando
2019-08-13 19:56:08 +00:00
Perry Jiang f133e5ec1a Bug 1231213 - Implement PRemoteWorkerController IPDL protocol and RemoteWorkerController{Parent,Child}. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26168

--HG--
extra : moz-landing-system : lando
2019-08-13 19:55:59 +00:00
Perry Jiang fe331f45b8 Bug 1231213 - Add OptionalServiceWorkerData to RemoteWorkerData. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26167

--HG--
extra : moz-landing-system : lando
2019-08-13 19:55:57 +00:00
Cosmin Sabou f870af790d Backed out 22 changesets (bug 1231213) for build bustages on RemoteWorkerChild.cpp. CLOSED TREE
Backed out changeset 06dba269fcfe (bug 1231213)
Backed out changeset 20b1ec70a6d0 (bug 1231213)
Backed out changeset be99adfb84ab (bug 1231213)
Backed out changeset 8cb30e5ef8d7 (bug 1231213)
Backed out changeset bdeff3d76292 (bug 1231213)
Backed out changeset 783bd2856798 (bug 1231213)
Backed out changeset e52869704d4d (bug 1231213)
Backed out changeset df97ea0bbe79 (bug 1231213)
Backed out changeset 822ade495b97 (bug 1231213)
Backed out changeset 06281fe76994 (bug 1231213)
Backed out changeset c8c1d3aa27c6 (bug 1231213)
Backed out changeset b96a12cd2c73 (bug 1231213)
Backed out changeset a1dcf2ea83be (bug 1231213)
Backed out changeset 6e2934410f95 (bug 1231213)
Backed out changeset d4ffae32539b (bug 1231213)
Backed out changeset d99f2cbe0ed2 (bug 1231213)
Backed out changeset 3bbea49c6d03 (bug 1231213)
Backed out changeset dac29b0340ce (bug 1231213)
Backed out changeset 0591a2a0cc41 (bug 1231213)
Backed out changeset afc3b2b9d472 (bug 1231213)
Backed out changeset 89fffd7b8740 (bug 1231213)
Backed out changeset 30b9a65a6294 (bug 1231213)
2019-08-13 21:30:20 +03:00
Perry Jiang 59614c5a2c Bug 1231213 - Only spawn Service Workers in non-web-extensions processes that won't imminently shutdown. r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26176

--HG--
extra : moz-landing-system : lando
2019-08-13 05:20:18 +00:00
Perry Jiang 5239719800 Bug 1231213 - Implement cross-process ServiceWorkerGlobalScope.skipWaiting(). r=asuth
Differential Revision: https://phabricator.services.mozilla.com/D26175

--HG--
extra : moz-landing-system : lando
2019-08-13 04:57:44 +00:00
Perry Jiang b750acd163 Bug 1231213 - Let ServiceWorkerOpArgs be sent from the parent process to a content process. r=asuth
The args are sent from the parent process main thread to the parent process
background thread and then from the background thread to a content process
worker launcher thread.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 04:57:47 +00:00