anchor.diff:    @JSName('removeEventListener')
     void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native;
   
  +  /**
  +   * Send the request with any given `data`.
  +   *
  +   * See also: 
  +   * [send() docs](https://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#send())
  +   * from MDN.
  +   */
     /// @domName XMLHttpRequest.send; @docsEditable true
     void send([data]) native;
   
  +  /** Sets HTTP `header` to `value`. */
     /// @domName XMLHttpRequest.setRequestHeader; @docsEditable true
     void setRequestHeader(String header, String value) native;
   
   }
   
  +/**
  + * A class that supports listening for and dispatching events that can fire when
  + * making an HTTP request. 
  + *  
  + * Here's an example of adding an event handler that executes once an HTTP
  + * request has fully loaded:
  + * 
  + *     httpRequest.on.loadEnd.add((e) => myCustomLoadEndHandler(e));
  + *
  + * Each property of this class is a read-only pointer to an [EventListenerList].
  + * That list holds all of the [EventListener]s that have registered for that
  + * particular type of event that fires from an HttpRequest.
  + */
   /// @docsEditable true
   class HttpRequestEvents extends Events {
     /// @docsEditable true
     HttpRequestEvents(EventTarget _ptr) : super(_ptr);
   
  +  /**
  +   * Event listeners to be notified when request has been aborted,
  +   * generally due to calling `httpRequest.abort()`.
  +   */
     /// @docsEditable true
     EventListenerList get abort => this['abort'];
   
  +  /**
  +   * Event listeners to be notified when a request has failed, such as when a
  +   * cross-domain error occurred or the file wasn't found on the server.
  +   */
     /// @docsEditable true
     EventListenerList get error => this['error'];
   
  +  /**
  +   * Event listeners to be notified once the request has completed
  +   * *successfully*.
  +   */
     /// @docsEditable true
     EventListenerList get load => this['load'];
   
  +  /**
  +   * Event listeners to be notified once the request has completed (on
  +   * either success or failure).
  +   */
     /// @docsEditable true
     EventListenerList get loadEnd => this['loadend'];
   
  +  /**
  +   * Event listeners to be notified when the request starts, once
  +   * `httpRequest.send()` has been called.
  +   */
     /// @docsEditable true
     EventListenerList get loadStart => this['loadstart'];
   
  +  /**
  +   * Event listeners to be notified when data for the request 
  +   * is being sent or loaded.
  +   *
  +   * Progress events are fired every 50ms or for every byte transmitted,
  +   * whichever is less frequent.
  +   */
     /// @docsEditable true
     EventListenerList get progress => this['progress'];
   
  +  /**
  +   * Event listeners to be notified every time the [HttpRequest]
  +   * object's `readyState` changes values.
  +   */
     /// @docsEditable true
     EventListenerList get readyStateChange => this['readystatechange'];
   }
  
positive.code:   DocumentEvents get on =>
      new DocumentEvents(this);
  
    /// @domName Document.body; @docsEditable true
    @JSName('body')
    Element $dom_body;
  
negative.code:   @JSName('dispatchEvent')
    bool $dom_dispatchEvent(Event evt) native;
  
    /**
     * Retrieve all the response headers from a request.
     * 
     * `null` if no headers have been received. For multipart requests,
     * `getAllResponseHeaders` will return the response headers for the current
     * part of the request.
     * 
     * See also [HTTP response headers](http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses)
     * for a list of common response headers.
     */
    /// @domName XMLHttpRequest.getAllResponseHeaders; @docsEditable true
    String getAllResponseHeaders() native;
  
    /**
     * Return the response header named `header`, or `null` if not found.
     * 
     * See also [HTTP response headers](http://en.wikipedia.org/wiki/List_of_HTTP_header_fields#Responses)
     * for a list of common response headers.
     */
    /// @domName XMLHttpRequest.getResponseHeader; @docsEditable true
    String getResponseHeader(String header) native;
  
    /**
     * Specify the desired `url`, and `method` to use in making the request.
     * 
     * By default the request is done asyncronously, with no user or password
     * authentication information. If `async` is false, the request will be send
     * synchronously.
     * 
     * Calling `open` again on a currently active request is equivalent to
     * calling `abort`.
     */
    /// @domName XMLHttpRequest.open; @docsEditable true
    void open(String method, String url, [bool async, String user, String password]) native;
  
    /**
     * Specify a particular MIME type (such as `text/xml`) desired for the
     * response.
     * 
     * This value must be set before the request has been sent. See also the list
     * of [common MIME types](http://en.wikipedia.org/wiki/Internet_media_type#List_of_common_media_types)
     */
    /// @domName XMLHttpRequest.overrideMimeType; @docsEditable true
    void overrideMimeType(String override) native;
  
  