MessageEvent constructor

MessageEvent(
  1. String type, {
  2. bool canBubble = false,
  3. bool cancelable = false,
  4. Object? data,
  5. String? origin,
  6. String? lastEventId,
  7. Window? source,
  8. List<MessagePort> messagePorts = const [],
})

Implementation

factory MessageEvent(
  String type, {
  bool canBubble = false,
  bool cancelable = false,
  Object? data,
  String? origin,
  String? lastEventId,
  Window? source,
  List<MessagePort> messagePorts = const [],
}) {
  if (source == null) {
    source = window;
  }
  if (!Device.isIE) {
    // TODO: This if check should be removed once IE
    // implements the constructor.
    return JS(
      'MessageEvent',
      'new MessageEvent(#, {bubbles: #, cancelable: #, data: #, origin: #, lastEventId: #, source: #, ports: #})',
      type,
      canBubble,
      cancelable,
      data,
      origin,
      lastEventId,
      source,
      messagePorts,
    );
  }
  MessageEvent event = document._createEvent("MessageEvent") as MessageEvent;
  event._initMessageEvent(
    type,
    canBubble,
    cancelable,
    data,
    origin,
    lastEventId,
    source,
    messagePorts,
  );
  return event;
}