Title: [240983] trunk

Diff

Modified: trunk/LayoutTests/ChangeLog (240982 => 240983)


--- trunk/LayoutTests/ChangeLog	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/LayoutTests/ChangeLog	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,3 +1,16 @@
+2019-02-05  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r240742.
+
+        Causes crashes on iOS simulator.
+
+        Reverted changeset:
+
+        "[iOS] Keyups for non-modifier keys identified as "Dead" when
+        not focused in a content-editable element"
+        https://bugs.webkit.org/show_bug.cgi?id=192824
+        https://trac.webkit.org/changeset/240742
+
 2019-02-04  Jonathan Bedard  <[email protected]>
 
         [iPad] Initial test gardening (Part 1)

Modified: trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt (240982 => 240983)


--- trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,7 +1,5 @@
-This tests that DOM keydown and keyup events are dispatched to a non-editable <body> on iOS when pressing special keys on a hardware keyboard. To run this test manually, verify that two messages are emitted when you press the following keys: Tab, ↑, ↓, ←, →, Delete, End, Enter, Escape, Home, left Alt, left ⌘ Command, left Ctrl, left ⇧ Shift, Page Down, Page Up, Return, right Alt, right ⌘ Command, right Ctrl, right ⇧ Shift, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16.
+This tests that DOM keydown and keyup events are dispatched to a non-editable <body> on iOS when pressing special keys on a hardware keyboard. To run this test manually, verify that two messages are emitted when you press the following keys: ↑, ↓, ←, →, Delete, End, Enter, Escape, Home, Insert, left Alt, left ⌘ Command, left Ctrl, left ⇧ Shift, Page Down, Page Up, Return, right Alt, right ⌘ Command, right Ctrl, right ⇧ Shift, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24.
 
-type: keydown, key: Tab, code: Tab, keyIdentifier: U+0009, keyCode: 9, charCode: 0, keyCode: 9, which: 9
-type: keyup, key: Dead, code: Tab, keyIdentifier: Unidentified, keyCode: 9, charCode: 0, keyCode: 9, which: 9
 type: keydown, key: ArrowUp, code: ArrowUp, keyIdentifier: Up, keyCode: 38, charCode: 0, keyCode: 38, which: 38
 type: keyup, key: ArrowUp, code: ArrowUp, keyIdentifier: Up, keyCode: 38, charCode: 0, keyCode: 38, which: 38
 type: keydown, key: ArrowDown, code: ArrowDown, keyIdentifier: Down, keyCode: 40, charCode: 0, keyCode: 40, which: 40

Modified: trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element.html (240982 => 240983)


--- trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element.html	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/LayoutTests/fast/events/ios/keydown-keyup-special-keys-in-non-editable-element.html	2019-02-05 18:39:36 UTC (rev 240983)
@@ -12,12 +12,11 @@
 </script>
 </head>
 <body _onkeydown_="handleKeyDown(event)" _onkeyup_="handleKeyUp(event)">
-<p>This tests that DOM keydown and keyup events are dispatched to a non-editable &lt;body&gt; on iOS when pressing special keys on a hardware keyboard. To run this test manually, verify that two messages are emitted when you press the following keys: <kbd>Tab</kbd>, <kbd>↑</kbd>, <kbd>↓</kbd>, <kbd>←</kbd>, <kbd>→</kbd>, <kbd>Delete</kbd>, <kbd>End</kbd>, <kbd>Enter</kbd>, <kbd>Escape</kbd>, <kbd>Home</kbd><!-- FIXME: Add <kbd>Insert</kbd> once <rdar://problem/47128940> is fixed. -->, left <kbd>Alt</kbd>, left <kbd>⌘ Command</kbd>, left <kbd>Ctrl</kbd>, left <kbd>⇧ Shift</kbd>, <kbd>Page Down</kbd>, <kbd>Page Up</kbd>, <kbd>Return</kbd>, right <kbd>Alt</kbd>, right <kbd>⌘ Command</kbd>, right <
 ;kbd>Ctrl</kbd>, right <kbd>⇧ Shift</kbd>, <kbd>F1</kbd>, <kbd>F2</kbd>, <kbd>F3</kbd>, <kbd>F4</kbd>, <kbd>F5</kbd>, <kbd>F6</kbd>, <kbd>F7</kbd>, <kbd>F8</kbd>, <kbd>F9</kbd>, <kbd>F10</kbd>, <kbd>F11</kbd>, <kbd>F12</kbd>, <kbd>F13</kbd>, <kbd>F14</kbd>, <kbd>F15</kbd>, <kbd>F16</kbd><!-- FIXME: Add <kbd>F17</kbd>, <kbd>F18</kbd>, <kbd>F19</kbd>, <kbd>F20</kbd>, <kbd>F21</kbd>, <kbd>F22</kbd>, <kbd>F23</kbd>, <kbd>F24</kbd> once <rdar://problem/47128940> is fixed.-->.
