Reviewed by Darin Adler.
https://bugs.webkit.org/show_bug.cgi?id=24462
Move cross-origin access control code out of XMLHttpRequest
Step 1: move preflight result cache and access control helper functions.
No change in behavior, so no test.
* GNUmakefile.am:
* WebCore.pro:
* WebCore.scons:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* WebCoreSources.bkl:
* loader/CrossOriginAccessControl.cpp: Added.
(WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
(WebCore::isSimpleCrossOriginAccessRequest):
(WebCore::createAllowedCrossOriginResponseHeadersSet):
(WebCore::isOnAccessControlResponseHeaderWhitelist):
(WebCore::passesAccessControlCheck):
* loader/CrossOriginAccessControl.h: Added.
* loader/CrossOriginPreflightResultCache.cpp: Added.
(WebCore::parseAccessControlMaxAge):
(WebCore::addToAccessControlAllowList):
(WebCore::parseAccessControlAllowList):
(WebCore::CrossOriginPreflightResultCacheItem::parse):
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
(WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
(WebCore::CrossOriginPreflightResultCache::shared):
(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
* loader/CrossOriginPreflightResultCache.h: Added.
(WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
(WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
(WebCore::XMLHttpRequest::createRequest):
(WebCore::XMLHttpRequest::makeCrossOriginAccessRequest):
(WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
(WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight):
(WebCore::XMLHttpRequest::didReceiveResponse):
(WebCore::XMLHttpRequest::didReceiveResponsePreflight):
* xml/XMLHttpRequest.h:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@41548 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/WebCore.pro b/WebCore/WebCore.pro
index 0cc5292..a81e2cb 100644
--- a/WebCore/WebCore.pro
+++ b/WebCore/WebCore.pro
@@ -802,6 +802,8 @@
loader/CachedResource.cpp \
loader/CachedScript.cpp \
loader/CachedXSLStyleSheet.cpp \
+ loader/CrossOriginAccessControl.cpp \
+ loader/CrossOriginPreflightResultCache.cpp \
loader/DocLoader.cpp \
loader/DocumentLoader.cpp \
loader/DocumentThreadableLoader.cpp \