Diff
Modified: trunk/Source/WebCore/ChangeLog (286483 => 286484)
--- trunk/Source/WebCore/ChangeLog 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebCore/ChangeLog 2021-12-03 08:06:10 UTC (rev 286484)
@@ -1,3 +1,18 @@
+2021-12-03 Kimmo Kinnunen <kkinnu...@apple.com>
+
+ Network process does not seem to initialize logging
+ https://bugs.webkit.org/show_bug.cgi?id=233360
+ <rdar://problem/85765854>
+
+ Reviewed by Fujii Hironori.
+
+ Export WebCore::logLevelString(), it's the canonical
+ method to obtain WebCore log configuration string.
+ It's already used in WebKit, but not on Cocoa platform
+ where the export matters.
+
+ * platform/LogInitialization.h:
+
2021-12-02 Chris Dumez <cdu...@apple.com>
html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
Modified: trunk/Source/WebCore/platform/LogInitialization.h (286483 => 286484)
--- trunk/Source/WebCore/platform/LogInitialization.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebCore/platform/LogInitialization.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -33,7 +33,7 @@
#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
WEBCORE_EXPORT WTF::LogChannels& logChannels();
-String logLevelString();
+WEBCORE_EXPORT String logLevelString();
#endif // !LOG_DISABLED || !RELEASE_LOG_DISABLED
Modified: trunk/Source/WebKit/ChangeLog (286483 => 286484)
--- trunk/Source/WebKit/ChangeLog 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/ChangeLog 2021-12-03 08:06:10 UTC (rev 286484)
@@ -1,3 +1,77 @@
+2021-12-03 Kimmo Kinnunen <kkinnu...@apple.com>
+
+ Network process does not seem to initialize logging
+ https://bugs.webkit.org/show_bug.cgi?id=233360
+ <rdar://problem/85765854>
+
+ Reviewed by Fujii Hironori.
+
+ Move GPUProcess and WebProcess process creation arguments
+ related to logging strings to new AuxiliaryProcessCreationParameters.
+ Use this in all auxiliary processes GPUProcess, WebProcess,
+ AuthnProcess and NetworkProcess.
+
+ Use the canonical WTF::logLevelString(), WebCore::logLevelString(),
+ WebKit::logLevelString() to initialize Cocoa WebKit2 logging settings
+ for process creation arguments.
+
+ Fixes bugs where
+ Tools/Scripts/run-minibrowser --debug -WebKit2Logging IPCMessages
+ would not print IPCMessages logging for NetworkProcess.
+
+ * GPUProcess/GPUProcess.cpp:
+ (WebKit::GPUProcess::initializeGPUProcess):
+ * GPUProcess/GPUProcessCreationParameters.cpp:
+ (WebKit::GPUProcessCreationParameters::encode const):
+ (WebKit::GPUProcessCreationParameters::decode):
+ * GPUProcess/GPUProcessCreationParameters.h:
+ * NetworkProcess/NetworkProcess.cpp:
+ (WebKit::NetworkProcess::initializeNetworkProcess):
+ * NetworkProcess/NetworkProcessCreationParameters.cpp:
+ (WebKit::NetworkProcessCreationParameters::encode const):
+ (WebKit::NetworkProcessCreationParameters::decode):
+ * NetworkProcess/NetworkProcessCreationParameters.h:
+ * Shared/AuxiliaryProcess.cpp:
+ (WebKit::AuxiliaryProcess::applyProcessCreationParameters):
+ * Shared/AuxiliaryProcess.h:
+ * Shared/AuxiliaryProcessCreationParameters.cpp: Copied from Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp.
+ (WebKit::AuxiliaryProcessCreationParameters::encode const):
+ (WebKit::AuxiliaryProcessCreationParameters::decode):
+ * Shared/AuxiliaryProcessCreationParameters.h: Copied from Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h.
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode const):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ * Sources.txt:
+ * UIProcess/AuxiliaryProcessProxy.cpp:
+ (WebKit::AuxiliaryProcessProxy::auxiliaryProcessParameters):
+ * UIProcess/AuxiliaryProcessProxy.h:
+ * UIProcess/Cocoa/GPUProcessProxyCocoa.mm:
+ (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformInitializeWebProcess):
+ * UIProcess/GPU/GPUProcessProxy.cpp:
+ (WebKit::GPUProcessProxy::GPUProcessProxy):
+ (WebKit::GPUProcessProxy::platformInitializeGPUProcessParameters):
+ * UIProcess/GPU/GPUProcessProxy.h:
+ * UIProcess/Network/NetworkProcessProxy.cpp:
+ (WebKit::NetworkProcessProxy::sendCreationParametersToNewProcess):
+ * UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp:
+ (WebKit::WebAuthnProcessProxy::singleton):
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::initializeNewWebProcess):
+ * WebAuthnProcess/WebAuthnProcess.cpp:
+ (WebKit::WebAuthnProcess::initializeWebAuthnProcess):
+ * WebAuthnProcess/WebAuthnProcessCreationParameters.cpp:
+ (WebKit::WebAuthnProcessCreationParameters::encode const):
+ (WebKit::WebAuthnProcessCreationParameters::decode):
+ * WebAuthnProcess/WebAuthnProcessCreationParameters.h:
+ * WebKit.xcodeproj/project.pbxproj:
+ * WebProcess/cocoa/WebProcessCocoa.mm:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ * WebProcess/playstation/WebProcessPlayStation.cpp:
+ (WebKit::WebProcess::platformInitializeWebProcess):
+
2021-12-02 Tim Horton <timothy_hor...@apple.com>
MomentumEventDispatcher curve sometimes doesn't match the system curve
Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.cpp (286483 => 286484)
--- trunk/Source/WebKit/GPUProcess/GPUProcess.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -211,6 +211,7 @@
void GPUProcess::initializeGPUProcess(GPUProcessCreationParameters&& parameters)
{
+ applyProcessCreationParameters(parameters.auxiliaryProcessParameters);
RELEASE_LOG(Process, "%p - GPUProcess::initializeGPUProcess:", this);
WTF::Thread::setCurrentThreadIsUserInitiated();
AtomString::init();
@@ -247,12 +248,6 @@
CGImageSourceSetAllowableTypes(emptyArray.get());
#endif
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- WTF::logChannels().initializeLogChannelsIfNecessary(parameters.wtfLoggingChannels);
- WebCore::logChannels().initializeLogChannelsIfNecessary(parameters.webCoreLoggingChannels);
- WebKit::logChannels().initializeLogChannelsIfNecessary(parameters.webKitLoggingChannels);
-#endif
-
m_applicationVisibleName = WTFMove(parameters.applicationVisibleName);
// Match the QoS of the UIProcess since the GPU process is doing rendering on its behalf.
Modified: trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp (286483 => 286484)
--- trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -41,6 +41,7 @@
void GPUProcessCreationParameters::encode(IPC::Encoder& encoder) const
{
+ encoder << auxiliaryProcessParameters;
#if ENABLE(MEDIA_STREAM)
encoder << useMockCaptureDevices;
#if PLATFORM(MAC)
@@ -59,15 +60,13 @@
encoder << dynamicMachExtensionHandles;
#endif
- encoder << wtfLoggingChannels;
- encoder << webCoreLoggingChannels;
- encoder << webKitLoggingChannels;
-
encoder << applicationVisibleName;
}
bool GPUProcessCreationParameters::decode(IPC::Decoder& decoder, GPUProcessCreationParameters& result)
{
+ if (!decoder.decode(result.auxiliaryProcessParameters))
+ return false;
#if ENABLE(MEDIA_STREAM)
if (!decoder.decode(result.useMockCaptureDevices))
return false;
@@ -112,13 +111,6 @@
result.dynamicMachExtensionHandles = WTFMove(*dynamicMachExtensionHandles);
#endif
- if (!decoder.decode(result.wtfLoggingChannels))
- return false;
- if (!decoder.decode(result.webCoreLoggingChannels))
- return false;
- if (!decoder.decode(result.webKitLoggingChannels))
- return false;
-
if (!decoder.decode(result.applicationVisibleName))
return false;
Modified: trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h (286483 => 286484)
--- trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -27,8 +27,10 @@
#if ENABLE(GPU_PROCESS)
+#include "AuxiliaryProcessCreationParameters.h"
#include "SandboxExtension.h"
#include <wtf/ProcessID.h>
+
namespace IPC {
class Decoder;
class Encoder;
@@ -39,6 +41,7 @@
struct GPUProcessCreationParameters {
GPUProcessCreationParameters();
+ AuxiliaryProcessCreationParameters auxiliaryProcessParameters;
#if ENABLE(MEDIA_STREAM)
bool useMockCaptureDevices { false };
#if PLATFORM(MAC)
@@ -57,10 +60,6 @@
Vector<SandboxExtension::Handle> dynamicMachExtensionHandles;
#endif
- String wtfLoggingChannels;
- String webCoreLoggingChannels;
- String webKitLoggingChannels;
-
String applicationVisibleName;
void encode(IPC::Encoder&) const;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (286483 => 286484)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -323,6 +323,7 @@
void NetworkProcess::initializeNetworkProcess(NetworkProcessCreationParameters&& parameters)
{
+ applyProcessCreationParameters(parameters.auxiliaryProcessParameters);
#if HAVE(SEC_KEY_PROXY)
WTF::setProcessPrivileges({ ProcessPrivilege::CanAccessRawCookies });
#else
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp (286483 => 286484)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -43,6 +43,7 @@
void NetworkProcessCreationParameters::encode(IPC::Encoder& encoder) const
{
+ encoder << auxiliaryProcessParameters;
encoder << cacheModel;
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
encoder << uiProcessCookieStorageIdentifier;
@@ -77,6 +78,9 @@
bool NetworkProcessCreationParameters::decode(IPC::Decoder& decoder, NetworkProcessCreationParameters& result)
{
+ if (!decoder.decode(result.auxiliaryProcessParameters))
+ return false;
+
if (!decoder.decode(result.cacheModel))
return false;
Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h (286483 => 286484)
--- trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcessCreationParameters.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -25,6 +25,7 @@
#pragma once
+#include "AuxiliaryProcessCreationParameters.h"
#include "CacheModel.h"
#include "SandboxExtension.h"
#include <WebCore/Cookie.h>
@@ -55,6 +56,8 @@
void encode(IPC::Encoder&) const;
static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, NetworkProcessCreationParameters&);
+ AuxiliaryProcessCreationParameters auxiliaryProcessParameters;
+
CacheModel cacheModel { CacheModel::DocumentViewer };
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
Modified: trunk/Source/WebKit/Shared/AuxiliaryProcess.cpp (286483 => 286484)
--- trunk/Source/WebKit/Shared/AuxiliaryProcess.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/Shared/AuxiliaryProcess.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -26,6 +26,7 @@
#include "config.h"
#include "AuxiliaryProcess.h"
+#include "AuxiliaryProcessCreationParameters.h"
#include "ContentWorldShared.h"
#include "LogInitialization.h"
#include "Logging.h"
@@ -245,6 +246,15 @@
#endif
}
+void AuxiliaryProcess::applyProcessCreationParameters(const AuxiliaryProcessCreationParameters& parameters)
+{
+#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
+ WTF::logChannels().initializeLogChannelsIfNecessary(parameters.wtfLoggingChannels);
+ WebCore::logChannels().initializeLogChannelsIfNecessary(parameters.webCoreLoggingChannels);
+ WebKit::logChannels().initializeLogChannelsIfNecessary(parameters.webKitLoggingChannels);
+#endif
+}
+
#if !PLATFORM(COCOA)
void AuxiliaryProcess::platformInitialize(const AuxiliaryProcessInitializationParameters&)
{
Modified: trunk/Source/WebKit/Shared/AuxiliaryProcess.h (286483 => 286484)
--- trunk/Source/WebKit/Shared/AuxiliaryProcess.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/Shared/AuxiliaryProcess.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -46,6 +46,7 @@
class SandboxInitializationParameters;
struct AuxiliaryProcessInitializationParameters;
+struct AuxiliaryProcessCreationParameters;
class AuxiliaryProcess : public IPC::Connection::Client, public IPC::MessageSender {
WTF_MAKE_NONCOPYABLE(AuxiliaryProcess);
@@ -143,6 +144,7 @@
virtual void handlePreferenceChange(const String& domain, const String& key, id value);
virtual void dispatchSimulatedNotificationsForPreferenceChange(const String& key) { }
#endif
+ void applyProcessCreationParameters(const AuxiliaryProcessCreationParameters&);
private:
virtual bool shouldOverrideQuarantine() { return true; }
Copied: trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.cpp (from rev 286483, trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp) (0 => 286484)
--- trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.cpp (rev 0)
+++ trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "AuxiliaryProcessCreationParameters.h"
+
+#include "ArgumentCoders.h"
+#include "WebCoreArgumentCoders.h"
+
+namespace WebKit {
+
+AuxiliaryProcessCreationParameters::AuxiliaryProcessCreationParameters() = default;
+
+void AuxiliaryProcessCreationParameters::encode(IPC::Encoder& encoder) const
+{
+ encoder << wtfLoggingChannels;
+ encoder << webCoreLoggingChannels;
+ encoder << webKitLoggingChannels;
+}
+
+bool AuxiliaryProcessCreationParameters::decode(IPC::Decoder& decoder, AuxiliaryProcessCreationParameters& result)
+{
+ if (!decoder.decode(result.wtfLoggingChannels))
+ return false;
+ if (!decoder.decode(result.webCoreLoggingChannels))
+ return false;
+ if (!decoder.decode(result.webKitLoggingChannels))
+ return false;
+ return true;
+}
+
+}
Copied: trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.h (from rev 286483, trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h) (0 => 286484)
--- trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.h (rev 0)
+++ trunk/Source/WebKit/Shared/AuxiliaryProcessCreationParameters.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2019-2021 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#include <wtf/text/WTFString.h>
+
+namespace IPC {
+class Decoder;
+class Encoder;
+}
+
+namespace WebKit {
+
+// Parameters that are sent to the process object as the first message after process has started.
+struct AuxiliaryProcessCreationParameters {
+ AuxiliaryProcessCreationParameters();
+
+ String wtfLoggingChannels;
+ String webCoreLoggingChannels;
+ String webKitLoggingChannels;
+
+ void encode(IPC::Encoder&) const;
+ static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, AuxiliaryProcessCreationParameters&);
+};
+
+} // namespace WebKit
Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp (286483 => 286484)
--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -47,6 +47,7 @@
void WebProcessCreationParameters::encode(IPC::Encoder& encoder) const
{
+ encoder << auxiliaryProcessParameters;
encoder << injectedBundlePath;
encoder << injectedBundlePathExtensionHandle;
encoder << additionalSandboxExtensionHandles;
@@ -59,9 +60,6 @@
#if PLATFORM(COCOA) && ENABLE(REMOTE_INSPECTOR)
encoder << enableRemoteWebInspectorExtensionHandle;
#endif
- encoder << wtfLoggingChannels;
- encoder << webCoreLoggingChannels;
- encoder << webKitLoggingChannels;
#if ENABLE(MEDIA_STREAM)
encoder << audioCaptureExtensionHandle;
#endif
@@ -227,6 +225,8 @@
bool WebProcessCreationParameters::decode(IPC::Decoder& decoder, WebProcessCreationParameters& parameters)
{
+ if (!decoder.decode(parameters.auxiliaryProcessParameters))
+ return false;
if (!decoder.decode(parameters.injectedBundlePath))
return false;
@@ -272,16 +272,7 @@
return false;
parameters.enableRemoteWebInspectorExtensionHandle = WTFMove(*enableRemoteWebInspectorExtensionHandle);
#endif
-
- if (!decoder.decode(parameters.wtfLoggingChannels))
- return false;
- if (!decoder.decode(parameters.webCoreLoggingChannels))
- return false;
- if (!decoder.decode(parameters.webKitLoggingChannels))
- return false;
-
#if ENABLE(MEDIA_STREAM)
-
std::optional<SandboxExtension::Handle> audioCaptureExtensionHandle;
decoder >> audioCaptureExtensionHandle;
if (!audioCaptureExtensionHandle)
Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.h (286483 => 286484)
--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -26,6 +26,7 @@
#pragma once
#include "AccessibilityPreferences.h"
+#include "AuxiliaryProcessCreationParameters.h"
#include "CacheModel.h"
#include "SandboxExtension.h"
#include "TextCheckerState.h"
@@ -73,6 +74,7 @@
void encode(IPC::Encoder&) const;
static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, WebProcessCreationParameters&);
+ AuxiliaryProcessCreationParameters auxiliaryProcessParameters;
String injectedBundlePath;
SandboxExtension::Handle injectedBundlePathExtensionHandle;
Vector<SandboxExtension::Handle> additionalSandboxExtensionHandles;
@@ -91,10 +93,6 @@
SandboxExtension::Handle audioCaptureExtensionHandle;
#endif
- String wtfLoggingChannels;
- String webCoreLoggingChannels;
- String webKitLoggingChannels;
-
Vector<String> urlSchemesRegisteredAsEmptyDocument;
Vector<String> urlSchemesRegisteredAsSecure;
Vector<String> urlSchemesRegisteredAsBypassingContentSecurityPolicy;
Modified: trunk/Source/WebKit/Sources.txt (286483 => 286484)
--- trunk/Source/WebKit/Sources.txt 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/Sources.txt 2021-12-03 08:06:10 UTC (rev 286484)
@@ -208,6 +208,7 @@
Shared/AccessibilityPreferences.cpp
Shared/ActivityAssertion.cpp @no-unify
Shared/AuxiliaryProcess.cpp @no-unify
+Shared/AuxiliaryProcessCreationParameters.cpp @no-unify
Shared/BlobDataFileReferenceWithSandboxExtension.cpp @no-unify
Shared/CacheModel.cpp
Shared/ContextMenuContextData.cpp
Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -27,9 +27,12 @@
#include "AuxiliaryProcessProxy.h"
#include "AuxiliaryProcessMessages.h"
+#include "LogInitialization.h"
#include "Logging.h"
#include "WebPageProxy.h"
#include "WebProcessProxy.h"
+#include <WebCore/LogInitialization.h>
+#include <wtf/LogInitialization.h>
#include <wtf/RunLoop.h>
#if PLATFORM(COCOA)
@@ -401,4 +404,15 @@
});
}
+AuxiliaryProcessCreationParameters AuxiliaryProcessProxy::auxiliaryProcessParameters()
+{
+ AuxiliaryProcessCreationParameters parameters;
+#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
+ parameters.wtfLoggingChannels = WTF::logLevelString();
+ parameters.webCoreLoggingChannels = WebCore::logLevelString();
+ parameters.webKitLoggingChannels = WebKit::logLevelString();
+#endif
+ return parameters;
+}
+
} // namespace WebKit
Modified: trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/AuxiliaryProcessProxy.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -25,6 +25,7 @@
#pragma once
+#include "AuxiliaryProcessCreationParameters.h"
#include "Connection.h"
#include "MessageReceiverMap.h"
#include "ProcessLauncher.h"
@@ -48,6 +49,8 @@
public:
virtual ~AuxiliaryProcessProxy();
+ static AuxiliaryProcessCreationParameters auxiliaryProcessParameters();
+
void connect();
virtual void terminate();
Modified: trunk/Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/Cocoa/GPUProcessProxyCocoa.mm 2021-12-03 08:06:10 UTC (rev 286484)
@@ -35,12 +35,6 @@
void GPUProcessProxy::platformInitializeGPUProcessParameters(GPUProcessCreationParameters& parameters)
{
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- parameters.wtfLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WTFLogging"];
- parameters.webCoreLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebCoreLogging"];
- parameters.webKitLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebKit2Logging"];
-#endif
-
parameters.applicationVisibleName = applicationVisibleName();
}
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2021-12-03 08:06:10 UTC (rev 286484)
@@ -398,12 +398,6 @@
isSafari = true;
#endif
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- parameters.wtfLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WTFLogging"];
- parameters.webCoreLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebCoreLogging"];
- parameters.webKitLoggingChannels = [[NSUserDefaults standardUserDefaults] stringForKey:@"WebKit2Logging"];
-#endif
-
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
// FIXME: Remove this and related parameter when <rdar://problem/29448368> is fixed.
if (isSafari && mediaDevicesEnabled && !m_defaultPageGroup->preferences().captureAudioInUIProcessEnabled() && !m_defaultPageGroup->preferences().captureAudioInGPUProcessEnabled()) {
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -138,6 +138,8 @@
connect();
GPUProcessCreationParameters parameters;
+ parameters.auxiliaryProcessParameters = auxiliaryProcessParameters();
+
#if ENABLE(MEDIA_STREAM)
parameters.useMockCaptureDevices = m_useMockCaptureDevices;
#if PLATFORM(MAC)
@@ -655,11 +657,6 @@
#if !PLATFORM(COCOA)
void GPUProcessProxy::platformInitializeGPUProcessParameters(GPUProcessCreationParameters& parameters)
{
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- parameters.wtfLoggingChannels = WTF::logLevelString();
- parameters.webCoreLoggingChannels = WebCore::logLevelString();
- parameters.webKitLoggingChannels = WebKit::logLevelString();
-#endif
}
#endif
Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -138,6 +138,7 @@
void didCreateContextForVisibilityPropagation(WebPageProxyIdentifier, WebCore::PageIdentifier, LayerHostingContextID);
#endif
+ GPUProcessCreationParameters processCreationParameters();
void platformInitializeGPUProcessParameters(GPUProcessCreationParameters&);
ProcessThrottler m_throttler;
Modified: trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -179,6 +179,7 @@
}
NetworkProcessCreationParameters parameters;
+ parameters.auxiliaryProcessParameters = auxiliaryProcessParameters();
parameters.urlSchemesRegisteredAsSecure = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsSecure());
parameters.urlSchemesRegisteredAsBypassingContentSecurityPolicy = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsBypassingContentSecurityPolicy());
parameters.urlSchemesRegisteredAsLocal = copyToVector(LegacyGlobalSettings::singleton().schemesToRegisterAsLocal());
Modified: trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/WebAuthentication/WebAuthnProcessProxy.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -63,9 +63,8 @@
auto createAndInitializeNewProcess = [] {
auto webAuthnProcess = adoptRef(*new WebAuthnProcessProxy);
-
WebAuthnProcessCreationParameters parameters;
-
+ parameters.auxiliaryProcessParameters = webAuthnProcess->auxiliaryProcessParameters();
// Initialize the WebAuthn process.
webAuthnProcess->send(Messages::WebAuthnProcess::InitializeWebAuthnProcess(parameters), 0);
webAuthnProcess->updateProcessAssertion();
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (286483 => 286484)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -37,6 +37,7 @@
#include "APIPageConfiguration.h"
#include "APIProcessPoolConfiguration.h"
#include "AuxiliaryProcessMessages.h"
+#include "AuxiliaryProcessProxy.h"
#include "DownloadProxy.h"
#include "DownloadProxyMessages.h"
#include "GPUProcessConnectionInfo.h"
@@ -776,6 +777,7 @@
});
WebProcessCreationParameters parameters;
+ parameters.auxiliaryProcessParameters = AuxiliaryProcessProxy::auxiliaryProcessParameters();
parameters.injectedBundlePath = m_resolvedPaths.injectedBundlePath;
if (!parameters.injectedBundlePath.isEmpty()) {
Modified: trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp (286483 => 286484)
--- trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcess.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -92,6 +92,7 @@
void WebAuthnProcess::initializeWebAuthnProcess(WebAuthnProcessCreationParameters&& parameters)
{
+ applyProcessCreationParameters(parameters.auxiliaryProcessParameters);
WTF::Thread::setCurrentThreadIsUserInitiated();
AtomString::init();
}
Modified: trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp (286483 => 286484)
--- trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -41,10 +41,13 @@
void WebAuthnProcessCreationParameters::encode(IPC::Encoder& encoder) const
{
+ encoder << auxiliaryProcessParameters;
}
bool WebAuthnProcessCreationParameters::decode(IPC::Decoder& decoder, WebAuthnProcessCreationParameters& result)
{
+ if (!decoder.decode(result.auxiliaryProcessParameters))
+ return false;
return true;
}
Modified: trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h (286483 => 286484)
--- trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebAuthnProcess/WebAuthnProcessCreationParameters.h 2021-12-03 08:06:10 UTC (rev 286484)
@@ -27,6 +27,8 @@
#if ENABLE(WEB_AUTHN)
+#include "AuxiliaryProcessCreationParameters.h"
+
namespace IPC {
class Decoder;
class Encoder;
@@ -36,6 +38,7 @@
struct WebAuthnProcessCreationParameters {
WebAuthnProcessCreationParameters();
+ AuxiliaryProcessCreationParameters auxiliaryProcessParameters;
void encode(IPC::Encoder&) const;
static WARN_UNUSED_RETURN bool decode(IPC::Decoder&, WebAuthnProcessCreationParameters&);
Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (286483 => 286484)
--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj 2021-12-03 08:06:10 UTC (rev 286484)
@@ -1341,6 +1341,7 @@
7B73124225CC8525003B2796 /* StreamConnectionEncoder.h in Headers */ = {isa = PBXBuildFile; fileRef = 7B73123925CC8525003B2796 /* StreamConnectionEncoder.h */; };
7BAB111025DD02B3008FC479 /* ScopedActiveMessageReceiveQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BAB110F25DD02B2008FC479 /* ScopedActiveMessageReceiveQueue.h */; };
7BCF70DE2615D06E00E4FB70 /* ScopedRenderingResourcesRequestCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7BCF70CB2614935E00E4FB70 /* ScopedRenderingResourcesRequestCocoa.mm */; };
+ 7BDDA3422758C98F0038659E /* AuxiliaryProcessCreationParameters.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7BDDA340275652EA0038659E /* AuxiliaryProcessCreationParameters.cpp */; };
7C065F2C1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C065F2A1C8CD95F00C2D950 /* WebUserContentControllerDataTypes.h */; };
7C135AA9173B0BCA00586AE2 /* WKPluginInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */; settings = {ATTRIBUTES = (Private, ); }; };
7C1BA33E1A4A0E600043E249 /* APIDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C1BA33C1A4A0E600043E249 /* APIDictionary.h */; };
@@ -5022,6 +5023,8 @@
7BCF70CC2614935F00E4FB70 /* ScopedWebGLRenderingResourcesRequest.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ScopedWebGLRenderingResourcesRequest.cpp; sourceTree = "<group>"; };
7BCF70CD2614935F00E4FB70 /* ScopedRenderingResourcesRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScopedRenderingResourcesRequest.h; sourceTree = "<group>"; };
7BCF70CE2614935F00E4FB70 /* ScopedWebGLRenderingResourcesRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ScopedWebGLRenderingResourcesRequest.h; sourceTree = "<group>"; };
+ 7BDDA33F275652EA0038659E /* AuxiliaryProcessCreationParameters.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AuxiliaryProcessCreationParameters.h; sourceTree = "<group>"; };
+ 7BDDA340275652EA0038659E /* AuxiliaryProcessCreationParameters.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = AuxiliaryProcessCreationParameters.cpp; sourceTree = "<group>"; };
7BE726572574F67200E85D98 /* RemoteGraphicsContextGLProxyFunctionsGenerated.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteGraphicsContextGLProxyFunctionsGenerated.cpp; sourceTree = "<group>"; };
7BE72668257680EF00E85D98 /* RemoteGraphicsContextGLCocoa.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = RemoteGraphicsContextGLCocoa.cpp; sourceTree = "<group>"; };
7C065F291C8CD95F00C2D950 /* WebUserContentControllerDataTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebUserContentControllerDataTypes.cpp; sourceTree = "<group>"; };
@@ -7029,6 +7032,8 @@
1A2D956E12848564001EB962 /* AuxiliaryProcess.cpp */,
1A2D956D12848564001EB962 /* AuxiliaryProcess.h */,
5164C0941B05B757004F102A /* AuxiliaryProcess.messages.in */,
+ 7BDDA340275652EA0038659E /* AuxiliaryProcessCreationParameters.cpp */,
+ 7BDDA33F275652EA0038659E /* AuxiliaryProcessCreationParameters.h */,
290F4271172A0C7400939FF0 /* AuxiliaryProcessSupplement.h */,
E164A2EF191AF14E0010737D /* BlobDataFileReferenceWithSandboxExtension.cpp */,
E164A2F0191AF14E0010737D /* BlobDataFileReferenceWithSandboxExtension.h */,
@@ -15066,6 +15071,7 @@
99249AD51F1F1E5600B62FBB /* AutomationFrontendDispatchers.cpp in Sources */,
9955A6F61C7986E300EB6A93 /* AutomationProtocolObjects.cpp in Sources */,
2D92A786212B6AB100F493FD /* AuxiliaryProcess.cpp in Sources */,
+ 7BDDA3422758C98F0038659E /* AuxiliaryProcessCreationParameters.cpp in Sources */,
51FAEC3B1B0657680009C4E7 /* AuxiliaryProcessMessageReceiver.cpp in Sources */,
2D92A785212B6AB100F493FD /* BlobDataFileReferenceWithSandboxExtension.cpp in Sources */,
517CF0E3163A486C00C2950F /* CacheStorageEngineConnectionMessageReceiver.cpp in Sources */,
Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (286483 => 286484)
--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm 2021-12-03 08:06:10 UTC (rev 286484)
@@ -224,6 +224,8 @@
void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
{
+ applyProcessCreationParameters(parameters.auxiliaryProcessParameters);
+
setQOS(parameters.latencyQOS, parameters.throughputQOS);
#if HAVE(CATALYST_USER_INTERFACE_IDIOM_AND_SCALE_FACTOR)
@@ -267,12 +269,6 @@
}
}
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- WTF::logChannels().initializeLogChannelsIfNecessary(parameters.wtfLoggingChannels);
- WebCore::logChannels().initializeLogChannelsIfNecessary(parameters.webCoreLoggingChannels);
- WebKit::logChannels().initializeLogChannelsIfNecessary(parameters.webKitLoggingChannels);
-#endif
-
m_uiProcessBundleIdentifier = parameters.uiProcessBundleIdentifier;
#if ENABLE(SANDBOX_EXTENSIONS)
Modified: trunk/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp (286483 => 286484)
--- trunk/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp 2021-12-03 07:25:20 UTC (rev 286483)
+++ trunk/Source/WebKit/WebProcess/playstation/WebProcessPlayStation.cpp 2021-12-03 08:06:10 UTC (rev 286484)
@@ -32,15 +32,8 @@
namespace WebKit {
-void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
+void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters&)
{
-#if !LOG_DISABLED || !RELEASE_LOG_DISABLED
- WTF::logChannels().initializeLogChannelsIfNecessary(parameters.wtfLoggingChannels);
- WebCore::logChannels().initializeLogChannelsIfNecessary(parameters.webCoreLoggingChannels);
- WebKit::logChannels().initializeLogChannelsIfNecessary(parameters.webKitLoggingChannels);
-#else
- UNUSED_PARAM(parameters);
-#endif
}
void WebProcess::platformInitializeProcess(const AuxiliaryProcessInitializationParameters&)