+<p>This tests that DOM keydown and keyup events are dispatched to a non-editable &lt;body&gt; on iOS when pressing special keys on a hardware keyboard. To run this test manually, verify that two messages are emitted when you press the following keys: <kbd>↑</kbd>, <kbd>↓</kbd>, <kbd>←</kbd>, <kbd>→</kbd>, <kbd>Delete</kbd>, <kbd>End</kbd>, <kbd>Enter</kbd>, <kbd>Escape</kbd>, <kbd>Home</kbd>, <kbd>Insert</kbd>, left <kbd>Alt</kbd>, left <kbd>⌘ Command</kbd>, left <kbd>Ctrl</kbd>, left <kbd>⇧ Shift</kbd>, <kbd>Page Down</kbd>, <kbd>Page Up</kbd>, <kbd>Return</kbd>, right <kbd>Alt</kbd>, right <kbd>⌘ Command</kbd>, right <kbd>Ctrl</kbd>, right <kbd>⇧ Shift</kbd>, <kbd>F1</kbd>, <kbd
 >F2</kbd>, <kbd>F3</kbd>, <kbd>F4</kbd>, <kbd>F5</kbd>, <kbd>F6</kbd>, <kbd>F7</kbd>, <kbd>F8</kbd>, <kbd>F9</kbd>, <kbd>F10</kbd>, <kbd>F11</kbd>, <kbd>F12</kbd>, <kbd>F13</kbd>, <kbd>F14</kbd>, <kbd>F15</kbd>, <kbd>F16</kbd>, <kbd>F17</kbd>, <kbd>F18</kbd>, <kbd>F19</kbd>, <kbd>F20</kbd>, <kbd>F21</kbd>, <kbd>F22</kbd>, <kbd>F23</kbd>, <kbd>F24</kbd>.
 </p>
 <pre id="console"></pre>
 <script>
 var remainingKeysToPress = [
-    "\t",
     "upArrow",
     "downArrow",
     "leftArrow",
@@ -27,7 +26,7 @@
     "enter",
     "escape",
     "home",
-    // FIXME: Add "insert" once <rdar://problem/47128940> is fixed.
+    "insert",
     "leftAlt",
     "leftCommand",
     "leftControl",
@@ -41,8 +40,7 @@
     "rightShift",
 ];
 
-// FIXME: Check function keys up to F24 once <rdar://problem/47128940> is fixed.
-for (let i = 1; i <= 16; ++i)
+for (let i = 1; i <= 24; ++i)
     remainingKeysToPress.push("F" + i);
 
 async function nextKeyPress()

Modified: trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element-expected.txt (240982 => 240983)


--- trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element-expected.txt	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element-expected.txt	2019-02-05 18:39:36 UTC (rev 240983)
@@ -54,7 +54,7 @@
 PASS enter did dispatch a keypress event.
 PASS escape did dispatch a keypress event.
 PASS return did dispatch a keypress event.
-FAIL forwardDelete should not have dispatched a keypress event. It did dispatch one.
+PASS forwardDelete did dispatch a keypress event.
 PASS upArrow did not dispatch a keypress event.
 PASS downArrow did not dispatch a keypress event.
 PASS leftArrow did not dispatch a keypress event.
@@ -89,6 +89,14 @@
 PASS F14 did not dispatch a keypress event.
 PASS F15 did not dispatch a keypress event.
 PASS F16 did not dispatch a keypress event.
+PASS F17 did not dispatch a keypress event.
+PASS F18 did not dispatch a keypress event.
+PASS F19 did not dispatch a keypress event.
+PASS F20 did not dispatch a keypress event.
+PASS F21 did not dispatch a keypress event.
+PASS F22 did not dispatch a keypress event.
+PASS F23 did not dispatch a keypress event.
+PASS F24 did not dispatch a keypress event.
 PASS successfullyParsed is true
 
 TEST COMPLETE

