Title: [258557] trunk/Source
Revision
258557
Author
pvol...@apple.com
Date
2020-03-17 09:59:32 -0700 (Tue, 17 Mar 2020)

Log Message

[Cocoa] Disable CF prefs direct mode
https://bugs.webkit.org/show_bug.cgi?id=209166
<rdar://problem/60517387>

Reviewed by Brent Fulgham.

Revert <https://trac.webkit.org/changeset/258064> by disabling the CF prefs direct mode feature,
since it caused performance regressions.

Source/WebKit:

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
* UIProcess/Cocoa/PreferenceObserver.mm:
* UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToPreferenceService):
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
* UIProcess/Cocoa/WebProcessProxyCocoa.mm:
* UIProcess/WebProcessPool.h:
* UIProcess/WebProcessProxy.h:
* WebProcess/WebProcess.h:
* WebProcess/WebProcess.messages.in:

Source/WTF:

* wtf/PlatformEnable.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (258556 => 258557)


--- trunk/Source/WTF/ChangeLog	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WTF/ChangeLog	2020-03-17 16:59:32 UTC (rev 258557)
@@ -1,3 +1,16 @@
+2020-03-17  Per Arne Vollan  <pvol...@apple.com>
+
+        [Cocoa] Disable CF prefs direct mode
+        https://bugs.webkit.org/show_bug.cgi?id=209166
+        <rdar://problem/60517387>
+
+        Reviewed by Brent Fulgham.
+
+        Revert <https://trac.webkit.org/changeset/258064> by disabling the CF prefs direct mode feature,
+        since it caused performance regressions.
+
+        * wtf/PlatformEnable.h:
+
 2020-03-17  Philippe Normand  <pnorm...@igalia.com>
 
         RELEASE_LOG should not be Cocoa specific

Modified: trunk/Source/WTF/wtf/PlatformEnable.h (258556 => 258557)


--- trunk/Source/WTF/wtf/PlatformEnable.h	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WTF/wtf/PlatformEnable.h	2020-03-17 16:59:32 UTC (rev 258557)
@@ -871,4 +871,4 @@
 #error "ENABLE(WEBGL2) requires ENABLE(WEBGL)"
 #endif
 
-#define ENABLE_CFPREFS_DIRECT_MODE 1
+#define ENABLE_CFPREFS_DIRECT_MODE 0

Modified: trunk/Source/WebKit/ChangeLog (258556 => 258557)


--- trunk/Source/WebKit/ChangeLog	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/ChangeLog	2020-03-17 16:59:32 UTC (rev 258557)
@@ -1,3 +1,27 @@
+2020-03-17  Per Arne Vollan  <pvol...@apple.com>
+
+        [Cocoa] Disable CF prefs direct mode
+        https://bugs.webkit.org/show_bug.cgi?id=209166
+        <rdar://problem/60517387>
+
+        Reviewed by Brent Fulgham.
+
+        Revert <https://trac.webkit.org/changeset/258064> by disabling the CF prefs direct mode feature,
+        since it caused performance regressions.
+
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+        * Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
+        (WebKit::XPCServiceMain):
+        * UIProcess/Cocoa/PreferenceObserver.mm:
+        * UIProcess/Cocoa/WebPageProxyCocoa.mm:
+        (WebKit::WebPageProxy::grantAccessToPreferenceService):
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        * UIProcess/Cocoa/WebProcessProxyCocoa.mm:
+        * UIProcess/WebProcessPool.h:
+        * UIProcess/WebProcessProxy.h:
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+
 2020-03-17  Commit Queue  <commit-qu...@webkit.org>
 
         Unreviewed, reverting r258339.

Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (258556 => 258557)


--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2020-03-17 16:59:32 UTC (rev 258557)
@@ -536,6 +536,7 @@
 (allow mach-lookup
     (global-name "com.apple.logd")
     (global-name "com.apple.logd.events")
+    (global-name "com.apple.cfprefsd.daemon")
 )
 
 (deny mach-lookup (with telemetry)

Modified: trunk/Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm (258556 => 258557)


--- trunk/Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm	2020-03-17 16:59:32 UTC (rev 258557)
@@ -114,6 +114,9 @@
         // Enable CFPrefs direct mode to avoid unsuccessfully attempting to connect to the daemon and getting blocked by the sandbox.
         _CFPrefsSetDirectModeEnabled(YES);
     }
+#else
+    UNUSED_PARAM(argc);
+    UNUSED_PARAM(argv);
 #endif
 
     auto bootstrap = adoptOSObject(xpc_copy_bootstrap());

