implement broadcastchannel

This commit is contained in:
Gregory Terzian 2020-02-19 00:48:17 +08:00
parent 145c89a2d4
commit eb21d5f738
32 changed files with 763 additions and 216 deletions

View file

@ -1,10 +1,11 @@
[noopener-noreferrer-BarProp.window.html]
expected: TIMEOUT
[window.open() with noopener should have all bars visible]
expected: FAIL
expected: TIMEOUT
[All bars visible]
expected: FAIL
[window.open() with noreferrer should have all bars visible]
expected: FAIL
expected: TIMEOUT

View file

@ -1,7 +0,0 @@
[noopener-noreferrer-sizing.window.html]
[window.open() with noreferrer should have equal viewport width and height]
expected: FAIL
[window.open() with noopener should have equal viewport width and height]
expected: FAIL

View file

@ -36,7 +36,6 @@
[window-open-noopener.html?indexed]
expected: ERROR
[window.open() with 'noopener' should not reuse existing target]
expected: FAIL
@ -49,30 +48,6 @@
[noopener needs to be present as a token on its own yet again]
expected: NOTRUN
[Trailing noopener should work]
expected: NOTRUN
[Leading noopener should work]
expected: NOTRUN
[Interior noopener should work]
expected: NOTRUN
[noopener=1 means the same as noopener]
expected: NOTRUN
[noopener=0 means lack of noopener]
expected: NOTRUN
[noopener separated only by spaces should work]
expected: NOTRUN
[window.open() with 'noopener' should reuse existing target]
expected: FAIL
[noreferrer should also suppress opener when reusing existing target]
expected: NOTRUN
[window-open-noopener.html?_self]
[noopener window.open targeting _self]

View file

@ -1,4 +0,0 @@
[window-open-noreferrer.html]
[window.open() with "noreferrer" tests]
expected: FAIL

View file

