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

Side by Side Diff: content/renderer/cache_storage/cache_storage_dispatcher.cc

Issue 2516353002: Introduce url_list to the Response scheme of CacheStorage. (Closed)
Patch Set: Created 4 years 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 "content/renderer/cache_storage/cache_storage_dispatcher.h" 5 #include "content/renderer/cache_storage/cache_storage_dispatcher.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <string> 10 #include <string>
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
71 71
72 blink::WebVector<blink::WebServiceWorkerRequest> WebRequestsFromRequests( 72 blink::WebVector<blink::WebServiceWorkerRequest> WebRequestsFromRequests(
73 const std::vector<ServiceWorkerFetchRequest>& requests) { 73 const std::vector<ServiceWorkerFetchRequest>& requests) {
74 blink::WebVector<blink::WebServiceWorkerRequest> web_requests( 74 blink::WebVector<blink::WebServiceWorkerRequest> web_requests(
75 requests.size()); 75 requests.size());
76 for (size_t i = 0; i < requests.size(); ++i) 76 for (size_t i = 0; i < requests.size(); ++i)
77 PopulateWebRequestFromFetchRequest(requests[i], &(web_requests[i])); 77 PopulateWebRequestFromFetchRequest(requests[i], &(web_requests[i]));
78 return web_requests; 78 return web_requests;
79 } 79 }
80 80
81 ServiceWorkerResponse ResponseFromWebResponse(
82 const blink::WebServiceWorkerResponse& web_response) {
83 ServiceWorkerHeaderMap headers;
84 GetServiceWorkerHeaderMapFromWebResponse(web_response, &headers);
85 ServiceWorkerHeaderList cors_exposed_header_names;
86 GetCorsExposedHeaderNamesFromWebResponse(web_response,
87 &cors_exposed_header_names);
88 // We don't support streaming for cache.
89 DCHECK(web_response.streamURL().isEmpty());
90 return ServiceWorkerResponse(
91 web_response.url(), web_response.status(),
92 web_response.statusText().ascii(), web_response.responseType(), headers,
93 web_response.blobUUID().ascii(), web_response.blobSize(),
94 web_response.streamURL(), blink::WebServiceWorkerResponseErrorUnknown,
95 base::Time::FromInternalValue(web_response.responseTime()),
96 !web_response.cacheStorageCacheName().isNull(),
97 web_response.cacheStorageCacheName().utf8(), cors_exposed_header_names);
98 }
falken 2016/11/30 14:57:37 nice cleanup
99
100 CacheStorageCacheQueryParams QueryParamsFromWebQueryParams( 81 CacheStorageCacheQueryParams QueryParamsFromWebQueryParams(
101 const blink::WebServiceWorkerCache::QueryParams& web_query_params) { 82 const blink::WebServiceWorkerCache::QueryParams& web_query_params) {
102 CacheStorageCacheQueryParams query_params; 83 CacheStorageCacheQueryParams query_params;
103 query_params.ignore_search = web_query_params.ignoreSearch; 84 query_params.ignore_search = web_query_params.ignoreSearch;
104 query_params.ignore_method = web_query_params.ignoreMethod; 85 query_params.ignore_method = web_query_params.ignoreMethod;
105 query_params.ignore_vary = web_query_params.ignoreVary; 86 query_params.ignore_vary = web_query_params.ignoreVary;
106 query_params.cache_name = web_query_params.cacheName; 87 query_params.cache_name = web_query_params.cacheName;
107 return query_params; 88 return query_params;
108 } 89 }
109 90
110 CacheStorageCacheOperationType CacheOperationTypeFromWebCacheOperationType( 91 CacheStorageCacheOperationType CacheOperationTypeFromWebCacheOperationType(
111 blink::WebServiceWorkerCache::OperationType operation_type) { 92 blink::WebServiceWorkerCache::OperationType operation_type) {
112 switch (operation_type) { 93 switch (operation_type) {
113 case blink::WebServiceWorkerCache::OperationTypePut: 94 case blink::WebServiceWorkerCache::OperationTypePut:
114 return CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT; 95 return CACHE_STORAGE_CACHE_OPERATION_TYPE_PUT;
115 case blink::WebServiceWorkerCache::OperationTypeDelete: 96 case blink::WebServiceWorkerCache::OperationTypeDelete:
116 return CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE; 97 return CACHE_STORAGE_CACHE_OPERATION_TYPE_DELETE;
117 default: 98 default:
118 return CACHE_STORAGE_CACHE_OPERATION_TYPE_UNDEFINED; 99 return CACHE_STORAGE_CACHE_OPERATION_TYPE_UNDEFINED;
119 } 100 }
120 } 101 }
121 102
122 CacheStorageBatchOperation BatchOperationFromWebBatchOperation( 103 CacheStorageBatchOperation BatchOperationFromWebBatchOperation(
123 const blink::WebServiceWorkerCache::BatchOperation& web_operation) { 104 const blink::WebServiceWorkerCache::BatchOperation& web_operation) {
105 // We don't support streaming for cache.
106 DCHECK(web_operation.response.streamURL().isEmpty());
107
124 CacheStorageBatchOperation operation; 108 CacheStorageBatchOperation operation;
125 operation.operation_type = 109 operation.operation_type =
126 CacheOperationTypeFromWebCacheOperationType(web_operation.operationType); 110 CacheOperationTypeFromWebCacheOperationType(web_operation.operationType);
127 operation.request = FetchRequestFromWebRequest(web_operation.request); 111 operation.request = FetchRequestFromWebRequest(web_operation.request);
128 operation.response = ResponseFromWebResponse(web_operation.response); 112 operation.response =
113 GetServiceWorkerResponseFromWebResponse(web_operation.response);
129 operation.match_params = 114 operation.match_params =
130 QueryParamsFromWebQueryParams(web_operation.matchParams); 115 QueryParamsFromWebQueryParams(web_operation.matchParams);
131 return operation; 116 return operation;
132 } 117 }
133 118
134 template <typename T> 119 template <typename T>
135 void ClearCallbacksMapWithErrors(T* callbacks_map) { 120 void ClearCallbacksMapWithErrors(T* callbacks_map) {
136 typename T::iterator iter(callbacks_map); 121 typename T::iterator iter(callbacks_map);
137 while (!iter.IsAtEnd()) { 122 while (!iter.IsAtEnd()) {
138 iter.GetCurrentValue()->onError(blink::WebServiceWorkerCacheErrorNotFound); 123 iter.GetCurrentValue()->onError(blink::WebServiceWorkerCacheErrorNotFound);
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 } 610 }
626 611
627 void CacheStorageDispatcher::OnWebCacheDestruction(int cache_id) { 612 void CacheStorageDispatcher::OnWebCacheDestruction(int cache_id) {
628 web_caches_.Remove(cache_id); 613 web_caches_.Remove(cache_id);
629 Send(new CacheStorageHostMsg_CacheClosed(cache_id)); 614 Send(new CacheStorageHostMsg_CacheClosed(cache_id));
630 } 615 }
631 616
632 void CacheStorageDispatcher::PopulateWebResponseFromResponse( 617 void CacheStorageDispatcher::PopulateWebResponseFromResponse(
633 const ServiceWorkerResponse& response, 618 const ServiceWorkerResponse& response,
634 blink::WebServiceWorkerResponse* web_response) { 619 blink::WebServiceWorkerResponse* web_response) {
635 web_response->setURL(response.url); 620 blink::WebVector<blink::WebURL> url_list(response.url_list.size());
621 std::transform(response.url_list.begin(), response.url_list.end(),
622 url_list.begin(), [](const GURL& url) { return url; });
623 web_response->setURLList(url_list);
624
636 web_response->setStatus(response.status_code); 625 web_response->setStatus(response.status_code);
637 web_response->setStatusText(WebString::fromASCII(response.status_text)); 626 web_response->setStatusText(WebString::fromASCII(response.status_text));
638 web_response->setResponseType(response.response_type); 627 web_response->setResponseType(response.response_type);
639 web_response->setResponseTime(response.response_time.ToInternalValue()); 628 web_response->setResponseTime(response.response_time.ToInternalValue());
640 web_response->setCacheStorageCacheName( 629 web_response->setCacheStorageCacheName(
641 response.is_in_cache_storage 630 response.is_in_cache_storage
642 ? blink::WebString::fromUTF8(response.cache_storage_cache_name) 631 ? blink::WebString::fromUTF8(response.cache_storage_cache_name)
643 : blink::WebString()); 632 : blink::WebString());
644 blink::WebVector<blink::WebString> headers( 633 blink::WebVector<blink::WebString> headers(
645 response.cors_exposed_header_names.size()); 634 response.cors_exposed_header_names.size());
(...skipping 20 matching lines...) Expand all
666 CacheStorageDispatcher::WebResponsesFromResponses( 655 CacheStorageDispatcher::WebResponsesFromResponses(
667 const std::vector<ServiceWorkerResponse>& responses) { 656 const std::vector<ServiceWorkerResponse>& responses) {
668 blink::WebVector<blink::WebServiceWorkerResponse> web_responses( 657 blink::WebVector<blink::WebServiceWorkerResponse> web_responses(
669 responses.size()); 658 responses.size());
670 for (size_t i = 0; i < responses.size(); ++i) 659 for (size_t i = 0; i < responses.size(); ++i)
671 PopulateWebResponseFromResponse(responses[i], &(web_responses[i])); 660 PopulateWebResponseFromResponse(responses[i], &(web_responses[i]));
672 return web_responses; 661 return web_responses;
673 } 662 }
674 663
675 } // namespace content 664 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698