Title: [264892] trunk
Revision
264892
Author
[email protected]
Date
2020-07-25 17:39:45 -0700 (Sat, 25 Jul 2020)

Log Message

REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688
<rdar://problem/65993683>

Reviewed by Tim Horton.

Source/WebCore/PAL:

* pal/spi/ios/GraphicsServicesSPI.h:

Source/WebKit:

Add an SPI declaration on UIApplication.

* Platform/spi/ios/UIKitSPI.h:

Tools:

Continue to add logging in an attempt to debug this flaky test.

* WebKitTestRunner/ios/mainIOS.mm:
(-[WebKitTestRunnerApp handleKeyHIDEvent:]):
(-[WebKitTestRunnerApp _handleHIDEvent:]): Drive-by fix: add a missing call to the superclass method.

WebKitLibraries:

Declare the symbol for `GSKeyboardGetLiveModifierState()`, for non-internal builds.

* WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
* WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:

Modified Paths

Diff

Modified: trunk/Source/WebCore/PAL/ChangeLog (264891 => 264892)


--- trunk/Source/WebCore/PAL/ChangeLog	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Source/WebCore/PAL/ChangeLog	2020-07-26 00:39:45 UTC (rev 264892)
@@ -1,3 +1,13 @@
+2020-07-25  Wenson Hsieh  <[email protected]>
+
+        REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=214688
+        <rdar://problem/65993683>
+
+        Reviewed by Tim Horton.
+
+        * pal/spi/ios/GraphicsServicesSPI.h:
+
 2020-07-24  Brady Eidson  <[email protected]>
 
         Declare two more things to fix the build after r264874

Modified: trunk/Source/WebCore/PAL/pal/spi/ios/GraphicsServicesSPI.h (264891 => 264892)


--- trunk/Source/WebCore/PAL/pal/spi/ios/GraphicsServicesSPI.h	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Source/WebCore/PAL/pal/spi/ios/GraphicsServicesSPI.h	2020-07-26 00:39:45 UTC (rev 264892)
@@ -45,6 +45,7 @@
 
 typedef struct __GSKeyboard* GSKeyboardRef;
 uint32_t GSKeyboardGetModifierState(GSKeyboardRef);
+uint32_t GSKeyboardGetLiveModifierState(GSKeyboardRef);
 Boolean GSEventIsHardwareKeyboardAttached();
 void GSEventSetHardwareKeyboardAttached(Boolean attached, uint8_t country);
 

Modified: trunk/Source/WebKit/ChangeLog (264891 => 264892)


--- trunk/Source/WebKit/ChangeLog	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Source/WebKit/ChangeLog	2020-07-26 00:39:45 UTC (rev 264892)
@@ -1,3 +1,15 @@
+2020-07-25  Wenson Hsieh  <[email protected]>
+
+        REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=214688
+        <rdar://problem/65993683>
+
+        Reviewed by Tim Horton.
+
+        Add an SPI declaration on UIApplication.
+
+        * Platform/spi/ios/UIKitSPI.h:
+
 2020-07-24  Wenson Hsieh  <[email protected]>
 
         REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure

Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (264891 => 264892)


--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2020-07-26 00:39:45 UTC (rev 264892)
@@ -194,6 +194,7 @@
 - (BOOL)isSuspendedUnderLock;
 - (void)_enqueueHIDEvent:(IOHIDEventRef)event;
 - (void)_handleHIDEvent:(IOHIDEventRef)event;
+- (void)handleKeyHIDEvent:(IOHIDEventRef)event;
 - (void)handleKeyUIEvent:(UIEvent *)event;
 - (BOOL)_appAdoptsUISceneLifecycle;
 @end
@@ -1376,6 +1377,10 @@
 @property (nonatomic, setter=_setBacklightLevel:) float _backlightLevel;
 @end
 
+@interface UIApplication (IPI)
+- (GSKeyboardRef)_hardwareKeyboard:(BOOL)createIfNeeded;
+@end
+
 WTF_EXTERN_C_BEGIN
 
 BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts(void);

Modified: trunk/Tools/ChangeLog (264891 => 264892)


--- trunk/Tools/ChangeLog	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Tools/ChangeLog	2020-07-26 00:39:45 UTC (rev 264892)
@@ -6,6 +6,20 @@
 
         Reviewed by Tim Horton.
 