Modified: trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element.html (240982 => 240983)


--- trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element.html	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/LayoutTests/fast/events/ios/keypress-keys-in-non-editable-element.html	2019-02-05 18:39:36 UTC (rev 240983)
@@ -41,8 +41,11 @@
 tests.push(new TestKeyPressDispatchedFor("escape"));
 tests.push(new TestKeyPressDispatchedFor("return"));
 
+// The forward delete key is mapped to the delete key on iOS and dispatches a keypress event.
+// On Mac it is treated as its own key and does not dispatch a keypress event.
+tests.push(new TestKeyPressDispatchedFor("forwardDelete"));
+
 // Special keys: KeyPress should not be dispatched.
-tests.push(new TestKeyPressNotDispatchedFor("forwardDelete"));
 tests.push(new TestKeyPressNotDispatchedFor("upArrow"));
 tests.push(new TestKeyPressNotDispatchedFor("downArrow"));
 tests.push(new TestKeyPressNotDispatchedFor("leftArrow"));
@@ -50,7 +53,7 @@
 tests.push(new TestKeyPressNotDispatchedFor("clear"));
 tests.push(new TestKeyPressNotDispatchedFor("end"));
 tests.push(new TestKeyPressNotDispatchedFor("home"));
-// FIXME: Test that keypress is not dispatched for "insert" once <rdar://problem/47128940> is fixed.
+tests.push(new TestKeyPressNotDispatchedFor("insert"));
 tests.push(new TestKeyPressNotDispatchedFor("leftAlt"));
 tests.push(new TestKeyPressNotDispatchedFor("leftCommand"));
 tests.push(new TestKeyPressNotDispatchedFor("leftControl"));
@@ -61,8 +64,7 @@
 tests.push(new TestKeyPressNotDispatchedFor("rightCommand"));
 tests.push(new TestKeyPressNotDispatchedFor("rightControl"));
 tests.push(new TestKeyPressNotDispatchedFor("rightShift"));
-// FIXME: Check function keys up to F24 once <rdar://problem/47128940> is fixed.
-for (let i = 1; i <= 16; ++i)
+for (let i = 1; i <= 24; ++i)
     tests.push(new TestKeyPressNotDispatchedFor("F" + i));
 
 function nextKeyPress()

Modified: trunk/Source/WebCore/ChangeLog (240982 => 240983)


--- trunk/Source/WebCore/ChangeLog	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebCore/ChangeLog	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,3 +1,16 @@
+2019-02-05  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r240742.
+
+        Causes crashes on iOS simulator.
+
+        Reverted changeset:
+
+        "[iOS] Keyups for non-modifier keys identified as "Dead" when
+        not focused in a content-editable element"
+        https://bugs.webkit.org/show_bug.cgi?id=192824
+        https://trac.webkit.org/changeset/240742
+
 2019-02-05  Zalan Bujtas  <[email protected]>
 
         [LFC][IFC] collectInlineContent should use pre-computed margins, paddings and borders

Modified: trunk/Source/WebCore/PAL/ChangeLog (240982 => 240983)


--- trunk/Source/WebCore/PAL/ChangeLog	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebCore/PAL/ChangeLog	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,3 +1,16 @@
+2019-02-05  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r240742.
+
+        Causes crashes on iOS simulator.
+
+        Reverted changeset:
+
+        "[iOS] Keyups for non-modifier keys identified as "Dead" when
+        not focused in a content-editable element"
+        https://bugs.webkit.org/show_bug.cgi?id=192824
+        https://trac.webkit.org/changeset/240742
+
 2018-12-16  Darin Adler  <[email protected]>
 
         Convert additional String::format clients to alternative approaches

Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h (240982 => 240983)


--- trunk/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h	2019-02-05 18:39:36 UTC (rev 240983)
@@ -185,7 +185,6 @@
     kHIDUsage_KeyboardSlash = 0x38,
     kHIDUsage_KeyboardCapsLock = 0x39,
     kHIDUsage_KeyboardF1 = 0x3A,
-    kHIDUsage_KeyboardF12 = 0x45,
     kHIDUsage_KeyboardPrintScreen = 0x46,
     kHIDUsage_KeyboardInsert = 0x49,
     kHIDUsage_KeyboardHome = 0x4A,
