// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// http://fetch.spec.whatwg.org/#response-class
// FIXME: Split this idl/impl into AbstractResponse and Response.
[
    // FIXME: Add ctors for String, Stream, and ArrayBuffer/ArrayBufferView response bodies.
    Constructor(Blob body, optional Dictionary responseInitDict),
    RuntimeEnabled=ServiceWorker,
    Exposed=ServiceWorker
] interface Response {
    attribute unsigned short status;
    attribute ByteString statusText;
    readonly attribute HeaderMap headers;

    // FIXME: Implement the following:
    // attribute DOMString url;
    // Promise<Blob> toBlob();
};
