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

Unified Diff: Source/modules/serviceworkers/FetchResponseData.cpp

Issue 617003003: Make WebServiceWorkerResponse support ResponseType (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Put WebServiceWorkerResponseType enum in its own file (so browser can load it) Created 6 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: Source/modules/serviceworkers/FetchResponseData.cpp
diff --git a/Source/modules/serviceworkers/FetchResponseData.cpp b/Source/modules/serviceworkers/FetchResponseData.cpp
index df4cc1e09bb44cefc8b9b40f72064db463c8a439..676f35f7c4b48b432a0a6ca850ea14c74af2f4e7 100644
--- a/Source/modules/serviceworkers/FetchResponseData.cpp
+++ b/Source/modules/serviceworkers/FetchResponseData.cpp
@@ -11,6 +11,33 @@
namespace blink {
+namespace {
+
+WebServiceWorkerResponseType fetchTypeToWebType(FetchResponseData::Type fetchType)
+{
+ WebServiceWorkerResponseType webType = WebServiceWorkerResponseTypeDefault;
+ switch (fetchType) {
+ case FetchResponseData::BasicType:
+ webType = WebServiceWorkerResponseTypeBasic;
+ break;
+ case FetchResponseData::CORSType:
+ webType = WebServiceWorkerResponseTypeCORS;
+ break;
+ case FetchResponseData::DefaultType:
+ webType = WebServiceWorkerResponseTypeDefault;
+ break;
+ case FetchResponseData::ErrorType:
+ webType = WebServiceWorkerResponseTypeError;
+ break;
+ case FetchResponseData::OpaqueType:
+ webType = WebServiceWorkerResponseTypeOpaque;
+ break;
+ }
+ return webType;
+}
+
+} // namespace
+
FetchResponseData* FetchResponseData::create()
{
// "Unless stated otherwise, a response's url is null, status is 200, status
@@ -84,11 +111,14 @@ void FetchResponseData::populateWebServiceWorkerResponse(WebServiceWorkerRespons
{
if (m_internalResponse) {
m_internalResponse->populateWebServiceWorkerResponse(response);
+ response.setResponseType(fetchTypeToWebType(m_type));
return;
}
+
response.setURL(url());
response.setStatus(status());
response.setStatusText(statusMessage());
+ response.setResponseType(fetchTypeToWebType(m_type));
for (size_t i = 0; i < headerList()->size(); ++i) {
const FetchHeaderList::Header* header = headerList()->list()[i].get();
response.appendHeader(header->first, header->second);
« no previous file with comments | « Source/modules/serviceworkers/CacheTest.cpp ('k') | Source/modules/serviceworkers/FetchResponseDataTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698