Skip to content

Commit

Permalink
[WebCodecs] Mark SharedWorker as unsupported in serialization.
Browse files Browse the repository at this point in the history
Test incorrectly assumes SharedWorker support, so ensure it instead
tests that passing to a shared worker is unsupported.

Fixes w3c/webcodecs#635

Bug: 1412203
Change-Id: I596fa79508a3cd8e2ed253d9be378b142edca4d4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4216102
Reviewed-by: Thomas Guilbert <tguilbert@chromium.org>
Commit-Queue: Dale Curtis <dalecurtis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1101160}
  • Loading branch information
dalecurtis authored and Chromium LUCI CQ committed Feb 3, 2023
1 parent 36f03bb commit 0a71685
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 35 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,6 @@ crbug.com/1209223 external/wpt/html/browsers/browsing-the-web/navigating-across-

# ====== New tests from wpt-importer added here ======
crbug.com/626703 external/wpt/preload/prefetch-types.html [ Failure Timeout ]
crbug.com/626703 external/wpt/webcodecs/videoFrame-serialization.crossAgentCluster.https.html [ Timeout ]
crbug.com/626703 external/wpt/url/url-setters-a-area.window.html?exclude=(file|javascript|mailto) [ Crash Failure ]
crbug.com/626703 virtual/idna-2008/external/wpt/url/a-element-origin.html [ Crash Failure ]
crbug.com/626703 external/wpt/url/a-element-origin-xhtml.xhtml [ Crash Failure ]
Expand Down
1 change: 0 additions & 1 deletion third_party/blink/web_tests/TestExpectations
Original file line number Diff line number Diff line change
Expand Up @@ -3017,7 +3017,6 @@ crbug.com/626703 external/wpt/css/mediaqueries/negation-001.html [ Failure ]
crbug.com/626703 virtual/backface-visibility-interop/external/wpt/css/css-transforms/animation/translate-animation-on-svg.html [ Failure ]
crbug.com/626703 [ Win10.20h2 ] virtual/media-foundation-for-clear-dcomp/external/wpt/media-source/dedicated-worker/mediasource-worker-detach-element.html [ Timeout ]
crbug.com/626703 virtual/threaded/external/wpt/css/css-transforms/animation/translate-animation-on-svg.html [ Failure ]
crbug.com/626703 external/wpt/webcodecs/videoFrame-serialization.crossAgentCluster.https.html [ Timeout ]
crbug.com/626703 [ Mac11-arm64 ] external/wpt/density-size-correction/density-corrected-image-in-canvas.html [ Failure Timeout ]
crbug.com/626703 [ Mac12-arm64 ] external/wpt/density-size-correction/density-corrected-image-in-canvas.html [ Failure Timeout ]
crbug.com/626703 [ Mac12-arm64 ] virtual/fenced-frame-mparch/wpt_internal/fenced_frame/background-sync.https.html [ Timeout ]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,17 @@
};
</script>
<script id='sharedWorkerCode' type='javascript/worker'>
let received = new Map();
self.onconnect = function (event) {
const port = event.ports[0];
port.onmessage = function (e) {
let frame = e.data.frame;
if (e.data.transfer) {
port.postMessage(frame, [frame]);
} else {
port.postMessage(frame);
if (e.data.hasOwnProperty('id')) {
port.postMessage(
received.get(e.data.id) ? 'RECEIVED' : 'NOT_RECEIVED');
return;
}
if (e.data.toString() == '[object VideoFrame]') {
received.set(e.data.timestamp, e.data);
}
};
};
Expand Down Expand Up @@ -70,12 +73,12 @@
const worker = new SharedWorker(window.URL.createObjectURL(blob));
let frame = createVideoFrame(40);
worker.port.postMessage({frame: frame, transfer: false});
worker.port.postMessage({'id': 40});
const received = await new Promise(resolve => worker.port.onmessage = e => {
resolve(e.data);
});
assert_equals(received.toString(), '[object VideoFrame]');
assert_equals(received.timestamp, 40);
}, 'Verify frames can be passed back and forth between main and sharedworker');
assert_equals(received, 'NOT_RECEIVED');
}, 'Verify frames cannot be passed to sharedworker');

promise_test(async () => {
navigator.serviceWorker.register('videoFrame-serialization.crossAgentCluster.serviceworker.js');
Expand Down Expand Up @@ -124,12 +127,12 @@
const worker = new SharedWorker(window.URL.createObjectURL(blob));
let frame = createVideoFrame(90);
worker.port.postMessage({frame: frame, transfer: true});
worker.port.postMessage({'id': 90});
const received = await new Promise(resolve => worker.port.onmessage = e => {
resolve(e.data);
});
assert_equals(received.toString(), '[object VideoFrame]');
assert_equals(received.timestamp, 90);
}, 'Verify frames can be transferred back and forth between main and sharedworker');
assert_equals(received, 'NOT_RECEIVED');
}, 'Verify frames cannot be transferred to a sharedworker');

promise_test(async () => {
navigator.serviceWorker.register('videoFrame-serialization.crossAgentCluster.serviceworker.js');
Expand Down

This file was deleted.

0 comments on commit 0a71685

Please sign in to comment.