OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 "platform/mojo/FetchAPIRequestStructTraits.h" | 5 #include "platform/mojo/FetchAPIRequestStructTraits.h" |
6 | 6 |
7 #include "mojo/public/cpp/bindings/map_traits_wtf_hash_map.h" | 7 #include "mojo/public/cpp/bindings/map_traits_wtf_hash_map.h" |
8 #include "mojo/public/cpp/bindings/string_traits_wtf.h" | 8 #include "mojo/public/cpp/bindings/string_traits_wtf.h" |
9 #include "platform/blob/BlobData.h" | 9 #include "platform/blob/BlobData.h" |
10 #include "platform/mojo/KURLStructTraits.h" | 10 #include "platform/mojo/KURLStructTraits.h" |
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
445 blob_size(const blink::WebServiceWorkerRequest& request) { | 445 blob_size(const blink::WebServiceWorkerRequest& request) { |
446 if (request.GetBlobDataHandle()) | 446 if (request.GetBlobDataHandle()) |
447 return request.GetBlobDataHandle()->size(); | 447 return request.GetBlobDataHandle()->size(); |
448 | 448 |
449 return 0; | 449 return 0; |
450 } | 450 } |
451 | 451 |
452 // static | 452 // static |
453 WTF::String StructTraits<blink::mojom::FetchAPIRequestDataView, | 453 WTF::String StructTraits<blink::mojom::FetchAPIRequestDataView, |
454 blink::WebServiceWorkerRequest>:: | 454 blink::WebServiceWorkerRequest>:: |
| 455 integrity(const blink::WebServiceWorkerRequest& request) { |
| 456 return request.Integrity(); |
| 457 } |
| 458 |
| 459 // static |
| 460 WTF::String StructTraits<blink::mojom::FetchAPIRequestDataView, |
| 461 blink::WebServiceWorkerRequest>:: |
455 client_id(const blink::WebServiceWorkerRequest& request) { | 462 client_id(const blink::WebServiceWorkerRequest& request) { |
456 return request.ClientId(); | 463 return request.ClientId(); |
457 } | 464 } |
458 | 465 |
459 // static | 466 // static |
460 bool StructTraits<blink::mojom::FetchAPIRequestDataView, | 467 bool StructTraits<blink::mojom::FetchAPIRequestDataView, |
461 blink::WebServiceWorkerRequest>:: | 468 blink::WebServiceWorkerRequest>:: |
462 Read(blink::mojom::FetchAPIRequestDataView data, | 469 Read(blink::mojom::FetchAPIRequestDataView data, |
463 blink::WebServiceWorkerRequest* out) { | 470 blink::WebServiceWorkerRequest* out) { |
464 blink::WebURLRequest::FetchRequestMode mode; | 471 blink::WebURLRequest::FetchRequestMode mode; |
465 blink::WebURLRequest::RequestContext requestContext; | 472 blink::WebURLRequest::RequestContext requestContext; |
466 blink::WebURLRequest::FrameType frameType; | 473 blink::WebURLRequest::FrameType frameType; |
467 blink::KURL url; | 474 blink::KURL url; |
468 WTF::String method; | 475 WTF::String method; |
469 WTF::HashMap<WTF::String, WTF::String> headers; | 476 WTF::HashMap<WTF::String, WTF::String> headers; |
470 WTF::String blobUuid; | 477 WTF::String blobUuid; |
471 blink::Referrer referrer; | 478 blink::Referrer referrer; |
472 blink::WebURLRequest::FetchCredentialsMode credentialsMode; | 479 blink::WebURLRequest::FetchCredentialsMode credentialsMode; |
473 blink::WebURLRequest::FetchRedirectMode redirectMode; | 480 blink::WebURLRequest::FetchRedirectMode redirectMode; |
| 481 WTF::String integrity; |
474 WTF::String clientId; | 482 WTF::String clientId; |
475 | 483 |
476 if (!data.ReadMode(&mode) || !data.ReadRequestContextType(&requestContext) || | 484 if (!data.ReadMode(&mode) || !data.ReadRequestContextType(&requestContext) || |
477 !data.ReadFrameType(&frameType) || !data.ReadUrl(&url) || | 485 !data.ReadFrameType(&frameType) || !data.ReadUrl(&url) || |
478 !data.ReadMethod(&method) || !data.ReadHeaders(&headers) || | 486 !data.ReadMethod(&method) || !data.ReadHeaders(&headers) || |
479 !data.ReadBlobUuid(&blobUuid) || !data.ReadReferrer(&referrer) || | 487 !data.ReadBlobUuid(&blobUuid) || !data.ReadReferrer(&referrer) || |
480 !data.ReadCredentialsMode(&credentialsMode) || | 488 !data.ReadCredentialsMode(&credentialsMode) || |
481 !data.ReadRedirectMode(&redirectMode) || !data.ReadClientId(&clientId)) { | 489 !data.ReadRedirectMode(&redirectMode) || !data.ReadClientId(&clientId) || |
| 490 !data.ReadIntegrity(&integrity)) { |
482 return false; | 491 return false; |
483 } | 492 } |
484 | 493 |
485 out->SetMode(mode); | 494 out->SetMode(mode); |
486 out->SetIsMainResourceLoad(data.is_main_resource_load()); | 495 out->SetIsMainResourceLoad(data.is_main_resource_load()); |
487 out->SetRequestContext(requestContext); | 496 out->SetRequestContext(requestContext); |
488 out->SetFrameType(frameType); | 497 out->SetFrameType(frameType); |
489 out->SetURL(url); | 498 out->SetURL(url); |
490 out->SetMethod(method); | 499 out->SetMethod(method); |
491 for (const auto& pair : headers) | 500 for (const auto& pair : headers) |
492 out->SetHeader(pair.key, pair.value); | 501 out->SetHeader(pair.key, pair.value); |
493 out->SetBlob(blobUuid, static_cast<long long>(data.blob_size())); | 502 out->SetBlob(blobUuid, static_cast<long long>(data.blob_size())); |
494 out->SetReferrer(referrer.referrer, static_cast<blink::WebReferrerPolicy>( | 503 out->SetReferrer(referrer.referrer, static_cast<blink::WebReferrerPolicy>( |
495 referrer.referrer_policy)); | 504 referrer.referrer_policy)); |
496 out->SetCredentialsMode(credentialsMode); | 505 out->SetCredentialsMode(credentialsMode); |
497 out->SetRedirectMode(redirectMode); | 506 out->SetRedirectMode(redirectMode); |
| 507 out->SetIntegrity(integrity); |
498 out->SetClientId(clientId); | 508 out->SetClientId(clientId); |
499 out->SetIsReload(data.is_reload()); | 509 out->SetIsReload(data.is_reload()); |
500 return true; | 510 return true; |
501 } | 511 } |
502 | 512 |
503 } // namespace mojo | 513 } // namespace mojo |
OLD | NEW |