Title: [239372] trunk/Source/WebCore
- Revision
- 239372
- Author
- commit-qu...@webkit.org
- Date
- 2018-12-19 00:00:27 -0800 (Wed, 19 Dec 2018)
Log Message
Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList
https://bugs.webkit.org/show_bug.cgi?id=192288
Patch by Rob Buis <rb...@igalia.com> on 2018-12-19
Reviewed by Frédéric Wang.
Prefer return value to out parameter for parseAccessControlAllowList.
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::parse):
* platform/network/HTTPParsers.h:
(WebCore::parseAccessControlAllowList):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::filter):
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (239371 => 239372)
--- trunk/Source/WebCore/ChangeLog 2018-12-19 07:41:19 UTC (rev 239371)
+++ trunk/Source/WebCore/ChangeLog 2018-12-19 08:00:27 UTC (rev 239372)
@@ -1,3 +1,20 @@
+2018-12-19 Rob Buis <rb...@igalia.com>
+
+ Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList
+ https://bugs.webkit.org/show_bug.cgi?id=192288
+
+ Reviewed by Frédéric Wang.
+
+ Prefer return value to out parameter for parseAccessControlAllowList.
+
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::parse):
+ * platform/network/HTTPParsers.h:
+ (WebCore::parseAccessControlAllowList):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::filter):
+ (WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
+
2018-12-18 Zan Dobersek <zdober...@igalia.com>
REGRESSION(r235165): [GTK][WPE] Garbled rendering on GitLab
Modified: trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp (239371 => 239372)
--- trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp 2018-12-19 07:41:19 UTC (rev 239371)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp 2018-12-19 08:00:27 UTC (rev 239372)
@@ -54,12 +54,9 @@
bool CrossOriginPreflightResultCacheItem::parse(const ResourceResponse& response)
{
- m_methods.clear();
- parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlAllowMethods), m_methods);
+ m_methods = parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlAllowMethods));
+ m_headers = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlAllowHeaders));
- m_headers.clear();
- parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlAllowHeaders), m_headers);
-
Seconds expiryDelta = 0_s;
if (parseAccessControlMaxAge(response.httpHeaderField(HTTPHeaderName::AccessControlMaxAge), expiryDelta)) {
if (expiryDelta > maxPreflightCacheTimeout)
Modified: trunk/Source/WebCore/platform/network/HTTPParsers.h (239371 => 239372)
--- trunk/Source/WebCore/platform/network/HTTPParsers.h 2018-12-19 07:41:19 UTC (rev 239371)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.h 2018-12-19 08:00:27 UTC (rev 239372)
@@ -149,8 +149,9 @@
}
template<class HashType = DefaultHash<String>::Hash>
-void parseAccessControlAllowList(const String& string, HashSet<String, HashType>& set)
+HashSet<String, HashType> parseAccessControlAllowList(const String& string)
{
+ HashSet<String, HashType> set;
unsigned start = 0;
size_t end;
while ((end = string.find(',', start)) != notFound) {
@@ -160,6 +161,7 @@
}
if (start != string.length())
addToAccessControlAllowList(string, start, string.length() - 1, set);
+ return set;
}
}
Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (239371 => 239372)
--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2018-12-19 07:41:19 UTC (rev 239371)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2018-12-19 08:00:27 UTC (rev 239372)
@@ -163,8 +163,7 @@
ASSERT(response.tainting() == Tainting::Cors);
filteredResponse.setType(Type::Cors);
- HTTPHeaderSet accessControlExposeHeaderSet;
- parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders), accessControlExposeHeaderSet);
+ auto accessControlExposeHeaderSet = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders));
filteredResponse.m_httpHeaderFields.uncommonHeaders().removeAllMatching([&](auto& entry) {
return !isCrossOriginSafeHeader(entry.key, accessControlExposeHeaderSet);
});
@@ -431,8 +430,7 @@
if (isSafeCrossOriginResponseHeader(header.key))
filteredHeaders.add(header.key, WTFMove(header.value));
}
- HTTPHeaderSet corsSafeHeaderSet;
- parseAccessControlAllowList(httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders), corsSafeHeaderSet);
+ auto corsSafeHeaderSet = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders));
for (auto& headerName : corsSafeHeaderSet) {
if (!filteredHeaders.contains(headerName)) {
auto value = m_httpHeaderFields.get(headerName);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes