@@ -5,7 +5,10 @@ import {
55 StructureWithRefs ,
66} from './StructureClone.ts' ;
77import { MessageEvent , Transferrable } from './MessageTarget.ts' ;
8- import { MessagePort , MessageChannel } from './MessageChannel.ts' ;
8+ import {
9+ MessagePort as MessagePortShim ,
10+ MessageChannel as MessageChannelShim ,
11+ } from './MessageChannel.ts' ;
912
1013const address = Deno . args [ 0 ] ;
1114const scriptType = Deno . args [ 1 ] ;
@@ -60,12 +63,16 @@ function patchGlobalThis(send: (json: string) => void) {
6063 ( < any > globalThis ) . postMessage = ( data : any , transfer ?: Transferrable [ ] ) =>
6164 postMessage ( null , data , transfer ) ;
6265
63- if ( typeof ( < any > globalThis ) . MessageChannel === 'undefined' ) {
64- ( < any > globalThis ) . MessageChannel = MessageChannel ;
66+ if ( typeof ( < any > globalThis ) . MessageChannel !== 'undefined' ) {
67+ ( < any > globalThis ) . BuiltinMessageChannel = ( < any > (
68+ globalThis
69+ ) ) . MessageChannel ;
6570 }
66- if ( typeof ( < any > globalThis ) . MessagePort = == 'undefined' ) {
67- ( < any > globalThis ) . MessagePort = MessagePort ;
71+ if ( typeof ( < any > globalThis ) . MessagePort ! == 'undefined' ) {
72+ ( < any > globalThis ) . BuiltinMessagePort = ( < any > globalThis ) . MessagePort ;
6873 }
74+ ( < any > globalThis ) . MessageChannel = MessageChannelShim ;
75+ ( < any > globalThis ) . MessagePort = MessagePortShim ;
6976
7077 return function onmessage ( message : string ) {
7178 if ( typeof message === 'string' ) {
@@ -119,7 +126,7 @@ function patchGlobalThis(send: (json: string) => void) {
119126 function handleTransfers ( transfer ?: Transferrable [ ] ) {
120127 if ( transfer ) {
121128 for ( let t of transfer ) {
122- if ( t instanceof MessagePort ) {
129+ if ( t instanceof MessagePortShim ) {
123130 const channel = t . channelID ;
124131 ports . set ( t . channelID , {
125132 port : t ,
0 commit comments