Title: [289147] trunk/Source/WebKit
Revision
289147
Author
pvol...@apple.com
Date
2022-02-04 19:30:56 -0800 (Fri, 04 Feb 2022)

Log Message

[AX] Stop creating sandbox extensions for preference services
https://bugs.webkit.org/show_bug.cgi?id=232956
<rdar://problem/85260698>

Reviewed by Geoffrey Garen.

Stop creating sandbox extensions for preference services when AX is enabled. There have been many code changes
related to updating AX preferences in the WebContent process, which is why we think this is not needed anymore.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
* WebProcess/com.apple.WebProcess.sb.in:

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (289146 => 289147)


--- trunk/Source/WebKit/ChangeLog	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/ChangeLog	2022-02-05 03:30:56 UTC (rev 289147)
@@ -1,3 +1,26 @@
+2022-02-04  Per Arne  <pvol...@apple.com>
+
+        [AX] Stop creating sandbox extensions for preference services
+        https://bugs.webkit.org/show_bug.cgi?id=232956
+        <rdar://problem/85260698>
+
+        Reviewed by Geoffrey Garen.
+
+        Stop creating sandbox extensions for preference services when AX is enabled. There have been many code changes
+        related to updating AX preferences in the WebContent process, which is why we think this is not needed anymore.
+
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode const):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        (WebKit::WebProcessPool::registerNotificationObservers):
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+        * WebProcess/com.apple.WebProcess.sb.in:
+
 2022-02-02  Simon Fraser  <simon.fra...@apple.com>
 
         Lay the groundwork for markLayersVolatileImmediatelyIfPossible() being an asynchronous operation

Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (289146 => 289147)


--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2022-02-05 03:30:56 UTC (rev 289147)
@@ -1085,8 +1085,6 @@
     (require-all
         (extension "com.apple.webkit.extension.mach")
         (global-name
-            "com.apple.cfprefsd.agent"
-            "com.apple.cfprefsd.daemon"
             "com.apple.frontboard.systemappservices"
             "com.apple.iphone.axserver-systemwide"
             "com.apple.mobileassetd.v2"

Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp (289146 => 289147)


--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp	2022-02-05 03:30:56 UTC (rev 289147)
@@ -190,12 +190,6 @@
     encoder << contentSizeCategory;
 #endif
 
-#if PLATFORM(COCOA)
-#if ENABLE(CFPREFS_DIRECT_MODE)
-    encoder << preferencesExtensionHandles;
-#endif
-#endif
-
 #if PLATFORM(GTK)
     encoder << useSystemAppearanceForScrollbars;
     encoder << gtkSettings;
@@ -536,16 +530,6 @@
         return false;
 #endif
 
-#if PLATFORM(COCOA)
-#if ENABLE(CFPREFS_DIRECT_MODE)
-    std::optional<std::optional<Vector<SandboxExtension::Handle>>> preferencesExtensionHandles;
-    decoder >> preferencesExtensionHandles;
-    if (!preferencesExtensionHandles)
-        return false;
-    parameters.preferencesExtensionHandles = WTFMove(*preferencesExtensionHandles);
-#endif
-#endif
-
 #if PLATFORM(GTK)
     std::optional<bool> useSystemAppearanceForScrollbars;
     decoder >> useSystemAppearanceForScrollbars;

Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.h (289146 => 289147)


--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.h	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.h	2022-02-05 03:30:56 UTC (rev 289147)
@@ -232,12 +232,6 @@
     String contentSizeCategory;
 #endif
 
-#if PLATFORM(COCOA)
-#if ENABLE(CFPREFS_DIRECT_MODE)
-    std::optional<Vector<SandboxExtension::Handle>> preferencesExtensionHandles;
-#endif
-#endif
-
 #if PLATFORM(GTK)
     bool useSystemAppearanceForScrollbars { false };
     GtkSettingsState gtkSettings;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (289146 => 289147)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2022-02-05 03:30:56 UTC (rev 289147)
@@ -421,11 +421,6 @@
     parameters.contentSizeCategory = RenderThemeCocoa::singleton().contentSizeCategory();
 #endif
 
-#if ENABLE(CFPREFS_DIRECT_MODE) && PLATFORM(IOS_FAMILY)
-    if (_AXSApplicationAccessibilityEnabled())
-        parameters.preferencesExtensionHandles = SandboxExtension::createHandlesForMachLookup({ "com.apple.cfprefsd.agent"_s, "com.apple.cfprefsd.daemon"_s }, std::nullopt);
-#endif
-
 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
     if (!_MGCacheValid()) {
         if (auto handle = SandboxExtension::createHandleForMachLookup("com.apple.mobilegestalt.xpc"_s, std::nullopt))
@@ -664,12 +659,6 @@
     // Listen for enhanced accessibility changes and propagate them to the WebProcess.
     m_enhancedAccessibilityObserver = [[NSNotificationCenter defaultCenter] addObserverForName:WebKitApplicationDidChangeAccessibilityEnhancedUserInterfaceNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *note) {
         setEnhancedAccessibility([[[note userInfo] objectForKey:@"AXEnhancedUserInterface"] boolValue]);
-#if ENABLE(CFPREFS_DIRECT_MODE)
-        if (![[NSApp accessibilityEnhancedUserInterfaceAttribute] boolValue])
-            return;
-        for (auto& process : m_processes)
-            process->unblockPreferenceServiceIfNeeded();
-#endif
     }];
 
     m_automaticTextReplacementNotificationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:NSSpellCheckerDidChangeAutomaticTextReplacementNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) {
@@ -726,12 +715,8 @@
     m_accessibilityEnabledObserver = [[NSNotificationCenter defaultCenter] addObserverForName:(__bridge id)kAXSApplicationAccessibilityEnabledNotification object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *) {
         if (!_AXSApplicationAccessibilityEnabled())
             return;
-        for (auto& process : m_processes) {
-#if ENABLE(CFPREFS_DIRECT_MODE)
-            process->unblockPreferenceServiceIfNeeded();
-#endif
+        for (auto& process : m_processes)
             process->unblockAccessibilityServerIfNeeded();
-        }
     }];
 #if ENABLE(CFPREFS_DIRECT_MODE)
     m_activationObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"UIApplicationDidBecomeActiveNotification" object:nil queue:[NSOperationQueue currentQueue] usingBlock:^(NSNotification *notification) {

Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (289146 => 289147)


--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2022-02-05 03:30:56 UTC (rev 289147)
@@ -439,13 +439,6 @@
     RenderThemeIOS::setFocusRingColor(parameters.focusRingColor);
 #endif
 
-#if ENABLE(CFPREFS_DIRECT_MODE)
-    if (parameters.preferencesExtensionHandles) {
-        SandboxExtension::consumePermanently(*parameters.preferencesExtensionHandles);
-        _CFPrefsSetDirectModeEnabled(false);
-    }
-#endif
-        
     WebCore::sleepDisablerClient() = makeUnique<WebSleepDisablerClient>();
 
 #if HAVE(FIG_PHOTO_DECOMPRESSION_SET_HARDWARE_CUTOFF) && !ENABLE(HARDWARE_JPEG)

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


--- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2022-02-05 02:54:56 UTC (rev 289146)
+++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2022-02-05 03:30:56 UTC (rev 289147)
@@ -1766,8 +1766,6 @@
             "com.apple.nehelper"
             "com.apple.nesessionmanager.content-filter"
             "com.apple.webinspector"
-            "com.apple.cfprefsd.agent"
-            "com.apple.cfprefsd.daemon"
             "com.apple.coreservices.launchservicesd"
             "com.apple.iconservices"
             "com.apple.iconservices.store"
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to