@@ -199,7 +198,6 @@
     kHIDUsage_KeyboardUpArrow = 0x52,
     kHIDUsage_KeypadNumLock = 0x53,
     kHIDUsage_KeyboardF13 = 0x68,
-    kHIDUsage_KeyboardF24 = 0x73,
     kHIDUsage_KeyboardMenu = 0x76,
     kHIDUsage_KeyboardLeftControl = 0xE0,
     kHIDUsage_KeyboardLeftShift = 0xE1,

Modified: trunk/Source/WebCore/platform/ios/KeyEventIOS.mm (240982 => 240983)


--- trunk/Source/WebCore/platform/ios/KeyEventIOS.mm	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebCore/platform/ios/KeyEventIOS.mm	2019-02-05 18:39:36 UTC (rev 240983)
@@ -197,9 +197,6 @@
     return 0; // Unknown key
 }
 
-// This function is only used to map software keyboard events because they lack a key code.
-// When !USE(UIKIT_KEYBOARD_ADDITIONS), this function is also used to map hardware keyboard
-// keyup events because they lack a key code.
 int windowsKeyCodeForCharCode(unichar charCode)
 {
     switch (charCode) {
@@ -206,6 +203,7 @@
     case 8: case 0x7F: return VK_BACK;
     case 9: return VK_TAB;
     case 0xD: case 3: return VK_RETURN;
+    case 0x1B: return VK_ESCAPE; // WebKit generated code for Escape.
     case ' ': return VK_SPACE;
 
     case '0': case ')': return VK_0;
@@ -245,9 +243,6 @@
     case 'y': case 'Y': return VK_Y;
     case 'z': case 'Z': return VK_Z;
 
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
-    case 0x1B: return VK_ESCAPE; // WebKit generated code for Escape.
-
     // WebKit uses Unicode PUA codes in the OpenStep reserve range for some special keys.
     case NSUpArrowFunctionKey: return VK_UP;
     case NSDownArrowFunctionKey: return VK_DOWN;
@@ -255,7 +250,6 @@
     case NSRightArrowFunctionKey: return VK_RIGHT;
     case NSPageUpFunctionKey: return VK_PRIOR;
     case NSPageDownFunctionKey: return VK_NEXT;
-#endif
 
     // This is for U.S. keyboard mapping, and doesn't necessarily make sense for different keyboard layouts.
     // For example, '"' on Windows Russian layout is VK_2, not VK_OEM_7.
@@ -277,13 +271,11 @@
 static bool isFunctionKey(UChar charCode)
 {
     switch (charCode) {
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
     case 1: // Home
     case 4: // End
     case 5: // FIXME: For some reason WebKitTestRunner generates this code for F14 (why?).
     case 0x7F: // Forward Delete
     case 0x10: // Function key (e.g. F1, F2, ...)
-#endif
 
     // WebKit uses Unicode PUA codes in the OpenStep reserve range for some special keys.
     case NSUpArrowFunctionKey:
@@ -293,18 +285,8 @@
     case NSPageUpFunctionKey:
     case NSPageDownFunctionKey:
     case NSClearLineFunctionKey: // Num Lock / Clear
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    case NSDeleteFunctionKey: // Forward delete
-    case NSEndFunctionKey:
-    case NSInsertFunctionKey:
-    case NSHomeFunctionKey:
-#endif
         return true;
     }
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    if (charCode >= NSF1FunctionKey && charCode <= NSF24FunctionKey)
-        return true;
-#endif
     return false;
 }
 

Modified: trunk/Source/WebCore/platform/ios/WebEvent.mm (240982 => 240983)


--- trunk/Source/WebCore/platform/ios/WebEvent.mm	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebCore/platform/ios/WebEvent.mm	2019-02-05 18:39:36 UTC (rev 240983)
@@ -148,23 +148,7 @@
         return @"\x1B";
     case kHIDUsage_KeypadNumLock: // Num Lock / Clear
         return makeNSStringWithCharacter(NSClearLineFunctionKey);
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    case kHIDUsage_KeyboardDeleteForward:
-        return makeNSStringWithCharacter(NSDeleteFunctionKey);
-    case kHIDUsage_KeyboardEnd:
-        return makeNSStringWithCharacter(NSEndFunctionKey);
-    case kHIDUsage_KeyboardInsert:
-        return makeNSStringWithCharacter(NSInsertFunctionKey);
-    case kHIDUsage_KeyboardHome:
-        return makeNSStringWithCharacter(NSHomeFunctionKey);
-#endif
     }
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    if (keyCode >= kHIDUsage_KeyboardF1 && keyCode <= kHIDUsage_KeyboardF12)
-        return makeNSStringWithCharacter(NSF1FunctionKey + (keyCode - kHIDUsage_KeyboardF1));
-    if (keyCode >= kHIDUsage_KeyboardF13 && keyCode <= kHIDUsage_KeyboardF24)
-        return makeNSStringWithCharacter(NSF13FunctionKey + (keyCode - kHIDUsage_KeyboardF13));
-#endif
     return characters;
 }
 

