The error event on `<source>` elements doesn't work. Looking at #4370, it seems like there is an `onError` for `<video>` but I can't tell if that's supposed to work for `<source>` too.

The error event is useful so I can deduce which format the browser is using.

this.updateTextContent('' + nextContent);
        if (__DEV__) {
          setContentChildForInstrumentation.call(this, nextContent);
        }
      }
    } else if (nextHtml != null) {
      if (lastHtml !== nextHtml) {
        this.updateMarkup('' + nextHtml);
      }
      if (__DEV__) {
        ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);
      }
    } else if (nextChildren != null) {
      if (__DEV__) {
        setContentChildForInstrumentation.call(this, null);
      }
      this.updateChildren(nextChildren, transaction, context);
    }
  },
  getHostNode: function() {
    return getNode(this);
  },
  /**
   * Destroys all event registrations for this instance. Does not remove from
   * the DOM. That must be done by the parent.
   *
   * @internal
   */
  unmountComponent: function(safely) {
    switch (this._tag) {