void SecurityPolicy::addOriginAccessWhitelistEntry(const SecurityOrigin& sourceOrigin, const String& destinationProtocol, const String& destinationDomain, bool allowDestinationSubdomains) { ASSERT(isMainThread()); ASSERT(!sourceOrigin.isUnique()); if (sourceOrigin.isUnique()) return; String sourceString = sourceOrigin.toString(); pair<OriginAccessMap::iterator, bool> result = originAccessMap().add(sourceString, nullptr); if (result.second) result.first->second = adoptPtr(new OriginAccessWhiteList); OriginAccessWhiteList* list = result.first->second.get(); list->append(OriginAccessEntry(destinationProtocol, destinationDomain, allowDestinationSubdomains ? OriginAccessEntry::AllowSubdomains : OriginAccessEntry::DisallowSubdomains)); }
void SecurityPolicy::addOriginAccessWhitelistEntry(const SecurityOrigin& sourceOrigin, const String& destinationProtocol, const String& destinationDomain, bool allowDestinationSubdomains) { ASSERT(isMainThread()); ASSERT(!sourceOrigin.isUnique()); if (sourceOrigin.isUnique()) return; String sourceString = sourceOrigin.toString(); OriginAccessMap::AddResult result = originAccessMap().add(sourceString, nullptr); if (result.isNewEntry) result.iterator->value = std::make_unique<OriginAccessWhiteList>(); OriginAccessWhiteList* list = result.iterator->value.get(); list->append(OriginAccessEntry(destinationProtocol, destinationDomain, allowDestinationSubdomains ? OriginAccessEntry::AllowSubdomains : OriginAccessEntry::DisallowSubdomains)); }