Dart API Referencedart:htmlMessagePort

MessagePort class

dom/interfaces/threads/nsIDOMWorkers.idlScriptable
This interface represents a worker thread's message port, which is used to allow the worker to post messages back to its creator.
1.0
11.0
Introduced
Gecko 1.9.1
Inherits from: nsISupports Last changed in Gecko 1.9.1 (Firefox 3.5 / Thunderbird 3.0 / SeaMonkey 2.0)
@DocsEditable
@DomName('MessagePort')
class MessagePort extends EventTarget native "MessagePort" {

 @DomName('MessagePort.messageEvent')
 @DocsEditable
 static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message');

 @JSName('addEventListener')
 @DomName('MessagePort.addEventListener')
 @DocsEditable
 void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;

 @DomName('MessagePort.close')
 @DocsEditable
 void close() native;

 @DomName('MessagePort.dispatchEvent')
 @DocsEditable
 bool dispatchEvent(Event evt) native;

 @DomName('MessagePort.postMessage')
 @DocsEditable
 void postMessage(/*any*/ message, [List messagePorts]) {
   if (?messagePorts) {
     var message_1 = convertDartToNative_SerializedScriptValue(message);
     _postMessage_1(message_1, messagePorts);
     return;
   }
   var message_2 = convertDartToNative_SerializedScriptValue(message);
   _postMessage_2(message_2);
   return;
 }
 @JSName('postMessage')
 @DomName('MessagePort.postMessage')
 @DocsEditable
 void _postMessage_1(message, List messagePorts) native;
 @JSName('postMessage')
 @DomName('MessagePort.postMessage')
 @DocsEditable
 void _postMessage_2(message) native;

 @JSName('removeEventListener')
 @DomName('MessagePort.removeEventListener')
 @DocsEditable
 void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;

 @DomName('MessagePort.start')
 @DocsEditable
 void start() native;

 @DomName('MessagePort.onmessage')
 @DocsEditable
 Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);
}

Extends

Interceptor > EventTarget > MessagePort

Static Properties

const EventStreamProvider<MessageEvent> messageEvent #

static const EventStreamProvider<MessageEvent> messageEvent = const EventStreamProvider<MessageEvent>('message')

Properties

final int hashCode #

inherited from Interceptor

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

docs inherited from Object
int get hashCode => Primitives.objectHashCode(this);

final Events on #

inherited from EventTarget

This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.

Events get on => new Events(this);

final Stream<MessageEvent> onMessage #

@DomName('MessagePort.onmessage')
@DocsEditable
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);

final Type runtimeType #

inherited from Interceptor

A representation of the runtime type of the object.

docs inherited from Object
Type get runtimeType => getRuntimeType(this);

Operators

bool operator ==(other) #

inherited from Interceptor

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

docs inherited from Object
bool operator ==(other) => identical(this, other);

Methods

void close() #

@DomName('MessagePort.close')
@DocsEditable
void close() native;

bool dispatchEvent(Event evt) #

@DomName('MessagePort.dispatchEvent')
@DocsEditable
bool dispatchEvent(Event evt) native;

dynamic noSuchMethod(Invocation invocation) #

inherited from Interceptor

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod in an Invocation. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

docs inherited from Object
dynamic noSuchMethod(Invocation invocation) {
 throw new NoSuchMethodError(
     this,
     _symbolToString(invocation.memberName),
     invocation.positionalArguments,
     _symbolMapToStringMap(invocation.namedArguments));
}

void postMessage(message, [List messagePorts]) #

Posts a message into the event queue.

Parameters
aMessage
The message to post.
@DomName('MessagePort.postMessage')
@DocsEditable
void postMessage(/*any*/ message, [List messagePorts]) {
 if (?messagePorts) {
   var message_1 = convertDartToNative_SerializedScriptValue(message);
   _postMessage_1(message_1, messagePorts);
   return;
 }
 var message_2 = convertDartToNative_SerializedScriptValue(message);
 _postMessage_2(message_2);
 return;
}

void start() #

@DomName('MessagePort.start')
@DocsEditable
void start() native;

String toString() #

inherited from Interceptor

Returns a string representation of this object.

docs inherited from Object
String toString() => Primitives.objectToString(this);

void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) #

@JSName('addEventListener')
@DomName('MessagePort.addEventListener')
@DocsEditable
void $dom_addEventListener(String type, EventListener listener, [bool useCapture]) native;

void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) #

@JSName('removeEventListener')
@DomName('MessagePort.removeEventListener')
@DocsEditable
void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;

This page includes content from the Mozilla Foundation that is graciously licensed under a Creative Commons: Attribution-Sharealike license. Mozilla has no other association with Dart or dartlang.org. We encourage you to improve the web by contributing to The Mozilla Developer Network.