@ -332,18 +332,12 @@
[CanvasRenderingContext2D interface: operation scrollPathIntoView(Path2D)]
expected: FAIL
[BroadcastChannel interface: attribute name]
expected: FAIL
[ApplicationCache interface object name]
expected: FAIL
[DOMStringList interface: calling item(unsigned long) on location.ancestorOrigins with too few arguments must throw TypeError]
expected: FAIL
[BroadcastChannel interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
[BarProp interface object length]
expected: FAIL
@ -704,9 +698,6 @@
[OffscreenCanvasRenderingContext2D interface object name]
expected: FAIL
[BroadcastChannel interface: attribute onmessage]
expected: FAIL
[ElementInternals interface object name]
expected: FAIL
@ -800,9 +791,6 @@
[ApplicationCache interface: attribute onerror]
expected: FAIL
[BroadcastChannel interface: existence and properties of interface object]
expected: FAIL
[SVGElement interface: attribute onsubmit]
expected: FAIL
@ -968,9 +956,6 @@
[SVGElement interface: attribute onkeydown]
expected: FAIL
[BroadcastChannel interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
[Path2D interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
@ -1067,9 +1052,6 @@
[OffscreenCanvas interface object name]
expected: FAIL
[BroadcastChannel interface: operation close()]
expected: FAIL
[SVGElement interface: attribute onresize]
expected: FAIL
@ -1166,9 +1148,6 @@
[ImageBitmap interface: attribute width]
expected: FAIL
[BroadcastChannel interface: operation postMessage(any)]
expected: FAIL
[DataTransfer interface: attribute types]
expected: FAIL
@ -1214,18 +1193,12 @@
[SVGElement interface: attribute onvolumechange]
expected: FAIL
[BroadcastChannel interface object name]
expected: FAIL
[CanvasRenderingContext2D interface: attribute textBaseline]
expected: FAIL
[ImageBitmapRenderingContext interface object length]
expected: FAIL
[BroadcastChannel interface: existence and properties of interface prototype object]
expected: FAIL
[Path2D interface: operation addPath(Path2D, DOMMatrix2DInit)]
expected: FAIL
@ -1307,9 +1280,6 @@
[CanvasRenderingContext2D interface: document.createElement("canvas").getContext("2d") must inherit property "scrollPathIntoView()" with the proper type]
expected: FAIL
[BroadcastChannel interface: attribute onmessageerror]
expected: FAIL
[OffscreenCanvas interface: operation convertToBlob(ImageEncodeOptions)]
expected: FAIL
@ -1331,9 +1301,6 @@
[ValidityState interface: document.createElement("input").validity must inherit property "valid" with the proper type]
expected: FAIL
[BroadcastChannel interface object length]
expected: FAIL
[Location interface: stringifier]
expected: FAIL
@ -4442,4 +4409,3 @@
[HTMLImageElement interface: document.createElement("img") must inherit property "loading" with the proper type]
expected: FAIL

View file

@ -1,15 +1,9 @@
[no-coop-coep.https.any.worker.html]
[SharedArrayBuffer over BroadcastChannel without COOP+COEP]
expected: FAIL
[Bonus: self.crossOriginIsolated]
expected: FAIL
[no-coop-coep.https.any.html]
[SharedArrayBuffer over BroadcastChannel without COOP+COEP]
expected: FAIL
[Bonus: self.crossOriginIsolated]
expected: FAIL

View file

@ -1,4 +1,5 @@
[rel-base-target.html]
expected: TIMEOUT
[<form rel="noreferrer opener"> with <base target>]
expected: FAIL

View file

@ -1,6 +1,5 @@
[htmlanchorelement_noopener.html]
type: testharness
expected: ERROR
[Check that targeting of rel=noopener with a given name ignores an existing window with that name]
expected: NOTRUN
@ -11,7 +10,7 @@
expected: FAIL
[Check that targeting of rel=noopener with a given name reuses an existing window with that name]
expected: NOTRUN
expected: FAIL
[Check that rel=noopener with target=_self does a normal load]
expected: FAIL

View file

@ -1,40 +1,20 @@
[target_blank_implicit_noopener.html]
[Anchor element with target=_blank with rel=opener+noopener]
expected: FAIL
expected: TIMEOUT
[Area element with target=_blank with rel=opener+noopener]
expected: FAIL
[Anchor element with target=_blank with rel=noopener+opener+noreferrer]
expected: FAIL
[Anchor element with target=_blank with rel=opener]
expected: FAIL
[Anchor element with target=_blank with rel=noopener+opener]
expected: FAIL
expected: TIMEOUT
[Area element with target=_blank with rel=noopener]
expected: FAIL
expected: TIMEOUT
[Area element with target=_blank with rel=opener]
expected: FAIL
expected: TIMEOUT
[Anchor element with target=_blank with implicit rel=noopener]
expected: FAIL
[Anchor element with target=_blank with rel=opener+noreferrer]
expected: FAIL
[Area element with target=_blank with implicit rel=noopener]
expected: FAIL
[Anchor element with target=_blank with rel=noreferrer]
expected: FAIL
expected: TIMEOUT
[Area element with target=_blank with rel=noopener+opener]
expected: FAIL
[Anchor element with target=_blank with rel=noopener]
expected: FAIL
expected: TIMEOUT

View file

@ -1,4 +1,5 @@
[target_blank_implicit_noopener_base.html]
expected: TIMEOUT
[Anchor element with base target=_blank with implicit rel=noopener]
expected: FAIL

View file

@ -1,4 +0,0 @@
[MessageEvent-trusted.html]
[With a BroadcastChannel]
expected: FAIL

View file

@ -1,16 +0,0 @@
[basics.html]
[messages are delivered in port creation order]
expected: FAIL
[closing and creating channels during message delivery works correctly]
expected: FAIL
[messages aren't delivered to a closed port]
expected: FAIL
[Closing a channel in onmessage doesn't cancel already queued events]
expected: FAIL
[postMessage results in correct event]
expected: FAIL

View file

@ -1,7 +0,0 @@
[blobs.html]
[Blobs work with workers on BroadcastChannel]
expected: FAIL
[Blobs work on BroadcastChannel]
expected: FAIL

View file

@ -1,40 +0,0 @@
[interface.html]
[Null name should not throw]
expected: FAIL
[postMessage after close should throw]
expected: FAIL
[Undefined name should not throw]
expected: FAIL
[postMessage should throw with uncloneable data]
expected: FAIL
[close should not throw when called multiple times]
expected: FAIL
[close should not throw]
expected: FAIL
[Non-empty name should not throw]
expected: FAIL
[postMessage with null should not throw]
expected: FAIL
[postMessage should throw InvalidStateError after close, even with uncloneable data]
expected: FAIL
[BroadcastChannel should have an onmessage event]
expected: FAIL
[Non-string name should not throw]
expected: FAIL
[Should throw if no name is provided]
expected: FAIL
[postMessage without parameters should throw]
expected: FAIL

View file

@ -1,5 +0,0 @@
[origin.window.html]
expected: TIMEOUT
[Serialization of BroadcastChannel origin]
expected: TIMEOUT

View file

@ -1,4 +0,0 @@
[sandbox.html]
[Creating BroadcastChannel in an opaque origin]
expected: FAIL

View file

@ -1,17 +1,4 @@
[workers.html]
expected: TIMEOUT
[BroadcastChannel used after a worker self.close()]
expected: FAIL
[BroadcastChannel works in shared workers]
expected: FAIL
[BroadcastChannel works in workers]
expected: FAIL
[BroadcastChannel created after a worker self.close()]
expected: TIMEOUT
[Closing and re-opening a channel works.]
expected: FAIL

View file

@ -8,7 +8,3 @@
[Worker has an opaque origin.]
expected: FAIL
[Worker can access BroadcastChannel]
expected: FAIL

View file

@ -12,9 +12,6 @@
[The Path2D interface object should be exposed.]
expected: FAIL
[The BroadcastChannel interface object should be exposed.]
expected: FAIL
[The ReadableStream interface object should be exposed.]
expected: FAIL
@ -59,3 +56,4 @@
[The IDBTransaction interface object should be exposed.]
expected: FAIL

View file

@ -28,6 +28,7 @@ test_interfaces([
"BeforeUnloadEvent",
"BiquadFilterNode",
"Blob",
"BroadcastChannel",
"CanvasGradient",
"CanvasRenderingContext2D",
"CanvasPattern",

View file

@ -7,6 +7,7 @@ function test_interfaces(interfaceNamesInGlobalScope) {
"ArrayBuffer",
"Atomics",
"Boolean",
"BroadcastChannel",
"Crypto",
"DataView",
"Date",

View file

@ -8,6 +8,7 @@ importScripts("interfaces.js");
// IMPORTANT: Do not change the list below without review from a DOM peer!
test_interfaces([
"Blob",
"BroadcastChannel",
"CanvasGradient",
"CanvasPattern",
"CloseEvent",