description

# 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;
    }