mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-29 13:42:37 +00:00 
			
		
		
		
	 c0f50b12a4
			
		
	
	
		c0f50b12a4
		
	
	
	
	
		
			
			This is to allow future changes to do cross-process MessagePorts in an implementation-agnostic way. Add some tests for this behavior. Delivering messages that were posted to a MessagePort just before it was transferred is not yet implemented still.
		
			
				
	
	
		
			20 lines
		
	
	
	
		
			675 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
	
		
			675 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| #import <DOM/EventTarget.idl>
 | |
| #import <DOM/EventHandler.idl>
 | |
| 
 | |
| // https://html.spec.whatwg.org/multipage/web-messaging.html#messageport
 | |
| [Exposed=(Window,Worker,AudioWorklet), Transferable]
 | |
| interface MessagePort : EventTarget {
 | |
|     // FIXME: IDL Overload resolution fails here
 | |
|     // FIXME: undefined postMessage(any message, sequence<object> transfer);
 | |
|     undefined postMessage(any message, optional StructuredSerializeOptions options = {});
 | |
|     undefined start();
 | |
|     undefined close();
 | |
| 
 | |
|     // event handlers
 | |
|     attribute EventHandler onmessage;
 | |
|     attribute EventHandler onmessageerror;
 | |
| };
 | |
| 
 | |
| dictionary StructuredSerializeOptions {
 | |
|     sequence<object> transfer = [];
 | |
| };
 |