Diff
Modified: trunk/Source/WebKit/ChangeLog (257471 => 257472)
--- trunk/Source/WebKit/ChangeLog 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/ChangeLog 2020-02-26 15:57:19 UTC (rev 257472)
@@ -1,3 +1,29 @@
+2020-02-26 Youenn Fablet <[email protected]>
+
+ Use WebPageProxy preferences for capture instead of WebProcessPool configuration parameters
+ https://bugs.webkit.org/show_bug.cgi?id=208238
+
+ Reviewed by Eric Carlson.
+
+ We can use page preferences instead of pool preferences for audio/video capture.
+ This allows removing code and is more up to date.
+ Manually tested.
+
+ * UIProcess/API/APIProcessPoolConfiguration.cpp:
+ (API::ProcessPoolConfiguration::copy):
+ * UIProcess/API/APIProcessPoolConfiguration.h:
+ * UIProcess/API/C/WKContextConfigurationRef.cpp:
+ * UIProcess/API/C/WKContextConfigurationRef.h:
+ * UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm:
+ * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+ (WebKit::WebProcessPool::platformInitializeWebProcess):
+ * UIProcess/WebPageProxy.cpp:
+ * UIProcess/WebPreferences.cpp:
+ (WebKit::WebPreferences::updateBoolValueForInternalDebugFeatureKey):
+ (WebKit::WebPreferences::updateBoolValueForExperimentalFeatureKey):
+ * UIProcess/WebProcessPool.cpp:
+ (WebKit::WebProcessPool::createWebPage):
+
2020-02-26 Chris Dumez <[email protected]>
Unreviewed, fix debug asserts on the bots after r257389.
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.cpp 2020-02-26 15:57:19 UTC (rev 257472)
@@ -55,7 +55,6 @@
copy->m_overrideLanguages = this->m_overrideLanguages;
copy->m_alwaysRunsAtBackgroundPriority = this->m_alwaysRunsAtBackgroundPriority;
copy->m_shouldTakeUIBackgroundAssertion = this->m_shouldTakeUIBackgroundAssertion;
- copy->m_shouldCaptureAudioInUIProcess = this->m_shouldCaptureAudioInUIProcess;
copy->m_shouldCaptureDisplayInUIProcess = this->m_shouldCaptureDisplayInUIProcess;
copy->m_shouldConfigureJSCForTesting = this->m_shouldConfigureJSCForTesting;
copy->m_isJITEnabled = this->m_isJITEnabled;
Modified: trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/API/APIProcessPoolConfiguration.h 2020-02-26 15:57:19 UTC (rev 257472)
@@ -104,18 +104,6 @@
bool shouldTakeUIBackgroundAssertion() const { return m_shouldTakeUIBackgroundAssertion; }
void setShouldTakeUIBackgroundAssertion(bool shouldTakeUIBackgroundAssertion) { m_shouldTakeUIBackgroundAssertion = shouldTakeUIBackgroundAssertion; }
- bool shouldCaptureAudioInUIProcess() const { return m_shouldCaptureAudioInUIProcess; }
- void setShouldCaptureAudioInUIProcess(bool shouldCaptureAudioInUIProcess) { m_shouldCaptureAudioInUIProcess = shouldCaptureAudioInUIProcess; }
-
- bool shouldCaptureAudioInGPUProcess() const { return m_shouldCaptureAudioInGPUProcess; }
- void setShouldCaptureAudioInGPUProcess(bool shouldCaptureAudioInGPUProcess) { m_shouldCaptureAudioInGPUProcess = shouldCaptureAudioInGPUProcess; }
-
- bool shouldCaptureVideoInUIProcess() const { return m_shouldCaptureVideoInUIProcess; }
- void setShouldCaptureVideoInUIProcess(bool shouldCaptureVideoInUIProcess) { m_shouldCaptureVideoInUIProcess = shouldCaptureVideoInUIProcess; }
-
- bool shouldCaptureVideoInGPUProcess() const { return m_shouldCaptureVideoInGPUProcess; }
- void setShouldCaptureVideoInGPUProcess(bool shouldCaptureVideoInGPUProcess) { m_shouldCaptureVideoInGPUProcess = shouldCaptureVideoInGPUProcess; }
-
bool shouldCaptureDisplayInUIProcess() const { return m_shouldCaptureDisplayInUIProcess; }
void setShouldCaptureDisplayInUIProcess(bool shouldCaptureDisplayInUIProcess) { m_shouldCaptureDisplayInUIProcess = shouldCaptureDisplayInUIProcess; }
@@ -155,10 +143,6 @@
Vector<WTF::String> m_overrideLanguages;
bool m_alwaysRunsAtBackgroundPriority { false };
bool m_shouldTakeUIBackgroundAssertion { true };
- bool m_shouldCaptureAudioInUIProcess { false };
- bool m_shouldCaptureAudioInGPUProcess { false };
- bool m_shouldCaptureVideoInUIProcess { false };
- bool m_shouldCaptureVideoInGPUProcess { false };
bool m_shouldCaptureDisplayInUIProcess { DEFAULT_CAPTURE_DISPLAY_IN_UI_PROCESS };
ProcessID m_presentingApplicationPID { getCurrentProcessID() };
Optional<bool> m_processSwapsOnNavigationFromClient;
Modified: trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.cpp 2020-02-26 15:57:19 UTC (rev 257472)
@@ -155,16 +155,6 @@
toImpl(configuration)->setOverrideLanguages(toImpl(overrideLanguages)->toStringVector());
}
-bool WKContextConfigurationShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration)
-{
- return toImpl(configuration)->shouldCaptureAudioInUIProcess();
-}
-
-void WKContextConfigurationSetShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration, bool should)
-{
- toImpl(configuration)->setShouldCaptureAudioInUIProcess(should);
-}
-
bool WKContextConfigurationProcessSwapsOnNavigation(WKContextConfigurationRef configuration)
{
return toImpl(configuration)->processSwapsOnNavigation();
Modified: trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/API/C/WKContextConfigurationRef.h 2020-02-26 15:57:19 UTC (rev 257472)
@@ -72,9 +72,6 @@
WK_EXPORT WKArrayRef WKContextConfigurationCopyOverrideLanguages(WKContextConfigurationRef configuration);
WK_EXPORT void WKContextConfigurationSetOverrideLanguages(WKContextConfigurationRef configuration, WKArrayRef overrideLanguages);
-WK_EXPORT bool WKContextConfigurationShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration);
-WK_EXPORT void WKContextConfigurationSetShouldCaptureAudioInUIProcess(WKContextConfigurationRef configuration, bool allowed);
-
WK_EXPORT bool WKContextConfigurationProcessSwapsOnNavigation(WKContextConfigurationRef configuration);
WK_EXPORT void WKContextConfigurationSetProcessSwapsOnNavigation(WKContextConfigurationRef configuration, bool swaps);
Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.mm 2020-02-26 15:57:19 UTC (rev 257472)
@@ -241,16 +241,6 @@
{
}
-- (BOOL)shouldCaptureAudioInUIProcess
-{
- return _processPoolConfiguration->shouldCaptureAudioInUIProcess();
-}
-
-- (void)setShouldCaptureAudioInUIProcess:(BOOL)shouldCaptureAudioInUIProcess
-{
- _processPoolConfiguration->setShouldCaptureAudioInUIProcess(shouldCaptureAudioInUIProcess);
-}
-
- (void)setPresentingApplicationPID:(pid_t)presentingApplicationPID
{
_processPoolConfiguration->setPresentingApplicationPID(presentingApplicationPID);
Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm 2020-02-26 15:57:19 UTC (rev 257472)
@@ -346,7 +346,7 @@
#endif
// FIXME: Remove this and related parameter when <rdar://problem/29448368> is fixed.
- if (isSafari && !m_configuration->shouldCaptureAudioInUIProcess() && !m_configuration->shouldCaptureAudioInGPUProcess() && mediaDevicesEnabled)
+ if (isSafari && mediaDevicesEnabled && !m_defaultPageGroup->preferences().captureAudioInUIProcessEnabled() && !m_defaultPageGroup->preferences().captureAudioInGPUProcessEnabled())
SandboxExtension::createHandleForGenericExtension("com.apple.webkit.microphone", parameters.audioCaptureExtensionHandle);
#endif
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2020-02-26 15:57:19 UTC (rev 257472)
@@ -7729,10 +7729,10 @@
process.addWebUserContentControllerProxy(m_userContentController, parameters);
- parameters.shouldCaptureAudioInUIProcess = m_process->processPool().configuration().shouldCaptureAudioInUIProcess();
- parameters.shouldCaptureAudioInGPUProcess = m_process->processPool().configuration().shouldCaptureAudioInGPUProcess();
- parameters.shouldCaptureVideoInUIProcess = m_process->processPool().configuration().shouldCaptureVideoInUIProcess();
- parameters.shouldCaptureVideoInGPUProcess = m_process->processPool().configuration().shouldCaptureVideoInGPUProcess();
+ parameters.shouldCaptureAudioInUIProcess = preferences().captureAudioInUIProcessEnabled();
+ parameters.shouldCaptureAudioInGPUProcess = preferences().captureAudioInGPUProcessEnabled();
+ parameters.shouldCaptureVideoInUIProcess = preferences().captureVideoInUIProcessEnabled();
+ parameters.shouldCaptureVideoInGPUProcess = preferences().captureVideoInGPUProcessEnabled();
parameters.shouldCaptureDisplayInUIProcess = m_process->processPool().configuration().shouldCaptureDisplayInUIProcess();
#if PLATFORM(GTK)
Modified: trunk/Source/WebKit/UIProcess/WebPreferences.cpp (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/WebPreferences.cpp 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/WebPreferences.cpp 2020-02-26 15:57:19 UTC (rev 257472)
@@ -122,36 +122,11 @@
return;
}
- if (key == WebPreferencesKey::captureAudioInUIProcessEnabledKey()) {
- for (auto* processPool : WebProcessPool::allProcessPools())
- processPool->configuration().setShouldCaptureAudioInUIProcess(value);
-
- return;
- }
- if (key == WebPreferencesKey::captureAudioInGPUProcessEnabledKey()) {
- for (auto* processPool : WebProcessPool::allProcessPools())
- processPool->configuration().setShouldCaptureAudioInGPUProcess(value);
-
- return;
- }
- if (key == WebPreferencesKey::captureVideoInGPUProcessEnabledKey()) {
- for (auto* processPool : WebProcessPool::allProcessPools())
- processPool->configuration().setShouldCaptureVideoInGPUProcess(value);
-
- return;
- }
-
update(); // FIXME: Only send over the changed key and value.
}
void WebPreferences::updateBoolValueForExperimentalFeatureKey(const String& key, bool value)
{
- if (key == WebPreferencesKey::captureVideoInUIProcessEnabledKey()) {
- for (auto* processPool : WebProcessPool::allProcessPools())
- processPool->configuration().setShouldCaptureVideoInUIProcess(value);
-
- return;
- }
update(); // FIXME: Only send over the changed key and value.
}
Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.cpp (257471 => 257472)
--- trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.cpp 2020-02-26 15:57:19 UTC (rev 257472)
@@ -1275,10 +1275,6 @@
if (wasProcessSwappingOnNavigationEnabled != m_configuration->processSwapsOnNavigation())
m_webProcessCache->updateCapacity(*this);
- m_configuration->setShouldCaptureAudioInUIProcess(page->preferences().captureAudioInUIProcessEnabled());
- m_configuration->setShouldCaptureAudioInGPUProcess(page->preferences().captureAudioInGPUProcessEnabled());
- m_configuration->setShouldCaptureVideoInUIProcess(page->preferences().captureVideoInUIProcessEnabled());
-
return page;
}
Modified: trunk/Tools/ChangeLog (257471 => 257472)
--- trunk/Tools/ChangeLog 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Tools/ChangeLog 2020-02-26 15:57:19 UTC (rev 257472)
@@ -1,3 +1,14 @@
+2020-02-26 Youenn Fablet <[email protected]>
+
+ Use WebPageProxy preferences for capture instead of WebProcessPool configuration parameters
+ https://bugs.webkit.org/show_bug.cgi?id=208238
+
+ Reviewed by Eric Carlson.
+
+ * TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm:
+ (TEST):
+ Remove use of deleted parameter.
+
2020-02-25 Devin Rousso <[email protected]>
Web Inspector: safari app extension isolated worlds and injected files use the extension's identifier instead of its name
Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm (257471 => 257472)
--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm 2020-02-26 15:56:14 UTC (rev 257471)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WKProcessPoolConfiguration.mm 2020-02-26 15:57:19 UTC (rev 257472)
@@ -50,7 +50,6 @@
[configuration setDiskCacheSizeOverride:42000];
[configuration setCachePartitionedURLSchemes:@[ @"ssh", @"vnc" ]];
[configuration setAlwaysRevalidatedURLSchemes:@[ @"afp", @"smb" ]];
- [configuration setShouldCaptureAudioInUIProcess:YES];
#if PLATFORM(IOS_FAMILY)
[configuration setAlwaysRunsAtBackgroundPriority:YES];
[configuration setShouldTakeUIBackgroundAssertion:YES];
@@ -73,7 +72,6 @@
EXPECT_EQ([configuration diskCacheSizeOverride], [copy diskCacheSizeOverride]);
EXPECT_TRUE([[configuration cachePartitionedURLSchemes] isEqual:[copy cachePartitionedURLSchemes]]);
EXPECT_TRUE([[configuration alwaysRevalidatedURLSchemes] isEqual:[copy alwaysRevalidatedURLSchemes]]);
- EXPECT_EQ([configuration shouldCaptureAudioInUIProcess], [copy shouldCaptureAudioInUIProcess]);
#if PLATFORM(IOS_FAMILY)
EXPECT_EQ([configuration alwaysRunsAtBackgroundPriority], [copy alwaysRunsAtBackgroundPriority]);
EXPECT_EQ([configuration shouldTakeUIBackgroundAssertion], [copy shouldTakeUIBackgroundAssertion]);