MessageEvent constructor

MessageEvent(String type, { bool canBubble: false, bool cancelable: false, Object data, String origin, String lastEventId, Window source, 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");
  event._initMessageEvent(type, canBubble, cancelable, data, origin,
      lastEventId, source, messagePorts);
  return event;
}