Skip to content
Permalink
Browse files
Implement nested Dedicated Workers
https://bugs.webkit.org/show_bug.cgi?id=22723
<rdar://6425810>

Reviewed by Darin Adler.

Add support for nested dedicated workers. Blink and Gecko already support this.

Also fix an issue where ScriptExecutionContext were added too early to the ScriptExecutionContextMap.
This was marking calls to postTaskTo() unsafe since it would call the virtual postTask() function
on a ScriptExecutionContext that had potentially not finished construction. This was causing flaky
test crashes.

* LayoutTests/TestExpectations:
* LayoutTests/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-classic.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/opt-in/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/mixed-content/gen/worker-module.http-rp/unset/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-classic.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-classic.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/upgrade-insecure-requests/gen/worker-module.http-rp/upgrade/worker-module.https-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/wasm/serialization/module/nested-worker-success.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-locks/query.tentative.https.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/MessageEvent-trusted.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker-post-after-close.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/webmessaging/message-channels/worker.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/websockets/Create-on-worker-shutdown.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/baseurl/alpha/worker-in-worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/constructors/Worker/expected-self-properties.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/dedicated-worker-in-data-url-context.window-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_from_parent_worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_close_self.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_importScripts.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_sync_xhr.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/nested_worker_terminate_from_document-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/interface-objects/001.worker-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/workers/semantics/multiple-workers/exposure.any.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/worker-interception.https-expected.txt:
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-blob-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import-data-url.any.worker-expected.txt: Added.
* LayoutTests/platform/glib/imported/w3c/web-platform-tests/workers/modules/dedicated-worker-import.any.worker-expected.txt: Added.
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/html/dom/idlharness.worker-expected.txt:
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.cpp:
(WebCore::AudioWorkletMessagingProxy::loaderContextIdentifier const):
* Source/WebCore/Modules/webaudio/AudioWorkletMessagingProxy.h:
* Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:
(WebCore::DedicatedWorkerGlobalScope::~DedicatedWorkerGlobalScope):
* Source/WebCore/workers/Worker.cpp:
(WebCore::Worker::networkStateChanged):
(WebCore::Worker::Worker):
(WebCore::Worker::create):
(WebCore::Worker::~Worker):
(WebCore::Worker::forEachWorker):
(WebCore::Worker::notifyNetworkStateChange): Deleted.
(WebCore::Worker::byIdentifier): Deleted.
* Source/WebCore/workers/Worker.h:
* Source/WebCore/workers/Worker.idl:
* Source/WebCore/workers/WorkerGlobalScope.cpp:
(WebCore::WorkerGlobalScope::~WorkerGlobalScope):
* Source/WebCore/workers/WorkerLoaderProxy.h:
* Source/WebCore/workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::~WorkerMessagingProxy):
(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postTaskToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
(WebCore::WorkerMessagingProxy::loaderContextIdentifier const):
(WebCore::WorkerMessagingProxy::postTaskToLoader):
(WebCore::WorkerMessagingProxy::createCacheStorageConnection):
(WebCore::WorkerMessagingProxy::storageConnection):
(WebCore::WorkerMessagingProxy::createRTCDataChannelRemoteHandlerConnection):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeClosed):
(WebCore::WorkerMessagingProxy::workerGlobalScopeDestroyedInternal):
(WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject):
(WebCore::WorkerMessagingProxy::reportPendingActivity):
* Source/WebCore/workers/WorkerMessagingProxy.h:
* Source/WebCore/workers/WorkerOrWorkletThread.cpp:
(WebCore::WorkerOrWorkletThread::workerOrWorkletThread):
(WebCore::WorkerOrWorkletThread::destroyWorkerGlobalScope):
(WebCore::WorkerOrWorkletThread::stop):
(WebCore::WorkerOrWorkletThread::addChildThread):
(WebCore::WorkerOrWorkletThread::removeChildThread):
* Source/WebCore/workers/WorkerOrWorkletThread.h:
* Source/WebCore/workers/service/SWClientConnection.cpp:
(WebCore::SWClientConnection::postMessageToServiceWorkerClient):
(WebCore::SWClientConnection::notifyClientsOfControllerChange):
* Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:
(WebCore::ServiceWorkerGlobalScope::~ServiceWorkerGlobalScope):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.cpp:
(WebCore::ServiceWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/service/context/ServiceWorkerThreadProxy.h:
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp:
(WebCore::SharedWorkerGlobalScope::~SharedWorkerGlobalScope):
* Source/WebCore/workers/shared/SharedWorkerGlobalScope.h:
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:
(WebCore::SharedWorkerThreadProxy::loaderContextIdentifier const):
* Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:

Canonical link: https://commits.webkit.org/254597@main
  • Loading branch information
cdumez committed Sep 18, 2022
1 parent 9085c84 commit 48880e342359f100878b1b87373e706db7dfe540
Show file tree
Hide file tree
Showing 83 changed files with 410 additions and 190 deletions.
@@ -467,6 +467,7 @@ imported/w3c/web-platform-tests/web-locks/mode-mixed.tentative.https.any.html [
imported/w3c/web-platform-tests/web-locks/steal.tentative.https.any.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-analysernode-interface/test-analyser-minimum.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audionode-interface/audionode-disconnect-audioparam.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/websockets/Create-on-worker-shutdown.any.worker.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/workers/same-origin-check.sub.html [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/mixed-content [ DumpJSConsoleLogInStdErr ]
imported/w3c/web-platform-tests/upgrade-insecure-requests [ DumpJSConsoleLogInStdErr ]
@@ -703,18 +703,18 @@ PASS WorkerGlobalScope interface: calling createImageBitmap(ImageBitmapSource, l
PASS WorkerGlobalScope interface: self must inherit property "structuredClone(any, optional StructuredSerializeOptions)" with the proper type
PASS WorkerGlobalScope interface: calling structuredClone(any, optional StructuredSerializeOptions) on self with too few arguments must throw TypeError
PASS SharedWorkerGlobalScope interface: existence and properties of interface object
FAIL Worker interface: existence and properties of interface object assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface object length assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface object name assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: existence and properties of interface prototype object assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: existence and properties of interface prototype object's @@unscopables property assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: operation terminate() assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: operation postMessage(any, sequence<object>) assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: operation postMessage(any, optional StructuredSerializeOptions) assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: attribute onmessage assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: attribute onmessageerror assert_own_property: self does not have own property "Worker" expected property "Worker" missing
FAIL Worker interface: attribute onerror assert_own_property: self does not have own property "Worker" expected property "Worker" missing
PASS Worker interface: existence and properties of interface object
PASS Worker interface object length
PASS Worker interface object name
PASS Worker interface: existence and properties of interface prototype object
PASS Worker interface: existence and properties of interface prototype object's "constructor" property
PASS Worker interface: existence and properties of interface prototype object's @@unscopables property
PASS Worker interface: operation terminate()
PASS Worker interface: operation postMessage(any, sequence<object>)
PASS Worker interface: operation postMessage(any, optional StructuredSerializeOptions)
PASS Worker interface: attribute onmessage
FAIL Worker interface: attribute onmessageerror assert_true: The prototype object must have a property "onmessageerror" expected true got false
PASS Worker interface: attribute onerror
PASS SharedWorker interface: existence and properties of interface object
PASS WorkerNavigator interface: existence and properties of interface object
PASS WorkerNavigator interface object length
@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-classic to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-classic to same-http origin and no-redirect redirection from https context.

@@ -1,6 +1,6 @@

FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects allowed for worker-module to same-https origin and no-redirect redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and keep-scheme redirection from https context.
PASS Mixed-Content: Expects blocked for worker-module to same-http origin and no-redirect redirection from https context.

@@ -11,7 +11,7 @@ PASS Verify a no-cors cross-origin worker script served by a service worker fail
PASS Register a service worker for worker subresource interception tests.
PASS Requests on a dedicated worker controlled by a service worker.
PASS Requests on a shared worker controlled by a service worker.
FAIL Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "Unexpected error! Can't find variable: Worker"
FAIL Requests on a dedicated worker nested in a dedicated worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "{\"error\": {\"code\": 404, \"message\": \"404\"}}"
FAIL Requests on a dedicated worker nested in a shared worker and controlled by a service worker assert_equals: expected "This load was successfully intercepted." but got "Unexpected error! Can't find variable: Worker"
PASS Unregister a service worker for subresource interception tests.

@@ -1,5 +1,5 @@

FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.

@@ -1,5 +1,5 @@

FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.

@@ -1,5 +1,5 @@

FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Upgrade-Insecure-Requests: Expects allowed for worker-classic to same-https origin and downgrade redirection from https context.

@@ -1,5 +1,5 @@

FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-http-downgrade origin and no-redirect redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
FAIL Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context. assert_equals: The resource request should be 'allowed'. expected "allowed" but got "blocked"
PASS Upgrade-Insecure-Requests: Expects allowed for worker-module to same-https origin and downgrade redirection from https context.

@@ -1,3 +1,3 @@

FAIL postMessaging to a dedicated sub-worker allows them to see each others' modifications Can't find variable: Worker
PASS postMessaging to a dedicated sub-worker allows them to see each others' modifications

@@ -6,6 +6,6 @@ PASS query() reports pending and held locks
PASS query() reports held shared locks with appropriate count
PASS query() reports pending shared locks with appropriate count
PASS query() reports the same clientId for held locks from the same context
FAIL query() reports different ids for held locks from different contexts promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: Worker"
FAIL query() can observe a deadlock promise_test: Unhandled rejection with value: object "ReferenceError: Can't find variable: Worker"
PASS query() reports different ids for held locks from different contexts
PASS query() can observe a deadlock

@@ -1,4 +1,4 @@

PASS With a MessageChannel and its MessagePorts
FAIL With a BroadcastChannel Can't find variable: Worker
PASS With a BroadcastChannel

@@ -1,3 +1,3 @@

FAIL MessageChannel/MessagePort should not work after a worker self.close() Can't find variable: Worker
PASS MessageChannel/MessagePort should not work after a worker self.close()

@@ -1,3 +1,3 @@

FAIL MessageChannel/MessagePort created and used after a worker self.close() Can't find variable: Worker
PASS MessageChannel/MessagePort created and used after a worker self.close()

@@ -1,3 +1,3 @@

FAIL WebSocket created after a worker self.close() Can't find variable: Worker
PASS WebSocket created after a worker self.close()

@@ -1,4 +1,3 @@
CONSOLE MESSAGE: ReferenceError: Can't find variable: Worker

FAIL Base URL in workers: new Worker() assert_unreached: Got error event Reached unreachable code
PASS Base URL in workers: new Worker()

@@ -3,6 +3,6 @@ PASS existence of XMLHttpRequest
PASS existence of WebSocket
PASS existence of EventSource
PASS existence of MessageChannel
FAIL existence of Worker assert_true: expected true got false
PASS existence of Worker
FAIL existence of SharedWorker assert_true: expected true got false

@@ -1,7 +1,6 @@
CONSOLE MESSAGE: ReferenceError: Can't find variable: Worker

FAIL Create a dedicated worker in a data url frame assert_equals: expected "PASS" but got "Worker construction unexpectedly synchronously failed"
FAIL Create a dedicated worker in a data url dedicated worker assert_equals: expected "PASS" but got "Worker construction unexpectedly synchronously failed"
PASS Create a data url dedicated worker in a data url frame
FAIL Create a data url dedicated worker in a data url dedicated worker promise_test: Unhandled rejection with value: "ReferenceError: Can't find variable: Worker"
PASS Create a data url dedicated worker in a data url dedicated worker

0 comments on commit 48880e3

Please sign in to comment.