Modified: trunk/Source/WebKit/ChangeLog (240982 => 240983)


--- trunk/Source/WebKit/ChangeLog	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebKit/ChangeLog	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,3 +1,16 @@
+2019-02-05  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r240742.
+
+        Causes crashes on iOS simulator.
+
+        Reverted changeset:
+
+        "[iOS] Keyups for non-modifier keys identified as "Dead" when
+        not focused in a content-editable element"
+        https://bugs.webkit.org/show_bug.cgi?id=192824
+        https://trac.webkit.org/changeset/240742
+
 2019-02-05  Alex Christensen  <[email protected]>
 
         Protect globalWebSocketStreamMap with a Lock

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (240982 => 240983)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h	2019-02-05 18:39:36 UTC (rev 240983)
@@ -260,9 +260,7 @@
     WebKit::InteractionInformationAtPosition _positionInformation;
     WebKit::FocusedElementInformation _focusedElementInformation;
     RetainPtr<NSObject<WKFormPeripheral>> _inputPeripheral;
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
     RetainPtr<UIEvent> _uiEventBeingResent;
-#endif
     BlockPtr<void(::WebEvent *, BOOL)> _keyWebEventHandler;
 
     CGPoint _lastInteractionLocation;

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (240982 => 240983)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2019-02-05 18:39:36 UTC (rev 240983)
@@ -59,6 +59,7 @@
 #import "WKTextInputListViewController.h"
 #import "WKTimePickerViewController.h"
 #import "WKUIDelegatePrivate.h"
+#import "WKWebEvent.h"
 #import "WKWebViewConfiguration.h"
 #import "WKWebViewConfigurationPrivate.h"
 #import "WKWebViewInternal.h"
@@ -122,10 +123,6 @@
 #import "WKFormColorControl.h"
 #endif
 
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
-#import "WKWebEvent.h"
-#endif
-
 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKPlatformFileUploadPanel.mm>)
 #import <WebKitAdditions/WKPlatformFileUploadPanel.mm>
 #endif
@@ -1483,9 +1480,9 @@
     [_textSelectionAssistant didEndScrollingOverflow];
 }
 
-- (BOOL)shouldShowAutomaticKeyboardUI
+- (BOOL)_requiresKeyboardWhenFirstResponder
 {
-    // FIXME: Make this function knowledgeable about the HTML attribute inputmode.
+    // FIXME: We should add the logic to handle keyboard visibility during focus redirects.
     switch (_focusedElementInformation.elementType) {
     case WebKit::InputType::None:
     case WebKit::InputType::Drawing:
@@ -1505,25 +1502,6 @@
     return NO;
 }
 
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-- (BOOL)_disableAutomaticKeyboardUI
-{
-    // Always enable automatic keyboard UI if we are not the first responder to avoid
-    // interfering with other focused views (e.g. Find-in-page).
-    return [self isFirstResponder] && ![self shouldShowAutomaticKeyboardUI];
-}
-#endif
-
-- (BOOL)_requiresKeyboardWhenFirstResponder
-{
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    return YES;
-#else
-    // FIXME: We should add the logic to handle keyboard visibility during focus redirects.
-    return [self shouldShowAutomaticKeyboardUI];
-#endif
-}
-
 - (BOOL)_requiresKeyboardResetOnReload
 {
     return YES;
@@ -3929,12 +3907,6 @@
     if (!_traits)
         _traits = adoptNS([[UITextInputTraits alloc] init]);
 
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    // Do not change traits when dismissing the keyboard.
-    if (_isBlurringFocusedNode)
-        return _traits.get();
-#endif
-
     [_traits setSecureTextEntry:_focusedElementInformation.elementType == WebKit::InputType::Password || [_formInputSession forceSecureTextEntry]];
     [_traits setShortcutConversionType:_focusedElementInformation.elementType == WebKit::InputType::Password ? UITextShortcutConversionTypeNo : UITextShortcutConversionTypeDefault];
 
@@ -4092,7 +4064,6 @@
     return YES;
 }
 
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
 - (void)_handleKeyUIEvent:(::UIEvent *)event
 {
     bool isHardwareKeyboardEvent = !!event._hidEvent;
@@ -4117,7 +4088,6 @@
     
     [self handleKeyWebEvent:webEvent.get()];
 }
-#endif
 
 - (void)handleKeyWebEvent:(::WebEvent *)theEvent
 {
@@ -4145,7 +4115,6 @@
         return;
     }
 
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
     // If we aren't interacting with editable content, we still need to call [super _handleKeyUIEvent:]
     // so that keyboard repeat will work correctly. If we are interacting with editable content,
     // we already did so in _handleKeyUIEvent.
@@ -4164,7 +4133,6 @@
     _uiEventBeingResent = [(WKWebEvent *)event uiEvent];
     [super _handleKeyUIEvent:_uiEventBeingResent.get()];
     _uiEventBeingResent = nil;
-#endif
 }
 
 - (BOOL)_interpretKeyEvent:(::WebEvent *)event isCharEvent:(BOOL)isCharEvent
