Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: f70bfc73d58cb05654edbe416adde6bb63804c79 https://github.com/WebKit/WebKit/commit/f70bfc73d58cb05654edbe416adde6bb63804c79 Author: Anne van Kesteren <ann...@annevk.nl> Date: 2023-07-24 (Mon, 24 Jul 2023)
Changed paths: M Source/WTF/wtf/ASCIICType.h M Source/WTF/wtf/JSONValues.cpp M Source/WTF/wtf/text/StringToIntegerConversion.h M Source/WebCore/Modules/cache/DOMCache.cpp M Source/WebCore/Modules/cache/DOMCacheEngine.cpp M Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp M Source/WebCore/Modules/fetch/FetchHeaders.cpp M Source/WebCore/mathml/MathMLPresentationElement.cpp M Source/WebCore/mathml/MathMLTokenElement.cpp M Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp M Source/WebCore/platform/ReferrerPolicy.cpp M Source/WebCore/platform/network/DataURLDecoder.cpp M Source/WebCore/platform/network/HTTPParsers.cpp M Source/WebCore/platform/network/HTTPParsers.h M Source/WebCore/platform/network/ParsedContentType.cpp M Source/WebCore/platform/network/ResourceResponseBase.cpp M Source/WebCore/platform/network/TimingAllowOrigin.cpp M Source/WebCore/xml/XMLHttpRequest.cpp M Source/WebCore/xml/XPathFunctions.cpp M Source/WebCore/xml/XPathParser.cpp M Source/WebCore/xml/XPathUtil.cpp M Source/WebCore/xml/XPathUtil.h M Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp M Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp M Source/WebKit/NetworkProcess/storage/CacheStorageRecord.h M Source/WebKit/WebProcess/WebPage/WebPage.cpp Log Message: ----------- Merge isXMLSpace() into isJSONOrHTTPWhitespace() https://bugs.webkit.org/show_bug.cgi?id=255872 rdar://108738795 Reviewed by Darin Adler. It turns out that JSON, HTTP, and XML all use the same whitespace definition, so let's make them share it. Also correct an existing comment for that function as \v is not part of isASCIIWhitespace(), but \f is. Furthermore, remove the "optimization" from these whitespace functions per a comment from Chris Dumez at https://github.com/WebKit/WebKit/pull/13080#discussion_r1174653845: > Just verified out of curiosity and llvm does generate the same code > with -O2 (tried both arm64 and x86_64): > > isXMLSpace1(char): // @isXMLSpace1(char) > mov x8, #9728 // =0x2600 > and w9, w0, #0xff > movk x8, #1, lsl #32 > cmp w9, #33 > cset w9, lo > lsr x8, x8, x0 > and w0, w9, w8 > ret > isXMLSpace2(char): // @isXMLSpace2(char) > mov x8, #9728 // =0x2600 > and w9, w0, #0xff > movk x8, #1, lsl #32 > cmp w9, #33 > cset w9, lo > lsr x8, x8, x0 > and w0, w9, w8 > ret > > Ahmad-S792 Let's simplify the code then. * Source/WTF/wtf/ASCIICType.h: (WTF::isASCIIWhitespace): (WTF::isJSONOrHTTPOrXMLWhitespace): (WTF::isJSONOrHTTPWhitespace): Deleted. * Source/WTF/wtf/JSONValues.cpp: (WTF::JSONImpl::Value::parseJSON): * Source/WTF/wtf/text/StringToIntegerConversion.h: * Source/WebCore/Modules/cache/DOMCache.cpp: (WebCore::hasResponseVaryStarHeaderValue): * Source/WebCore/Modules/cache/DOMCacheEngine.cpp: (WebCore::DOMCacheEngine::queryCacheMatch): * Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp: (WebCore::parseParameters): (WebCore::parseMIMEType): (WebCore::FetchBodyConsumer::packageFormData): * Source/WebCore/Modules/fetch/FetchHeaders.cpp: (WebCore::canWriteHeader): (WebCore::appendToHeaderMap): (WebCore::FetchHeaders::set): (WebCore::FetchHeaders::filterAndFill): * Source/WebCore/mathml/MathMLPresentationElement.cpp: (WebCore::MathMLPresentationElement::parseMathMLLength): * Source/WebCore/mathml/MathMLTokenElement.cpp: (WebCore::MathMLTokenElement::convertToSingleCodePoint): * Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::parse): * Source/WebCore/platform/ReferrerPolicy.cpp: (WebCore::parseReferrerPolicy): * Source/WebCore/platform/network/DataURLDecoder.cpp: (WebCore::DataURLDecoder::DecodeTask::process): * Source/WebCore/platform/network/HTTPParsers.cpp: (WebCore::parseContentTypeOptionsHeader): (WebCore::parseClearSiteDataHeader): (WebCore::parseRange): (WebCore::parseCrossOriginResourcePolicyHeader): * Source/WebCore/platform/network/HTTPParsers.h: (WebCore::addToAccessControlAllowList): * Source/WebCore/platform/network/ParsedContentType.cpp: (WebCore::skipSpaces): (WebCore::parseToken): (WebCore::ParsedContentType::create): (WebCore::ParsedContentType::setContentType): * Source/WebCore/platform/network/ResourceResponseBase.cpp: (WebCore::ResourceResponseBase::containsInvalidHTTPHeaders const): * Source/WebCore/platform/network/TimingAllowOrigin.cpp: (WebCore::passesTimingAllowOriginCheck): * Source/WebCore/xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setRequestHeader): * Source/WebCore/xml/XPathFunctions.cpp: (WebCore::XPath::FunNormalizeSpace::evaluate const): * Source/WebCore/xml/XPathParser.cpp: (WebCore::XPath::Parser::skipWS): * Source/WebCore/xml/XPathUtil.cpp: (WebCore::XPath::isXMLSpace): Deleted. * Source/WebCore/xml/XPathUtil.h: * Source/WebKit/NetworkProcess/cache/CacheStorageEngineCache.cpp: (WebKit::CacheStorage::updateVaryInformation): * Source/WebKit/NetworkProcess/soup/WebSocketTaskSoup.cpp: (WebKit::WebSocketTask::WebSocketTask): * Source/WebKit/NetworkProcess/storage/CacheStorageRecord.h: (WebKit::CacheStorageRecordInformation::updateVaryHeaders): * Source/WebKit/WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::shouldSkipDecidePolicyForResponse const): Canonical link: https://commits.webkit.org/266253@main _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes