Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: third_party/WebKit/Source/modules/fetch/Response.cpp

Issue 1965013002: Implement headers attributes in ForeignFetchResponse (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: using instead of typedef Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/fetch/Response.h" 5 #include "modules/fetch/Response.h"
6 6
7 #include "bindings/core/v8/Dictionary.h" 7 #include "bindings/core/v8/Dictionary.h"
8 #include "bindings/core/v8/ExceptionState.h" 8 #include "bindings/core/v8/ExceptionState.h"
9 #include "bindings/core/v8/ScriptState.h" 9 #include "bindings/core/v8/ScriptState.h"
10 #include "bindings/core/v8/V8ArrayBuffer.h" 10 #include "bindings/core/v8/V8ArrayBuffer.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 response->headerList()->append(i->key, i->value); 52 response->headerList()->append(i->key, i->value);
53 } 53 }
54 54
55 response->replaceBodyStreamBuffer(new BodyStreamBuffer(scriptState, FetchBlo bDataConsumerHandle::create(scriptState->getExecutionContext(), webResponse.blob DataHandle()))); 55 response->replaceBodyStreamBuffer(new BodyStreamBuffer(scriptState, FetchBlo bDataConsumerHandle::create(scriptState->getExecutionContext(), webResponse.blob DataHandle())));
56 56
57 // Filter the response according to |webResponse|'s ResponseType. 57 // Filter the response according to |webResponse|'s ResponseType.
58 switch (webResponse.responseType()) { 58 switch (webResponse.responseType()) {
59 case WebServiceWorkerResponseTypeBasic: 59 case WebServiceWorkerResponseTypeBasic:
60 response = response->createBasicFilteredResponse(); 60 response = response->createBasicFilteredResponse();
61 break; 61 break;
62 case WebServiceWorkerResponseTypeCORS: 62 case WebServiceWorkerResponseTypeCORS: {
63 response = response->createCORSFilteredResponse(); 63 HTTPHeaderSet headerNames;
64 for (const auto& header : webResponse.corsExposedHeaderNames())
65 headerNames.add(String(header));
66 response = response->createCORSFilteredResponse(headerNames);
64 break; 67 break;
68 }
65 case WebServiceWorkerResponseTypeOpaque: 69 case WebServiceWorkerResponseTypeOpaque:
66 response = response->createOpaqueFilteredResponse(); 70 response = response->createOpaqueFilteredResponse();
67 break; 71 break;
68 case WebServiceWorkerResponseTypeOpaqueRedirect: 72 case WebServiceWorkerResponseTypeOpaqueRedirect:
69 response = response->createOpaqueRedirectFilteredResponse(); 73 response = response->createOpaqueRedirectFilteredResponse();
70 break; 74 break;
71 case WebServiceWorkerResponseTypeDefault: 75 case WebServiceWorkerResponseTypeDefault:
72 break; 76 break;
73 case WebServiceWorkerResponseTypeError: 77 case WebServiceWorkerResponseTypeError:
74 ASSERT(response->getType() == FetchResponseData::ErrorType); 78 ASSERT(response->getType() == FetchResponseData::ErrorType);
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
417 } 421 }
418 422
419 DEFINE_TRACE(Response) 423 DEFINE_TRACE(Response)
420 { 424 {
421 Body::trace(visitor); 425 Body::trace(visitor);
422 visitor->trace(m_response); 426 visitor->trace(m_response);
423 visitor->trace(m_headers); 427 visitor->trace(m_headers);
424 } 428 }
425 429
426 } // namespace blink 430 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698