+        Continue to add logging in an attempt to debug this flaky test.
+
+        * WebKitTestRunner/ios/mainIOS.mm:
+        (-[WebKitTestRunnerApp handleKeyHIDEvent:]):
+        (-[WebKitTestRunnerApp _handleHIDEvent:]): Drive-by fix: add a missing call to the superclass method.
+
+2020-07-25  Wenson Hsieh  <[email protected]>
+
+        REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=214688
+        <rdar://problem/65993683>
+
+        Reviewed by Tim Horton.
+
         Attempt a second speculative fix that waits for the keydown HID event to be dequeued and handled by
         `UIApplication` when simulating a shift-tap, to guarantee that the synthetic click gesture recognizer has
         up-to-date modifier flags upon dispatching the synthetic HID events on tap.

Modified: trunk/Tools/WebKitTestRunner/ios/mainIOS.mm (264891 => 264892)


--- trunk/Tools/WebKitTestRunner/ios/mainIOS.mm	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/Tools/WebKitTestRunner/ios/mainIOS.mm	2020-07-26 00:39:45 UTC (rev 264892)
@@ -28,6 +28,7 @@
 #import "HIDEventGenerator.h"
 #import "TestController.h"
 #import "UIKitSPI.h"
+#import <pal/spi/ios/GraphicsServicesSPI.h>
 
 static int _argc;
 static const char **_argv;
@@ -54,8 +55,23 @@
     RELEASE_ASSERT_NOT_REACHED();
 }
 
+- (void)handleKeyHIDEvent:(IOHIDEventRef)event
+{
+    {
+        auto keyboard = [self _hardwareKeyboard:NO];
+        WTFLogAlways("(Before): keyboard %p has modifier state: 0x%02x", keyboard, GSKeyboardGetLiveModifierState(keyboard));
+    }
+    [super handleKeyHIDEvent:event];
+    {
+        auto keyboard = [self _hardwareKeyboard:NO];
+        WTFLogAlways("(After): keyboard %p has modifier state: 0x%02x", keyboard, GSKeyboardGetLiveModifierState(keyboard));
+    }
+}
+
 - (void)_handleHIDEvent:(IOHIDEventRef)event
 {
+    [super _handleHIDEvent:event];
+
     [[HIDEventGenerator sharedHIDEventGenerator] markerEventReceived:event];
 }
 

Modified: trunk/WebKitLibraries/ChangeLog (264891 => 264892)


--- trunk/WebKitLibraries/ChangeLog	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/ChangeLog	2020-07-26 00:39:45 UTC (rev 264892)
@@ -1,3 +1,20 @@
+2020-07-25  Wenson Hsieh  <[email protected]>
+
+        REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=214688
+        <rdar://problem/65993683>
+
+        Reviewed by Tim Horton.
+
+        Declare the symbol for `GSKeyboardGetLiveModifierState()`, for non-internal builds.
+
+        * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd:
+        * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd:
+        * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd:
+        * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd:
+        * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd:
+        * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd:
+
 2020-07-23  Brady Eidson  <[email protected]>
 
         Add Gamepad tests that exercise the native frameworks

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ x86_64, arm64 ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ x86_64, arm64 ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ x86_64, arm64, arm64e ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ x86_64, arm64, arm64e ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ i386, x86_64, arm64, arm64e, arm64_32, armv7k ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...

Modified: trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd (264891 => 264892)


--- trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd	2020-07-25 22:33:12 UTC (rev 264891)
+++ trunk/WebKitLibraries/WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd	2020-07-26 00:39:45 UTC (rev 264892)
@@ -8,5 +8,5 @@
     archs:           [ i386, x86_64, arm64, arm64e, arm64_32, armv7k ]
     symbols:         [ _GSCurrentEventTimestamp, _GSEventIsHardwareKeyboardAttached, _GSEventSetHardwareKeyboardAttached,
                        _GSFontInitialize, _GSFontPurgeFontCache, _GSInitialize, _GSKeyboardGetModifierState,
-                       _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
+                       _GSKeyboardGetLiveModifierState, _GSSystemRootDirectory, _kGSEventHardwareKeyboardAvailabilityChangedNotification ]
 ...
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to