File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ Last update:
1414- console: https://github.com/web-platform-tests/wpt/tree/767ae35464/console
1515- dom/abort: https://github.com/web-platform-tests/wpt/tree/8fadb38120/dom/abort
1616- dom/events: https://github.com/web-platform-tests/wpt/tree/ab8999891c/dom/events
17- - encoding: https://github.com/web-platform-tests/wpt/tree/779d175c40 /encoding
17+ - encoding: https://github.com/web-platform-tests/wpt/tree/0c1b9d1622 /encoding
1818- fetch/data-urls/resources: https://github.com/web-platform-tests/wpt/tree/7c79d998ff/fetch/data-urls/resources
1919- FileAPI: https://github.com/web-platform-tests/wpt/tree/3b279420d4/FileAPI
2020- FileAPI/file: https://github.com/web-platform-tests/wpt/tree/c01f637cca/FileAPI/file
Original file line number Diff line number Diff line change 1+ // Text*Stream should still work even if the realm is detached.
2+
3+ // Adds an iframe to the document and returns it.
4+ function addIframe ( ) {
5+ const iframe = document . createElement ( 'iframe' ) ;
6+ document . body . appendChild ( iframe ) ;
7+ return iframe ;
8+ }
9+
10+ promise_test ( async t => {
11+ const iframe = addIframe ( ) ;
12+ const stream = new iframe . contentWindow . TextDecoderStream ( ) ;
13+ const readPromise = stream . readable . getReader ( ) . read ( ) ;
14+ const writer = stream . writable . getWriter ( ) ;
15+ await writer . ready ;
16+ iframe . remove ( ) ;
17+ return Promise . all ( [ writer . write ( new Uint8Array ( [ 65 ] ) ) , readPromise ] ) ;
18+ } , 'TextDecoderStream: write in detached realm should succeed' ) ;
19+
20+ promise_test ( async t => {
21+ const iframe = addIframe ( ) ;
22+ const stream = new iframe . contentWindow . TextEncoderStream ( ) ;
23+ const readPromise = stream . readable . getReader ( ) . read ( ) ;
24+ const writer = stream . writable . getWriter ( ) ;
25+ await writer . ready ;
26+ iframe . remove ( ) ;
27+ return Promise . all ( [ writer . write ( 'A' ) , readPromise ] ) ;
28+ } , 'TextEncoderStream: write in detached realm should succeed' ) ;
29+
30+ for ( const type of [ 'TextEncoderStream' , 'TextDecoderStream' ] ) {
31+ promise_test ( async t => {
32+ const iframe = addIframe ( ) ;
33+ const stream = new iframe . contentWindow [ type ] ( ) ;
34+ iframe . remove ( ) ;
35+ return stream . writable . close ( ) ;
36+ } , `${ type } : close in detached realm should succeed` ) ;
37+ }
Original file line number Diff line number Diff line change 1616"path" : " dom/events"
1717 },
1818"encoding" : {
19- "commit" : " 779d175c40efcb8f2c9512bebe25ffbeda485708 " ,
19+ "commit" : " 0c1b9d1622ae0f27f82d7f7d7a1e9e69d410a3ca " ,
2020"path" : " encoding"
2121 },
2222"fetch/data-urls/resources" : {
Original file line number Diff line number Diff line change 4848"streams/decode-ignore-bom.any.js" : {
4949"requires" : [" small-icu" ]
5050 },
51+ "streams/invalid-realm.window.js" : {
52+ "skip" : " document is not defined"
53+ },
5154"streams/realms.window.js" : {
5255"skip" : " window is not defined"
5356 },
You can’t perform that action at this time.
0 commit comments