Diff
Modified: trunk/Source/WTF/ChangeLog (292105 => 292106)
--- trunk/Source/WTF/ChangeLog 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WTF/ChangeLog 2022-03-30 14:56:39 UTC (rev 292106)
@@ -1,3 +1,19 @@
+2022-03-30 Chris Dumez <cdu...@apple.com>
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets
+ https://bugs.webkit.org/show_bug.cgi?id=238521
+
+ Reviewed by Geoffrey Garen.
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets using an ASCIILiteral,
+ without the need for allocating a String.
+
+ * wtf/text/StringImpl.h:
+ * wtf/text/WTFString.h:
+ (WTF::HashTranslatorASCIILiteral::hash):
+ (WTF::HashTranslatorASCIILiteral::equal):
+ (WTF::HashTranslatorASCIILiteral::translate):
+
2022-03-30 Youenn Fablet <you...@apple.com>
Implement ServiceWorker WindowClient.ancestorOrigins
Modified: trunk/Source/WTF/wtf/text/StringImpl.h (292105 => 292106)
--- trunk/Source/WTF/wtf/text/StringImpl.h 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WTF/wtf/text/StringImpl.h 2022-03-30 14:56:39 UTC (rev 292106)
@@ -60,6 +60,7 @@
struct CStringTranslator;
struct HashAndUTF8CharactersTranslator;
+struct HashTranslatorASCIILiteral;
struct LCharBufferTranslator;
struct SubstringTranslator;
struct UCharBufferTranslator;
@@ -178,6 +179,7 @@
friend struct WTF::CStringTranslator;
friend struct WTF::HashAndUTF8CharactersTranslator;
+ friend struct WTF::HashTranslatorASCIILiteral;
friend struct WTF::LCharBufferTranslator;
friend struct WTF::SubstringTranslator;
friend struct WTF::UCharBufferTranslator;
Modified: trunk/Source/WTF/wtf/text/WTFString.h (292105 => 292106)
--- trunk/Source/WTF/wtf/text/WTFString.h 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WTF/wtf/text/WTFString.h 2022-03-30 14:56:39 UTC (rev 292106)
@@ -609,6 +609,24 @@
return startsWithLettersIgnoringASCIICase(string.impl(), lowercaseLetters);
}
+struct HashTranslatorASCIILiteral {
+ static unsigned hash(ASCIILiteral literal)
+ {
+ return StringHasher::computeHashAndMaskTop8Bits(literal.characters(), literal.length());
+ }
+
+ static bool equal(const String& a, ASCIILiteral b)
+ {
+ return a == b;
+ }
+
+ static void translate(String& location, ASCIILiteral literal, unsigned hash)
+ {
+ location = literal;
+ location.impl()->setHash(hash);
+ }
+};
+
inline namespace StringLiterals {
inline String operator"" _str(const char* characters, size_t)
@@ -620,6 +638,7 @@
} // namespace WTF
+using WTF::HashTranslatorASCIILiteral;
using WTF::KeepTrailingZeros;
using WTF::String;
using WTF::appendNumber;
Modified: trunk/Source/WebCore/ChangeLog (292105 => 292106)
--- trunk/Source/WebCore/ChangeLog 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/ChangeLog 2022-03-30 14:56:39 UTC (rev 292106)
@@ -1,3 +1,26 @@
+2022-03-30 Chris Dumez <cdu...@apple.com>
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets
+ https://bugs.webkit.org/show_bug.cgi?id=238521
+
+ Reviewed by Geoffrey Garen.
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets using an ASCIILiteral,
+ without the need for allocating a String.
+
+ * Modules/fetch/FetchBodyConsumer.cpp:
+ (WebCore::FetchBodyConsumer::packageFormData):
+ * Modules/plugins/YouTubePluginReplacement.cpp:
+ (WebCore::YouTubePluginReplacement::installReplacement):
+ * Modules/websockets/WebSocketDeflateFramer.cpp:
+ (WebCore::WebSocketExtensionDeflateFrame::processResponse):
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod const):
+ (WebCore::CrossOriginPreflightResultCacheItem::validateCrossOriginHeaders const):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::filter):
+ (WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
+
2022-03-30 Youenn Fablet <you...@apple.com>
Implement ServiceWorker WindowClient.ancestorOrigins
Modified: trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp (292105 => 292106)
--- trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/Modules/fetch/FetchBodyConsumer.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -150,10 +150,10 @@
contentDispositionParametersBegin++;
auto parameters = parseParameters(StringView(header).substring(contentDispositionParametersBegin, contentDispositionEnd - contentDispositionParametersBegin), 0);
- String name = parameters.get("name"_s);
+ String name = parameters.get<HashTranslatorASCIILiteral>("name"_s);
if (!name)
return false;
- String filename = parameters.get("filename"_s);
+ String filename = parameters.get<HashTranslatorASCIILiteral>("filename"_s);
if (!filename)
form.append(name, String::fromUTF8(bodyBegin, bodyLength));
else {
@@ -176,7 +176,7 @@
if (!mimeType)
return std::nullopt;
if (equalIgnoringASCIICase(mimeType->type, "multipart") && equalIgnoringASCIICase(mimeType->subtype, "form-data")) {
- auto iterator = mimeType->parameters.find("boundary"_s);
+ auto iterator = mimeType->parameters.find<HashTranslatorASCIILiteral>("boundary"_s);
if (iterator != mimeType->parameters.end())
return iterator->value;
}
Modified: trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp (292105 => 292106)
--- trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/Modules/plugins/YouTubePluginReplacement.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -84,16 +84,16 @@
root.appendChild(*m_embedShadowElement);
auto iframeElement = HTMLIFrameElement::create(HTMLNames::iframeTag, m_parentElement->document());
- if (m_attributes.contains("width"_s))
+ if (m_attributes.contains<HashTranslatorASCIILiteral>("width"_s))
iframeElement->setAttributeWithoutSynchronization(HTMLNames::widthAttr, AtomString("100%", AtomString::ConstructFromLiteral));
- const auto& heightValue = m_attributes.find("height"_s);
+ const auto& heightValue = m_attributes.find<HashTranslatorASCIILiteral>("height"_s);
if (heightValue != m_attributes.end()) {
iframeElement->setAttribute(HTMLNames::styleAttr, AtomString("max-height: 100%", AtomString::ConstructFromLiteral));
iframeElement->setAttributeWithoutSynchronization(HTMLNames::heightAttr, heightValue->value);
}
- iframeElement->setAttributeWithoutSynchronization(HTMLNames::srcAttr, youTubeURL(m_attributes.get("src"_s)));
+ iframeElement->setAttributeWithoutSynchronization(HTMLNames::srcAttr, youTubeURL(m_attributes.get<HashTranslatorASCIILiteral>("src"_s)));
iframeElement->setAttributeWithoutSynchronization(HTMLNames::frameborderAttr, AtomString("0", AtomString::ConstructFromLiteral));
// Disable frame flattening for this iframe.
Modified: trunk/Source/WebCore/Modules/websockets/WebSocketDeflateFramer.cpp (292105 => 292106)
--- trunk/Source/WebCore/Modules/websockets/WebSocketDeflateFramer.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketDeflateFramer.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -76,7 +76,7 @@
unsigned expectedNumParameters = 0;
int windowBits = 15;
- auto parameter = serverParameters.find("max_window_bits"_s);
+ auto parameter = serverParameters.find<HashTranslatorASCIILiteral>("max_window_bits"_s);
if (parameter != serverParameters.end()) {
windowBits = parseIntegerAllowingTrailingJunk<int>(parameter->value).value_or(0);
if (windowBits < 8 || windowBits > 15) {
@@ -87,7 +87,7 @@
}
WebSocketDeflater::ContextTakeOverMode mode = WebSocketDeflater::TakeOverContext;
- parameter = serverParameters.find("no_context_takeover"_s);
+ parameter = serverParameters.find<HashTranslatorASCIILiteral>("no_context_takeover"_s);
if (parameter != serverParameters.end()) {
if (!parameter->value.isNull()) {
m_failureReason = "Received invalid no_context_takeover parameter"_s;
Modified: trunk/Source/WebCore/dom/ProcessingInstruction.cpp (292105 => 292106)
--- trunk/Source/WebCore/dom/ProcessingInstruction.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/dom/ProcessingInstruction.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -92,7 +92,7 @@
auto attributes = parseAttributes(data());
if (!attributes)
return;
- String type = attributes->get("type"_s);
+ String type = attributes->get<HashTranslatorASCIILiteral>("type"_s);
m_isCSS = type.isEmpty() || type == "text/css";
#if ENABLE(XSLT)
@@ -103,11 +103,11 @@
#endif
return;
- String href = ""
- String alternate = attributes->get("alternate"_s);
+ String href = ""
+ String alternate = attributes->get<HashTranslatorASCIILiteral>("alternate"_s);
m_alternate = alternate == "yes";
- m_title = attributes->get("title"_s);
- m_media = attributes->get("media"_s);
+ m_title = attributes->get<HashTranslatorASCIILiteral>("title"_s);
+ m_media = attributes->get<HashTranslatorASCIILiteral>("media"_s);
if (m_alternate && m_title.isEmpty())
return;
@@ -156,7 +156,7 @@
} else
#endif
{
- String charset = attributes->get("charset"_s);
+ String charset = attributes->get<HashTranslatorASCIILiteral>("charset"_s);
CachedResourceRequest request(document().completeURL(href), CachedResourceLoader::defaultCachedResourceOptions(), std::nullopt, charset.isEmpty() ? document().charset() : WTFMove(charset));
m_cachedSheet = document().cachedResourceLoader().requestCSSStyleSheet(WTFMove(request)).value_or(nullptr);
Modified: trunk/Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp (292105 => 292106)
--- trunk/Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/loader/CrossOriginEmbedderPolicy.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -45,7 +45,7 @@
auto coepParsingResult = parseStructuredFieldValue(response.httpHeaderField(headerName));
if (coepParsingResult && coepParsingResult->first == "require-corp") {
value = CrossOriginEmbedderPolicyValue::RequireCORP;
- reportingEndpoint = coepParsingResult->second.get("report-to"_s);
+ reportingEndpoint = coepParsingResult->second.get<HashTranslatorASCIILiteral>("report-to"_s);
}
};
Modified: trunk/Source/WebCore/loader/CrossOriginOpenerPolicy.cpp (292105 => 292106)
--- trunk/Source/WebCore/loader/CrossOriginOpenerPolicy.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/loader/CrossOriginOpenerPolicy.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -149,7 +149,7 @@
} else if (coopParsingResult->first == "same-origin-allow-popups")
value = CrossOriginOpenerPolicyValue::SameOriginAllowPopups;
- reportingEndpoint = coopParsingResult->second.get("report-to"_s);
+ reportingEndpoint = coopParsingResult->second.get<HashTranslatorASCIILiteral>("report-to"_s);
};
CrossOriginOpenerPolicy policy;
Modified: trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp (292105 => 292106)
--- trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -85,12 +85,12 @@
bool CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod(const String& method, StoredCredentialsPolicy storedCredentialsPolicy) const
{
- return m_methods.contains(method) || (m_methods.contains("*"_s) && storedCredentialsPolicy != StoredCredentialsPolicy::Use) || isOnAccessControlSimpleRequestMethodAllowlist(method);
+ return m_methods.contains(method) || (m_methods.contains<HashTranslatorASCIILiteral>("*"_s) && storedCredentialsPolicy != StoredCredentialsPolicy::Use) || isOnAccessControlSimpleRequestMethodAllowlist(method);
}
std::optional<String> CrossOriginPreflightResultCacheItem::validateCrossOriginHeaders(const HTTPHeaderMap& requestHeaders, StoredCredentialsPolicy storedCredentialsPolicy) const
{
- bool validWildcard = m_headers.contains("*"_s) && storedCredentialsPolicy != StoredCredentialsPolicy::Use;
+ bool validWildcard = m_headers.contains<HashTranslatorASCIILiteral>("*"_s) && storedCredentialsPolicy != StoredCredentialsPolicy::Use;
for (const auto& header : requestHeaders) {
if (header.keyAsHTTPHeaderName && isCrossOriginSafeRequestHeader(header.keyAsHTTPHeaderName.value(), header.value))
continue;
Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (292105 => 292106)
--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -193,7 +193,7 @@
filteredResponse.setType(Type::Cors);
auto accessControlExposeHeaderSet = valueOrDefault(parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders)));
- if (performCheck == PerformExposeAllHeadersCheck::Yes && accessControlExposeHeaderSet.contains("*"_s))
+ if (performCheck == PerformExposeAllHeadersCheck::Yes && accessControlExposeHeaderSet.contains<HashTranslatorASCIILiteral>("*"_s))
return filteredResponse;
filteredResponse.m_httpHeaderFields.uncommonHeaders().removeAllMatching([&](auto& entry) {
@@ -459,7 +459,7 @@
break;
case ResourceResponse::Tainting::Cors: {
auto corsSafeHeaderSet = valueOrDefault(parseAccessControlAllowList<ASCIICaseInsensitiveHash>(httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders)));
- if (corsSafeHeaderSet.contains("*"_str))
+ if (corsSafeHeaderSet.contains<HashTranslatorASCIILiteral>("*"_s))
return;
m_httpHeaderFields.commonHeaders().removeAllMatching([&corsSafeHeaderSet](auto& header) {
Modified: trunk/Source/WebKit/ChangeLog (292105 => 292106)
--- trunk/Source/WebKit/ChangeLog 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/ChangeLog 2022-03-30 14:56:39 UTC (rev 292106)
@@ -1,3 +1,28 @@
+2022-03-30 Chris Dumez <cdu...@apple.com>
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets
+ https://bugs.webkit.org/show_bug.cgi?id=238521
+
+ Reviewed by Geoffrey Garen.
+
+ Add HashTranslator for ASCIILiteral for faster lookup in HashMaps / HashSets using an ASCIILiteral,
+ without the need for allocating a String.
+
+ * Shared/mac/AuxiliaryProcessMac.mm:
+ (WebKit::getUserDirectorySuffix):
+ * UIProcess/AuxiliaryProcessProxy.cpp:
+ (WebKit::AuxiliaryProcessProxy::getLaunchOptions):
+ * UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp:
+ (WebKit::ProcessLauncher::launchProcess):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::getLaunchOptions):
+ * UIProcess/glib/WebProcessProxyGLib.cpp:
+ (WebKit::WebProcessProxy::platformGetLaunchOptions):
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::WebProcess::platformInitializeProcess):
+
2022-03-30 Youenn Fablet <you...@apple.com>
Implement ServiceWorker WindowClient.ancestorOrigins
Modified: trunk/Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm (292105 => 292106)
--- trunk/Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/Shared/mac/AuxiliaryProcessMac.mm 2022-03-30 14:56:39 UTC (rev 292106)
@@ -642,7 +642,7 @@
static String getUserDirectorySuffix(const AuxiliaryProcessInitializationParameters& parameters)
{
- auto userDirectorySuffix = parameters.extraInitializationData.find("user-directory-suffix");
+ auto userDirectorySuffix = parameters.extraInitializationData.find<HashTranslatorASCIILiteral>("user-directory-suffix"_s);
if (userDirectorySuffix != parameters.extraInitializationData.end()) {
String suffix = userDirectorySuffix->value;
auto firstPathSeparator = suffix.find('/');
Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp (292105 => 292106)
--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -65,10 +65,10 @@
launchOptions.processIdentifier = m_processIdentifier;
if (const char* userDirectorySuffix = getenv("DIRHELPER_USER_DIR_SUFFIX"))
- launchOptions.extraInitializationData.add("user-directory-suffix"_s, userDirectorySuffix);
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("user-directory-suffix"_s, userDirectorySuffix);
if (m_alwaysRunsAtBackgroundPriority)
- launchOptions.extraInitializationData.add("always-runs-at-background-priority"_s, "true");
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("always-runs-at-background-priority"_s, "true");
#if ENABLE(DEVELOPER_MODE) && (PLATFORM(GTK) || PLATFORM(WPE))
const char* varname;
Modified: trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm (292105 => 292106)
--- trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/UIProcess/Launcher/cocoa/ProcessLauncherCocoa.mm 2022-03-30 14:56:39 UTC (rev 292106)
@@ -154,7 +154,7 @@
xpc_dictionary_set_value(initializationMessage.get(), "ContainerEnvironmentVariables", containerEnvironmentVariables.get());
#endif
- auto languagesIterator = m_launchOptions.extraInitializationData.find("OverrideLanguages");
+ auto languagesIterator = m_launchOptions.extraInitializationData.find<HashTranslatorASCIILiteral>("OverrideLanguages"_s);
if (languagesIterator != m_launchOptions.extraInitializationData.end()) {
LOG_WITH_STREAM(Language, stream << "Process Launcher is copying OverrideLanguages into initialization message: " << languagesIterator->value);
auto languages = adoptOSObject(xpc_array_create(nullptr, 0));
Modified: trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp (292105 => 292106)
--- trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/UIProcess/Launcher/glib/ProcessLauncherGLib.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -138,7 +138,7 @@
#if OS(LINUX)
const char* sandboxEnv = g_getenv("WEBKIT_FORCE_SANDBOX");
- bool sandboxEnabled = m_launchOptions.extraInitializationData.get("enable-sandbox") == "true";
+ bool sandboxEnabled = m_launchOptions.extraInitializationData.get<HashTranslatorASCIILiteral>("enable-sandbox"_s) == "true";
if (sandboxEnv)
sandboxEnabled = !strcmp(sandboxEnv, "1");
Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp (292105 => 292106)
--- trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -407,7 +407,7 @@
if (!m_processPool->customWebContentServiceBundleIdentifier().isEmpty())
launchOptions.customWebContentServiceBundleIdentifier = m_processPool->customWebContentServiceBundleIdentifier().ascii();
if (WebKit::isInspectorProcessPool(processPool()))
- launchOptions.extraInitializationData.add("inspector-process"_s, "1"_s);
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("inspector-process"_s, "1"_s);
LOG(Language, "WebProcessProxy is getting launch options.");
auto overrideLanguages = m_processPool->configuration().overrideLanguages();
@@ -423,7 +423,7 @@
languageString.append(overrideLanguages[i]);
}
LOG_WITH_STREAM(Language, stream << "Setting WebProcess's launch OverrideLanguages to " << languageString);
- launchOptions.extraInitializationData.add("OverrideLanguages"_s, languageString.toString());
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("OverrideLanguages"_s, languageString.toString());
} else
LOG(Language, "overrideLanguages is still empty. Not setting WebProcess's launch OverrideLanguages.");
@@ -430,7 +430,7 @@
launchOptions.nonValidInjectedCodeAllowed = shouldAllowNonValidInjectedCode();
if (isPrewarmed())
- launchOptions.extraInitializationData.add("is-prewarmed"_s, "1"_s);
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("is-prewarmed"_s, "1"_s);
#if PLATFORM(PLAYSTATION)
launchOptions.processPath = m_processPool->webProcessPath();
@@ -443,8 +443,8 @@
}
if (m_serviceWorkerInformation) {
- launchOptions.extraInitializationData.add("service-worker-process"_s, "1"_s);
- launchOptions.extraInitializationData.add("registrable-domain"_s, m_registrableDomain->string());
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("service-worker-process"_s, "1"_s);
+ launchOptions.extraInitializationData.add<HashTranslatorASCIILiteral>("registrable-domain"_s, m_registrableDomain->string());
}
}
Modified: trunk/Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp (292105 => 292106)
--- trunk/Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/UIProcess/glib/WebProcessProxyGLib.cpp 2022-03-30 14:56:39 UTC (rev 292106)
@@ -39,7 +39,7 @@
void WebProcessProxy::platformGetLaunchOptions(ProcessLauncher::LaunchOptions& launchOptions)
{
- launchOptions.extraInitializationData.set("enable-sandbox", m_processPool->sandboxEnabled() ? "true" : "false");
+ launchOptions.extraInitializationData.set("enable-sandbox"_s, m_processPool->sandboxEnabled() ? "true" : "false");
if (m_processPool->sandboxEnabled()) {
WebsiteDataStore* dataStore = m_websiteDataStore.get();
@@ -51,9 +51,9 @@
ASSERT(dataStore);
dataStore->resolveDirectoriesIfNecessary();
- launchOptions.extraInitializationData.set("webSQLDatabaseDirectory", dataStore->resolvedDatabaseDirectory());
- launchOptions.extraInitializationData.set("mediaKeysDirectory", dataStore->resolvedMediaKeysDirectory());
- launchOptions.extraInitializationData.set("applicationCacheDirectory", dataStore->resolvedApplicationCacheDirectory());
+ launchOptions.extraInitializationData.set("webSQLDatabaseDirectory"_s, dataStore->resolvedDatabaseDirectory());
+ launchOptions.extraInitializationData.set("mediaKeysDirectory"_s, dataStore->resolvedMediaKeysDirectory());
+ launchOptions.extraInitializationData.set("applicationCacheDirectory"_s, dataStore->resolvedApplicationCacheDirectory());
launchOptions.extraSandboxPaths = m_processPool->sandboxPaths();
}
Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (292105 => 292106)
--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2022-03-30 13:28:05 UTC (rev 292105)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2022-03-30 14:56:39 UTC (rev 292106)
@@ -638,17 +638,17 @@
MainThreadSharedTimer::shouldSetupPowerObserver() = false;
#endif // PLATFORM(MAC)
- if (parameters.extraInitializationData.get("inspector-process"_s) == "1")
+ if (parameters.extraInitializationData.get<HashTranslatorASCIILiteral>("inspector-process"_s) == "1")
m_processType = ProcessType::Inspector;
#if ENABLE(SERVICE_WORKER)
- else if (parameters.extraInitializationData.get("service-worker-process"_s) == "1") {
+ else if (parameters.extraInitializationData.get<HashTranslatorASCIILiteral>("service-worker-process"_s) == "1") {
m_processType = ProcessType::ServiceWorker;
#if PLATFORM(MAC)
- m_registrableDomain = RegistrableDomain::uncheckedCreateFromRegistrableDomainString(parameters.extraInitializationData.get("registrable-domain"_s));
+ m_registrableDomain = RegistrableDomain::uncheckedCreateFromRegistrableDomainString(parameters.extraInitializationData.get<HashTranslatorASCIILiteral>("registrable-domain"_s));
#endif
}
#endif
- else if (parameters.extraInitializationData.get("is-prewarmed"_s) == "1")
+ else if (parameters.extraInitializationData.get<HashTranslatorASCIILiteral>("is-prewarmed"_s) == "1")
m_processType = ProcessType::PrewarmedWebContent;
else
m_processType = ProcessType::WebContent;