Modified: trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/Cocoa/PreferenceObserver.mm	2020-03-17 16:59:32 UTC (rev 258557)
@@ -220,10 +220,12 @@
 
 - (void)preferenceDidChange:(NSString *)domain key:(NSString *)key encodedValue:(NSString *)encodedValue
 {
+#if ENABLE(CFPREFS_DIRECT_MODE)
     Optional<String> encodedString;
     if (encodedValue)
         encodedString = String(encodedValue);
     for (auto* processPool : WebKit::WebProcessPool::allProcessPools())
         processPool->notifyPreferencesChanged(domain, key, encodedString);
+#endif
 }
 @end

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm	2020-03-17 16:59:32 UTC (rev 258557)
@@ -352,7 +352,9 @@
 
 void WebPageProxy::grantAccessToPreferenceService()
 {
+#if ENABLE(CFPREFS_DIRECT_MODE)
     process().unblockPreferenceServiceIfNeeded();
+#endif
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2020-03-17 16:59:32 UTC (rev 258557)
@@ -851,10 +851,12 @@
     return m_classesForParameterCoder.get();
 }
 
+#if ENABLE(CFPREFS_DIRECT_MODE)
 void WebProcessPool::notifyPreferencesChanged(const String& domain, const String& key, const Optional<String>& encodedValue)
 {
     for (auto process : m_processes)
         process->send(Messages::WebProcess::NotifyPreferencesChanged(domain, key, encodedValue), 0);
 }
+#endif
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm	2020-03-17 16:59:32 UTC (rev 258557)
@@ -229,6 +229,7 @@
     m_hasSentMessageToUnblockAccessibilityServer = true;
 }
 
+#if ENABLE(CFPREFS_DIRECT_MODE)
 void WebProcessProxy::unblockPreferenceServiceIfNeeded()
 {
     if (m_hasSentMessageToUnblockPreferenceService)
@@ -245,5 +246,6 @@
     send(Messages::WebProcess::UnblockPreferenceService(handle), 0);
     m_hasSentMessageToUnblockPreferenceService = true;
 }
+#endif
 
 }

Modified: trunk/Source/WebKit/UIProcess/WebProcessPool.h (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/WebProcessPool.h	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/WebProcessPool.h	2020-03-17 16:59:32 UTC (rev 258557)
@@ -541,7 +541,7 @@
     void setUseSeparateServiceWorkerProcess(bool);
     bool useSeparateServiceWorkerProcess() const { return m_useSeparateServiceWorkerProcess; }
 
-#if PLATFORM(COCOA)
+#if ENABLE(CFPREFS_DIRECT_MODE)
     void notifyPreferencesChanged(const String& domain, const String& key, const Optional<String>& encodedValue);
 #endif
 

Modified: trunk/Source/WebKit/UIProcess/WebProcessProxy.h (258556 => 258557)


--- trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/UIProcess/WebProcessProxy.h	2020-03-17 16:59:32 UTC (rev 258557)
@@ -338,8 +338,10 @@
     
 #if PLATFORM(COCOA)
     void unblockAccessibilityServerIfNeeded();
+#if ENABLE(CFPREFS_DIRECT_MODE)
     void unblockPreferenceServiceIfNeeded();
 #endif
+#endif
 
     void webPageMediaStateDidChange(WebPageProxy&);
 

Modified: trunk/Source/WebKit/WebProcess/WebProcess.h (258556 => 258557)


--- trunk/Source/WebKit/WebProcess/WebProcess.h	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/WebProcess/WebProcess.h	2020-03-17 16:59:32 UTC (rev 258557)
@@ -302,10 +302,12 @@
 #if ENABLE(REMOTE_INSPECTOR)
     void enableRemoteWebInspector(const SandboxExtension::Handle&);
 #endif
+    void unblockAccessibilityServer(const SandboxExtension::Handle&);
+#if ENABLE(CFPREFS_DIRECT_MODE)
     void notifyPreferencesChanged(const String& domain, const String& key, const Optional<String>& encodedValue);
-    void unblockAccessibilityServer(const SandboxExtension::Handle&);
     void unblockPreferenceService(const SandboxExtension::Handle&);
 #endif
+#endif
 
     bool areAllPagesThrottleable() const;
 

Modified: trunk/Source/WebKit/WebProcess/WebProcess.messages.in (258556 => 258557)


--- trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/WebProcess/WebProcess.messages.in	2020-03-17 16:59:32 UTC (rev 258557)
@@ -167,8 +167,10 @@
 #endif
 
 #if PLATFORM(COCOA)
+    UnblockAccessibilityServer(WebKit::SandboxExtension::Handle handle)
+#if ENABLE(CFPREFS_DIRECT_MODE)
     NotifyPreferencesChanged(String domain, String key, Optional<String> encodedValue)
-    UnblockAccessibilityServer(WebKit::SandboxExtension::Handle handle)
     UnblockPreferenceService(WebKit::SandboxExtension::Handle handle)
 #endif
+#endif
 }

Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (258556 => 258557)


--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2020-03-17 16:50:50 UTC (rev 258556)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2020-03-17 16:59:32 UTC (rev 258557)
@@ -678,9 +678,7 @@
     (with report) (with telemetry)
 #endif
     (global-name "com.apple.PowerManagement.control")
-#if !ENABLE(CFPREFS_DIRECT_MODE)
     (global-name "com.apple.cfprefsd.daemon")
-#endif
     (global-name "com.apple.coreservices.launchservicesd")
     (global-name "com.apple.lsd.mapdb")
     (global-name "com.apple.trustd.agent")
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to