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

Unified Diff: content/renderer/service_worker/service_worker_type_util.cc

Issue 2516353002: Introduce url_list to the Response scheme of CacheStorage. (Closed)
Patch Set: implicit conversion WebURL <-> GURL and WebVector <- vector 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/service_worker/service_worker_type_util.cc
diff --git a/content/renderer/service_worker/service_worker_type_util.cc b/content/renderer/service_worker/service_worker_type_util.cc
index 220ee229312cf4b0653077cedc9bf2e80f1140a8..7db72e907bee5da0e0754569c9fc35762627a953 100644
--- a/content/renderer/service_worker/service_worker_type_util.cc
+++ b/content/renderer/service_worker/service_worker_type_util.cc
@@ -7,6 +7,7 @@
#include <memory>
#include <string>
+#include "base/memory/ptr_util.h"
#include "base/strings/utf_string_conversions.h"
#include "content/common/service_worker/service_worker_types.h"
#include "third_party/WebKit/public/platform/WebHTTPHeaderVisitor.h"
@@ -43,6 +44,32 @@ std::unique_ptr<HeaderVisitor> MakeHeaderVisitor(
return std::unique_ptr<HeaderVisitor>(new HeaderVisitor(headers));
}
+std::unique_ptr<ServiceWorkerHeaderMap> GetHeaderMap(
+ const blink::WebServiceWorkerResponse& web_response) {
+ std::unique_ptr<ServiceWorkerHeaderMap> result =
+ base::MakeUnique<ServiceWorkerHeaderMap>();
+ web_response.visitHTTPHeaderFields(MakeHeaderVisitor(result.get()).get());
+ return result;
+}
+
+std::unique_ptr<ServiceWorkerHeaderList> GetHeaderList(
+ const blink::WebVector<blink::WebString>& web_headers) {
+ std::unique_ptr<ServiceWorkerHeaderList> result =
+ base::MakeUnique<ServiceWorkerHeaderList>(web_headers.size());
+ std::transform(web_headers.begin(), web_headers.end(), result->begin(),
+ [](const blink::WebString& s) { return s.latin1(); });
+ return result;
+}
+
+std::unique_ptr<std::vector<GURL>> GetURLList(
+ const blink::WebVector<blink::WebURL>& web_url_list) {
+ std::unique_ptr<std::vector<GURL>> result =
+ base::MakeUnique<std::vector<GURL>>(web_url_list.size());
+ std::transform(web_url_list.begin(), web_url_list.end(), result->begin(),
+ [](const blink::WebURL& url) { return url; });
+ return result;
+}
+
} // namespace
void GetServiceWorkerHeaderMapFromWebRequest(
@@ -53,22 +80,17 @@ void GetServiceWorkerHeaderMapFromWebRequest(
web_request.visitHTTPHeaderFields(MakeHeaderVisitor(headers).get());
}
-void GetServiceWorkerHeaderMapFromWebResponse(
- const blink::WebServiceWorkerResponse& web_response,
- ServiceWorkerHeaderMap* headers) {
- DCHECK(headers);
- DCHECK(headers->empty());
- web_response.visitHTTPHeaderFields(MakeHeaderVisitor(headers).get());
-}
-
-void GetCorsExposedHeaderNamesFromWebResponse(
- const blink::WebServiceWorkerResponse& web_response,
- ServiceWorkerHeaderList* result) {
- blink::WebVector<blink::WebString> headers =
- web_response.corsExposedHeaderNames();
- result->resize(headers.size());
- std::transform(headers.begin(), headers.end(), result->begin(),
- [](const blink::WebString& s) { return s.latin1(); });
+ServiceWorkerResponse GetServiceWorkerResponseFromWebResponse(
+ const blink::WebServiceWorkerResponse& web_response) {
+ return ServiceWorkerResponse(
+ GetURLList(web_response.urlList()), web_response.status(),
+ web_response.statusText().utf8(), web_response.responseType(),
+ GetHeaderMap(web_response), web_response.blobUUID().utf8(),
+ web_response.blobSize(), web_response.streamURL(), web_response.error(),
+ base::Time::FromInternalValue(web_response.responseTime()),
+ !web_response.cacheStorageCacheName().isNull(),
+ web_response.cacheStorageCacheName().utf8(),
+ GetHeaderList(web_response.corsExposedHeaderNames()));
}
} // namespace content
« no previous file with comments | « content/renderer/service_worker/service_worker_type_util.h ('k') | media/blink/multibuffer_data_source_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698