| Index: Source/modules/serviceworkers/Response.cpp
|
| diff --git a/Source/modules/serviceworkers/Response.cpp b/Source/modules/serviceworkers/Response.cpp
|
| index 00f006d0338496ef478b65a65c93c5698a65552a..2908a2193ebd6759f5f42b17c3e60b0ed652ef56 100644
|
| --- a/Source/modules/serviceworkers/Response.cpp
|
| +++ b/Source/modules/serviceworkers/Response.cpp
|
| @@ -22,31 +22,54 @@ PassRefPtr<Response> Response::create(const Dictionary& responseInit)
|
| return adoptRef(new Response(ResponseInit(responseInit)));
|
| }
|
|
|
| -void Response::headers(const Dictionary& headers)
|
| +void Response::setHeaders(PassRefPtr<HeaderMap> headers)
|
| {
|
| - notImplemented();
|
| + m_headers = headers;
|
| }
|
|
|
| -Dictionary* Response::headers()
|
| +PassRefPtr<HeaderMap> Response::headers()
|
| {
|
| // FIXME: Implement. Spec will eventually whitelist allowable headers.
|
| - return &m_headers;
|
| + return m_headers;
|
| +}
|
| +
|
| +String Response::getHeader(const String& name)
|
| +{
|
| + return m_headers->get(name);
|
| +}
|
| +
|
| +bool Response::namedPropertyQuery(const String& name, ExceptionState&)
|
| +{
|
| + return m_headers->has(name);
|
| +}
|
| +
|
| +void Response::namedPropertyEnumerator(Vector<String>& names, ExceptionState&)
|
| +{
|
| + copyKeysToVector(m_headers->headerMap(), names);
|
| +}
|
| +
|
| +bool Response::setHeader(const String& name, const String& value)
|
| +{
|
| + m_headers->set(name, value);
|
| + return true;
|
| }
|
|
|
| void Response::populateWebServiceWorkerResponse(blink::WebServiceWorkerResponse& response)
|
| {
|
| - response.setStatusCode(statusCode());
|
| + response.setStatus(status());
|
| response.setStatusText(statusText());
|
| - response.setMethod(method());
|
| + response.setHeaders(m_headers->headerMap());
|
| }
|
|
|
| Response::Response(const ResponseInit& responseInit)
|
| - : m_statusCode(responseInit.statusCode)
|
| + : m_status(responseInit.status)
|
| , m_statusText(responseInit.statusText)
|
| - , m_method(responseInit.method)
|
| , m_headers(responseInit.headers)
|
| {
|
| ScriptWrappable::init(this);
|
| +
|
| + if (!m_headers)
|
| + m_headers = HeaderMap::create();
|
| }
|
|
|
| } // namespace WebCore
|
|
|