Title: [225863] trunk/Source
Revision
225863
Author
pvol...@apple.com
Date
2017-12-13 12:19:08 -0800 (Wed, 13 Dec 2017)

Log Message

REGRESSION(225597): Can't select a text box or web view on a page when VO is on.
https://bugs.webkit.org/show_bug.cgi?id=180756
<rdar://problem/35996158>

Reviewed by Brent Fulgham.

Source/WebCore:

No new tests.

* platform/mac/EventLoopMac.mm:
(WebCore::EventLoop::cycle):

Source/WebKit:

* Platform/IPC/mac/ConnectionMac.mm:
(IPC::AccessibilityProcessSuspendedNotification):
* UIProcess/Launcher/mac/ProcessLauncherMac.mm:
(WebKit::shouldLeakBoost):
* WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeProcess):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (225862 => 225863)


--- trunk/Source/WebCore/ChangeLog	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebCore/ChangeLog	2017-12-13 20:19:08 UTC (rev 225863)
@@ -1,3 +1,16 @@
+2017-12-13  Per Arne Vollan  <pvol...@apple.com>
+
+        REGRESSION(225597): Can't select a text box or web view on a page when VO is on.
+        https://bugs.webkit.org/show_bug.cgi?id=180756
+        <rdar://problem/35996158>
+
+        Reviewed by Brent Fulgham.
+
+        No new tests.
+
+        * platform/mac/EventLoopMac.mm:
+        (WebCore::EventLoop::cycle):
+
 2017-12-13  Antoine Quint  <grao...@apple.com>
 
         [Web Animations] Implement the "updating the finished state" procedure

Modified: trunk/Source/WebCore/platform/mac/EventLoopMac.mm (225862 => 225863)


--- trunk/Source/WebCore/platform/mac/EventLoopMac.mm	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebCore/platform/mac/EventLoopMac.mm	2017-12-13 20:19:08 UTC (rev 225863)
@@ -30,10 +30,12 @@
 
 void EventLoop::cycle()
 {
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
     if (![NSApp isRunning]) {
         [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.05]];
         return;
     }
+#endif
     [NSApp setWindowsNeedUpdate:YES];
     if (NSEvent *event = [NSApp nextEventMatchingMask:NSEventMaskAny untilDate:[NSDate dateWithTimeIntervalSinceNow:0.05] inMode:NSDefaultRunLoopMode dequeue:YES])
         [NSApp sendEvent:event];

Modified: trunk/Source/WebKit/ChangeLog (225862 => 225863)


--- trunk/Source/WebKit/ChangeLog	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebKit/ChangeLog	2017-12-13 20:19:08 UTC (rev 225863)
@@ -1,3 +1,19 @@
+2017-12-13  Per Arne Vollan  <pvol...@apple.com>
+
+        REGRESSION(225597): Can't select a text box or web view on a page when VO is on.
+        https://bugs.webkit.org/show_bug.cgi?id=180756
+        <rdar://problem/35996158>
+
+        Reviewed by Brent Fulgham.
+
+        * Platform/IPC/mac/ConnectionMac.mm:
+        (IPC::AccessibilityProcessSuspendedNotification):
+        * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+        (WebKit::shouldLeakBoost):
+        * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeProcess):
+
 2017-12-13  Brent Fulgham  <bfulg...@apple.com>
 
         [iOS] Further Trim WebContent Process sandbox

Modified: trunk/Source/WebKit/Platform/IPC/mac/ConnectionMac.mm (225862 => 225863)


--- trunk/Source/WebKit/Platform/IPC/mac/ConnectionMac.mm	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebKit/Platform/IPC/mac/ConnectionMac.mm	2017-12-13 20:19:08 UTC (rev 225863)
@@ -586,9 +586,11 @@
 static void AccessibilityProcessSuspendedNotification(bool suspended)
 {
 #if PLATFORM(MAC)
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
     // Calling _AXUIElementNotifyProcessSuspendStatus will crash if the NSApplication event loop is not running.
     if (![NSApp isRunning])
         return;
+#endif
     _AXUIElementNotifyProcessSuspendStatus(suspended ? AXSuspendStatusSuspended : AXSuspendStatusRunning);
 #elif PLATFORM(IOS)
     UIAccessibilityPostNotification(kAXPidStatusChangedNotification, @{ @"pid" : @(getpid()), @"suspended" : @(suspended) });

Modified: trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm (225862 => 225863)


--- trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebKit/UIProcess/Launcher/mac/ProcessLauncherMac.mm	2017-12-13 20:19:08 UTC (rev 225863)
@@ -76,9 +76,13 @@
     UNUSED_PARAM(launchOptions);
     return true;
 #else
+#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+    // Boost the WebContent process if the NSApplication run loop is not used.
+    if (launchOptions.processType == ProcessLauncher::ProcessType::Web)
+        return true;
+#endif
     // On Mac, leak a boost onto the NetworkProcess.
-    return launchOptions.processType == ProcessLauncher::ProcessType::Network
-        || launchOptions.processType == ProcessLauncher::ProcessType::Web;
+    return launchOptions.processType == ProcessLauncher::ProcessType::Network;
 #endif
 }
 

Modified: trunk/Source/WebKit/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist (225862 => 225863)


--- trunk/Source/WebKit/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebKit/WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist	2017-12-13 20:19:08 UTC (rev 225863)
@@ -45,7 +45,7 @@
 		<key>ServiceType</key>
 		<string>Application</string>
 		<key>RunLoopType</key>
-		<string>NSRunLoop</string>
+		<string>_NSApplicationMain</string>
 		<key>_MultipleInstances</key>
 		<true/>
 		<key>_HighBitsASLR</key>

Modified: trunk/Source/WebKit/WebProcess/WebProcess.cpp (225862 => 225863)


--- trunk/Source/WebKit/WebProcess/WebProcess.cpp	2017-12-13 20:01:48 UTC (rev 225862)
+++ trunk/Source/WebKit/WebProcess/WebProcess.cpp	2017-12-13 20:19:08 UTC (rev 225863)
@@ -216,7 +216,7 @@
 
 void WebProcess::initializeProcess(const ChildProcessInitializationParameters& parameters)
 {
-#if PLATFORM(COCOA) && !PLATFORM(IOS)
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
     // This call is needed when the WebProcess is not running the NSApplication event loop.
     // Otherwise, calling enableSandboxStyleFileQuarantine() will fail.
     launchServicesCheckIn();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to