source:
webkit/trunk/Source/WebCore/loader/CustomHeaderFields.cpp
Last change on this file was 294611, checked in by Chris Dumez, 3 years ago | |
---|---|
Start preparing the code base for marking the StringView(const char*) constructor explicit
Reviewed by Darin Adler.
Start preparing the code base for marking the StringView(const char*) constructor explicit.
(JSC::computeValidImportSpecifier):
(Inspector::isWebKitInjectedScript):
(JSC::dumpJITMemory):
(GlobalObject::moduleLoaderImportModule):
(JSC::FileBasedFuzzerAgent::getPredictionInternal):
(JSC::IntlLocale::initializeLocale):
(JSC::isValidTimeZoneNameFromICUTimeZone):
(JSC::TypeProfiler::logTypesForTypeLocation):
(parseRegExpLine):
(JSC::Yarr::HashTable::entry const):
(WebKit::NetworkDataTaskCocoa::willPerformHTTPRedirection):
(WebKit::PageLoadState::hasOnlySecureContent):
(-[WKImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _defaultAnimationController]):
(WTF::parseDateFromNullTerminatedCharacters):
(WTF::operator<):
(WTF::URL::hasSpecialScheme const):
(WTF::URL::protocolIsBlob const):
(WTF::URLHelpers::applyHostNameFunctionToURLString):
(WTF::URLParser::copyBaseWindowsDriveLetter):
(WTF::operator==):
(WebCore::isSecure):
(WebCore::resolveRelativeVirtualPath):
(WebCore::FetchBodyConsumer::packageFormData):
(WebCore::IDBServer::removeAllDatabasesForFullOriginPath):
(WebCore::IDBServer::SQLiteIDBBackingStore::databasesSizeForDirectory):
(WebCore::addVP9FullRangeVideoFlagToContentType):
(WebCore::shouldIgnoreIceCandidate):
(WebCore::RTCPeerConnection::iceServersFromConfiguration):
(WebCore::isValidURLBasedPaymentMethodIdentifier):
(WebCore::YouTubePluginReplacement::youTubeURLFromAbsoluteURL):
(WebCore::AuthenticatorCoordinatorInternal::needsAppIdQuirks):
(WebCore::fullyQualifiedInfoTableName):
(WebCore::DatabaseTracker::usage):
(WebCore::ThreadableWebSocketChannel::validateURL):
(WebCore::WebSocket::connect):
(WebCore::hostName):
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AccessibilityNodeObject::isSearchField const):
(WebCore::AccessibilityObject::ariaLandmarkRoleDescription const):
(WebCore::AccessibilityObject::rolePlatformDescription const):
(WebCore::KeyframeEffect::setPseudoElement):
(WebCore::resolveModuleSpecifier):
(WebCore::ContentExtensions::ContentExtensionsBackend::processContentRuleListsForLoad):
(WebCore::CSSFontFaceSrcValue::isSupportedFormat const):
(WebCore::CSSPrimitiveValue::formatInfiniteOrNanValue const):
(WebCore::CSSSelector::parsePseudoElementType):
(WebCore::ContainerQueryParser::consumePlainSizeFeature):
(WebCore::valueWithoutImportant):
(WebCore::CSSPropertyParserHelpers::consumeDashedIdent):
(WebCore::consumeLangArgumentList):
(WebCore::CSSOMVariableReferenceValue::create):
(WebCore::variableDataForPositivePixelLength):
(WebCore::normalizeType):
(WebCore::Document::isCookieAverse const):
(WebCore::Element::isEventHandlerAttribute const):
(WebCore::TextDecoder::encoding const):
(HTMLConverterCaches::isBlockElement):
(WebCore::stripMicrosoftPrefix):
(WebCore::shouldPreserveMSOLists):
(WebCore::FeaturePolicy::parse):
(WebCore::HTMLAnchorElement::parseAttribute):
(WebCore::HTMLFormElement::formWouldHaveSecureSubmission):
(WebCore::HTMLLinkElement::process):
(WebCore::HTMLObjectElement::hasValidClassId):
(WebCore::HTMLPlugInImageElement::isImageType):
(WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
(WebCore::URLDecomposition::setUsername):
(WebCore::CanvasRenderingContext2DBase::State::fontString const):
(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::hasValidImportConditions):
(WebCore::extractCharset):
(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
(WebCore::InspectorFrontendHost::revealFileExternally):
(WebCore::StyleSheetHandler::observeComment):
(WebCore::CookieJar::shouldIncludeSecureCookies):
(WebCore::CustomHeaderFields::thirdPartyDomainsMatch const):
(WebCore::FormSubmission::create):
(WebCore::FrameLoader::open):
(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):
(WebCore::PrivateClickMeasurement::parseAttributionRequest):
(WebCore::ResourceLoader::isPDFJSResourceLoad const):
(WebCore::parseApplicationCacheManifest):
(WebCore::ArchiveResourceCollection::archiveResourceForURL):
(WebCore::CachedResource::makeRevalidationDecision const):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
(WebCore::hasDropZoneType):
(WebCore::createRegExpForLabels):
(WebCore::Page::userStyleSheetLocationChanged):
(WebCore::isYahooMail):
(WebCore::schemeRequiresHost):
(WebCore::SecurityPolicy::shouldHideReferrer):
(WebCore::UserContentURLPattern::parse):
(WebCore::ResourceUsageThread::platformCollectCPUData):
(WebCore::shouldReportProtocolOnly):
(WebCore::ContentSecurityPolicySource::portMatches const):
(WebCore::ContentSecurityPolicySourceList::isProtocolAllowedByStar const):
(WebCore::MIMETypeRegistry::isSupportedJSONMIMEType):
(WebCore::MacApplication::isSafari):
(WebCore::Image::isPDFResource):
(WebCore::CDMFactoryFairPlayStreaming::supportsKeySystem):
(WebCore::MediaPlayerPrivateAVFoundation::isUnsupportedMIMEType):
(WebCore::AVAssetMIMETypeCache::isUnsupportedContainerType):
(WebCore::fontWithFamilySpecialCase):
(WebCore::videoCodecTypeFromRFC4281Type):
(WebCore::SourceBufferParserWebM::isContentTypeSupported):
(WebCore::standardUserAgentWithApplicationName):
(WebCore::isValidCaptureDevice):
(WebCore::parseCacheControlDirectives):
(WebCore::DataURLDecoder::DecodeTask::process):
(WebCore::extractCharsetFromMediaType):
(WebCore::parseContentRange):
(WebCore::ParsedRequestRange::parse):
(WebCore::ResourceHandle::shouldContentSniffURL):
(WebCore::ResourceRequestBase::redirectedRequest const):
(WebCore::ResourceResponseBase::isHTTP09 const):
(WebCore::SocketStreamHandleImpl::shouldUseSSL const):
(WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
(WebCore::ResourceHandle::willSendRequest):
(WebCore::shouldBePubliclyVisible):
(WebCore::HitTestResult::absolutePDFURL const):
(WebCore::listMarkerSuffix):
(WebCore::SVGSVGElement::scrollToFragment):
(WebCore::SVGSMILElement::parseOffsetValue):
(WebCore::Worker::didReceiveResponse):
(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::shouldAllowExternalLoad):
Canonical link: https://commits.webkit.org/250837@main |
|
File size: 2.0 KB |
Line | |
---|---|
1 | /* |
2 | * Copyright (C) 2019 Apple Inc. All rights reserved. |
3 | * |
4 | * Redistribution and use in source and binary forms, with or without |
5 | * modification, are permitted provided that the following conditions |
6 | * are met: |
7 | * 1. Redistributions of source code must retain the above copyright |
8 | * notice, this list of conditions and the following disclaimer. |
9 | * 2. Redistributions in binary form must reproduce the above copyright |
10 | * notice, this list of conditions and the following disclaimer in the |
11 | * documentation and/or other materials provided with the distribution. |
12 | * |
13 | * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
14 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
15 | * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
16 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
17 | * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
18 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
19 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
20 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
21 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
22 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
23 | * THE POSSIBILITY OF SUCH DAMAGE. |
24 | */ |
25 | |
26 | #include "config.h" |
27 | #include "CustomHeaderFields.h" |
28 | |
29 | #include "HTTPHeaderField.h" |
30 | #include "RegistrableDomain.h" |
31 | |
32 | namespace WebCore { |
33 | |
34 | bool CustomHeaderFields::thirdPartyDomainsMatch(const URL& url) const |
35 | { |
36 | if (thirdPartyDomains.isEmpty()) |
37 | return false; |
38 | |
39 | auto registrableDomainLength = RegistrableDomain(url).string().length(); |
40 | for (const auto& domainOrPattern : thirdPartyDomains) { |
41 | if (domainOrPattern == url.host()) |
42 | return true; |
43 | if (domainOrPattern.startsWith("*."_s) |
44 | && url.host().endsWith(StringView(domainOrPattern).substring(1)) |
45 | && domainOrPattern.length() > registrableDomainLength) |
46 | return true; |
47 | } |
48 | |
49 | return false; |
50 | } |
51 | |
52 | } |