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

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

Issue 329853012: [ServiceWorker] Make Request class better conformance with the spec. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Copy headers in FetchRequestData::createRestrictedCopy(). Created 6 years, 6 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/FetchManager.cpp
diff --git a/Source/modules/serviceworkers/FetchManager.cpp b/Source/modules/serviceworkers/FetchManager.cpp
index 17d462ebf25b25fc8c7600f720790b66fa04636d..f5b37ae2a2dedd0ba05fe60f4b0dd2fc332368da 100644
--- a/Source/modules/serviceworkers/FetchManager.cpp
+++ b/Source/modules/serviceworkers/FetchManager.cpp
@@ -12,6 +12,7 @@
#include "core/fileapi/Blob.h"
#include "core/loader/ThreadableLoader.h"
#include "core/loader/ThreadableLoaderClient.h"
+#include "core/xml/XMLHttpRequest.h"
#include "modules/serviceworkers/Response.h"
#include "modules/serviceworkers/ResponseInit.h"
#include "platform/network/ResourceRequest.h"
@@ -174,4 +175,24 @@ void FetchManager::onLoaderFinished(Loader* loader)
m_loaders.remove(loader);
}
+bool FetchManager::isSimpleMethod(const String& method)
+{
+ // "A simple method is a method that is `GET`, `HEAD`, or `POST`."
+ return isOnAccessControlSimpleRequestMethodWhitelist(method);
+}
+
+bool FetchManager::isForbiddenMethod(const String& method)
+{
+ // "A forbidden method is a method that is a byte case-insensitive match for one of `CONNECT`, `TRACE`, and `TRACK`."
+ return !XMLHttpRequest::isAllowedHTTPMethod(method);
+}
+
+bool FetchManager::isUsefulMethod(const String& method)
+{
+ // "A useful method is a method that is not a forbidden method."
+ // "A forbidden method is a method that is a byte case-insensitive match for one of `CONNECT`, `TRACE`, and `TRACK`."
+ return XMLHttpRequest::isAllowedHTTPMethod(method);
+}
+
+
} // namespace WebCore

Powered by Google App Engine
This is Rietveld 408576698