@@ -4771,10 +4739,6 @@
     [_drawingCoordinator uninstallInkPicker];
 #endif
 
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-    [self _endEditing];
-#endif
-
     [_formInputSession invalidate];
     _formInputSession = nil;
 

Modified: trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm (240982 => 240983)


--- trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Source/WebKit/UIProcess/ios/forms/WKFormSelectPopover.mm	2019-02-05 18:39:36 UTC (rev 240983)
@@ -78,11 +78,7 @@
 
 @class WKSelectPopover;
 
-#if USE(UIKIT_KEYBOARD_ADDITIONS)
-@interface WKSelectTableViewController : UITableViewController
-#else
 @interface WKSelectTableViewController : UITableViewController <UIKeyInput>
-#endif
 {
     NSUInteger _singleSelectionIndex;
     NSUInteger _singleSelectionSection;
@@ -363,7 +359,6 @@
     }
 }
 
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
 #pragma mark UIKeyInput delegate methods
 
 - (BOOL)hasText
@@ -379,8 +374,6 @@
 {
 }
 
-#endif
-
 @end
 
 @implementation WKSelectPopover {
@@ -417,10 +410,8 @@
     ALLOW_DEPRECATED_DECLARATIONS_END
 
     [navController release];
-
-#if !USE(UIKIT_KEYBOARD_ADDITIONS)
+    
     [[UIKeyboardImpl sharedInstance] setDelegate:_tableViewController.get()];
-#endif
     
     return self;
 }

Modified: trunk/Tools/ChangeLog (240982 => 240983)


--- trunk/Tools/ChangeLog	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Tools/ChangeLog	2019-02-05 18:39:36 UTC (rev 240983)
@@ -1,3 +1,16 @@
+2019-02-05  Ryan Haddad  <[email protected]>
+
+        Unreviewed, rolling out r240742.
+
+        Causes crashes on iOS simulator.
+
+        Reverted changeset:
+
+        "[iOS] Keyups for non-modifier keys identified as "Dead" when
+        not focused in a content-editable element"
+        https://bugs.webkit.org/show_bug.cgi?id=192824
+        https://trac.webkit.org/changeset/240742
+
 2019-02-05  Jonathan Bedard  <[email protected]>
 
         run-webkit-tests emits message "...running None" when running tests

Modified: trunk/Tools/WebKitTestRunner/ios/HIDEventGenerator.mm (240982 => 240983)


--- trunk/Tools/WebKitTestRunner/ios/HIDEventGenerator.mm	2019-02-05 18:33:40 UTC (rev 240982)
+++ trunk/Tools/WebKitTestRunner/ios/HIDEventGenerator.mm	2019-02-05 18:39:36 UTC (rev 240983)
@@ -834,7 +834,7 @@
     }
     for (int i = 13; i <= 24; ++i) {
         if ([key isEqualToString:[NSString stringWithFormat:@"F%d", i]])
-            return kHIDUsage_KeyboardF13 + i - 13;
+            return kHIDUsage_KeyboardF13 + i - 1;
     }
     return WTF::nullopt;
 }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to