[Extra zoom mode] Adopt updated input view controller machinery for text input
authorwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2018 14:36:12 +0000 (14:36 +0000)
committerwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Mar 2018 14:36:12 +0000 (14:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=183765
<rdar://problem/36926269>

Reviewed by Tim Horton.

Adopt new classes for extra zoomed text inputs. Massage WKTextInputViewController into WKTextInputListView-
Controller and introduce WKFormControlListViewController, the eventual replacement for the base class
WKTextFormControlViewController that will act as the base class of all list-view-controller-based input UI in
extra zoom mode.

* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView presentTextInputViewController:]):
(-[WKContentView dismissTextInputViewController:]):
(-[WKContentView focusedFormControllerDidUpdateSuggestions:]):
(-[WKContentView _wheelChangedWithEvent:]):
* UIProcess/ios/forms/WKFormControlListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
* UIProcess/ios/forms/WKFormControlListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.mm.
* UIProcess/ios/forms/WKTextInputListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
* UIProcess/ios/forms/WKTextInputListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
* WebKit.xcodeproj/project.pbxproj:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229745 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/ChangeLog
Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
Source/WebKit/UIProcess/ios/forms/WKFormControlListViewController.h [moved from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h with 89% similarity]
Source/WebKit/UIProcess/ios/forms/WKFormControlListViewController.mm [moved from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.mm with 87% similarity]
Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.h [new file with mode: 0644]
Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.mm [new file with mode: 0644]
Source/WebKit/WebKit.xcodeproj/project.pbxproj

index 2e568ec..378fff9 100644 (file)
@@ -1,3 +1,28 @@
+2018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [Extra zoom mode] Adopt updated input view controller machinery for text input
+        https://bugs.webkit.org/show_bug.cgi?id=183765
+        <rdar://problem/36926269>
+
+        Reviewed by Tim Horton.
+
+        Adopt new classes for extra zoomed text inputs. Massage WKTextInputViewController into WKTextInputListView-
+        Controller and introduce WKFormControlListViewController, the eventual replacement for the base class
+        WKTextFormControlViewController that will act as the base class of all list-view-controller-based input UI in
+        extra zoom mode.
+
+        * UIProcess/ios/WKContentViewInteraction.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView presentTextInputViewController:]):
+        (-[WKContentView dismissTextInputViewController:]):
+        (-[WKContentView focusedFormControllerDidUpdateSuggestions:]):
+        (-[WKContentView _wheelChangedWithEvent:]):
+        * UIProcess/ios/forms/WKFormControlListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
+        * UIProcess/ios/forms/WKFormControlListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.mm.
+        * UIProcess/ios/forms/WKTextInputListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
+        * UIProcess/ios/forms/WKTextInputListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
+        * WebKit.xcodeproj/project.pbxproj:
+
 2018-03-19  Megan Gardner  <megan_gardner@apple.com>
 
         Clear style colors when setting default appearance
index 10834d8..11971be 100644 (file)
@@ -88,7 +88,7 @@ class WebPageProxy;
 @class WKFocusedFormControlViewController;
 @class WKNumberPadViewController;
 @class WKSelectMenuViewController;
-@class WKTextInputViewController;
+@class WKTextInputListViewController;
 @class WKTimePickerViewController;
 #endif
 
@@ -250,7 +250,7 @@ struct WKAutoCorrectionData {
 
 #if ENABLE(EXTRA_ZOOM_MODE)
     RetainPtr<WKDatePickerViewController> _datePickerViewController;
-    RetainPtr<WKTextInputViewController> _textInputViewController;
+    RetainPtr<WKTextInputListViewController> _textInputListViewController;
     RetainPtr<WKFocusedFormControlViewController> _focusedFormControlViewController;
     RetainPtr<WKNumberPadViewController> _numberPadViewController;
     RetainPtr<WKSelectMenuViewController> _selectMenuViewController;
index 4091944..9cdc605 100644 (file)
@@ -43,6 +43,7 @@
 #import "WKDatePickerViewController.h"
 #import "WKError.h"
 #import "WKFocusedFormControlViewController.h"
+#import "WKFormControlListViewController.h"
 #import "WKFormInputControl.h"
 #import "WKFormSelectControl.h"
 #import "WKImagePreviewViewController.h"
@@ -53,7 +54,7 @@
 #import "WKPreviewActionItemInternal.h"
 #import "WKPreviewElementInfoInternal.h"
 #import "WKSelectMenuViewController.h"
-#import "WKTextInputViewController.h"
+#import "WKTextInputListViewController.h"
 #import "WKTimePickerViewController.h"
 #import "WKUIDelegatePrivate.h"
 #import "WKWebViewConfiguration.h"
 
 #if ENABLE(EXTRA_ZOOM_MODE)
 
-@interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuViewControllerDelegate>
+@interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuViewControllerDelegate, WKFormControlListViewControllerDelegate>
 @end
 
 #endif
@@ -4279,24 +4280,20 @@ static bool isAssistableInputType(InputType type)
 
 - (void)presentTextInputViewController:(BOOL)animated
 {
-    if (_textInputViewController)
+    if (_textInputListViewController)
         return;
 
-    _textInputViewController = adoptNS([[WKTextInputViewController alloc] initWithText:_assistedNodeInformation.value textSuggestions:@[ ]]);
-    [_textInputViewController setDelegate:self];
-    [_textInputViewController setUsesPasswordEntryMode:_assistedNodeInformation.elementType == InputType::Password || [_formInputSession forceSecureTextEntry]];
-    [_focusedFormControlViewController presentViewController:_textInputViewController.get() animated:animated completion:nil];
-
-    [_textInputViewController setSuggestions:[_focusedFormControlViewController suggestions]];
+    _textInputListViewController = adoptNS([[WKTextInputListViewController alloc] initWithDelegate:self]);
+    [_focusedFormControlViewController presentViewController:_textInputListViewController.get() animated:animated completion:nil];
 }
 
 - (void)dismissTextInputViewController:(BOOL)animated
 {
-    if (!_textInputViewController)
+    if (!_textInputListViewController)
         return;
 
-    auto textInputViewController = WTFMove(_textInputViewController);
-    [textInputViewController dismissViewControllerAnimated:animated completion:nil];
+    auto textInputListViewController = WTFMove(_textInputListViewController);
+    [textInputListViewController dismissViewControllerAnimated:animated completion:nil];
 }
 
 - (void)textInputController:(WKTextFormControlViewController *)controller didCommitText:(NSString *)text
@@ -4396,7 +4393,7 @@ static bool isAssistableInputType(InputType type)
 
 - (void)focusedFormControllerDidUpdateSuggestions:(WKFocusedFormControlViewController *)controller
 {
-    [_textInputViewController setSuggestions:controller.suggestions];
+    [_textInputListViewController reloadTextSuggestions];
 }
 
 #pragma mark - WKSelectMenuViewControllerDelegate
@@ -4483,9 +4480,6 @@ static bool isAssistableInputType(InputType type)
     if ([_numberPadViewController handleWheelEvent:event])
         return;
 
-    if ([_textInputViewController handleWheelEvent:event])
-        return;
-
     if ([_selectMenuViewController handleWheelEvent:event])
         return;
 
@@ -5481,6 +5475,10 @@ static NSArray<UIItemProvider *> *extractItemProvidersFromDropSession(id <UIDrop
 
 #endif
 
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WKContentViewInteractionAdditions.mm>
+#endif
+
 @end
 
 @implementation WKContentView (WKTesting)
@@ -25,6 +25,6 @@
 
 #pragma once
 
-#if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.h>)
-#import <WebKitAdditions/WKTextInputViewControllerAdditions.h>
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WKFormControlListViewControllerAdditions.h>
 #endif
@@ -24,8 +24,8 @@
  */
 
 #include "config.h"
-#include "WKTextInputViewController.h"
+#include "WKFormControlListViewController.h"
 
-#if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.mm>)
-#import <WebKitAdditions/WKTextInputViewControllerAdditions.mm>
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WKFormControlListViewControllerAdditions.mm>
 #endif
diff --git a/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.h b/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.h
new file mode 100644 (file)
index 0000000..50bc399
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#pragma once
+
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WKTextInputListViewControllerAdditions.h>
+#endif
diff --git a/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.mm b/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.mm
new file mode 100644 (file)
index 0000000..42eb842
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKTextInputListViewController.h"
+
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WKTextInputListViewControllerAdditions.mm>
+#endif
index 96d1a68..985c988 100644 (file)
                2E16B6A720171693008996D6 /* WKTextFormControlViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6A02016E680008996D6 /* WKTextFormControlViewController.mm */; };
                2E16B6B82017AB9C008996D6 /* WKFocusedFormControlViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */; };
                2E16B6B92017AB9C008996D6 /* WKFocusedFormControlViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */; };
-               2E16B6CA2017B768008996D6 /* WKTextInputViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6C82017B768008996D6 /* WKTextInputViewController.h */; };
-               2E16B6CB2017B768008996D6 /* WKTextInputViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */; };
                2E16B6CE2017B7AD008996D6 /* WKFocusedFormControlView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6CC2017B7AB008996D6 /* WKFocusedFormControlView.mm */; };
                2E16B6CF2017B7AD008996D6 /* WKFocusedFormControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6CD2017B7AC008996D6 /* WKFocusedFormControlView.h */; };
                2E16B6D42017BA37008996D6 /* WKTextSuggestionButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6D22017BA37008996D6 /* WKTextSuggestionButton.h */; };
                F44DFEB31E9E752F0038D196 /* WebIconUtilities.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44DFEB11E9E752F0038D196 /* WebIconUtilities.mm */; };
                F496A4311F58A272004C1757 /* DragDropInteractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = F496A42F1F58A272004C1757 /* DragDropInteractionState.h */; };
                F496A4321F58A272004C1757 /* DragDropInteractionState.mm in Sources */ = {isa = PBXBuildFile; fileRef = F496A4301F58A272004C1757 /* DragDropInteractionState.mm */; };
+               F4D5F51D206087A10038BBA8 /* WKTextInputListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */; };
+               F4D5F51E206087A10038BBA8 /* WKTextInputListViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */; };
+               F4D5F51F206087A10038BBA8 /* WKFormControlListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */; };
+               F4D5F520206087A10038BBA8 /* WKFormControlListViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */; };
                F6113E25126CE1820057D0A7 /* APIUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = F6113E24126CE1820057D0A7 /* APIUserContentURLPattern.h */; };
                F6113E28126CE19B0057D0A7 /* WKUserContentURLPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */; };
                F6113E29126CE19B0057D0A7 /* WKUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = F6113E27126CE19B0057D0A7 /* WKUserContentURLPattern.h */; settings = {ATTRIBUTES = (Private, ); }; };
                2E16B6A02016E680008996D6 /* WKTextFormControlViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextFormControlViewController.mm; path = ios/forms/WKTextFormControlViewController.mm; sourceTree = "<group>"; };
                2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKFocusedFormControlViewController.h; path = ios/forms/WKFocusedFormControlViewController.h; sourceTree = "<group>"; };
                2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFocusedFormControlViewController.mm; path = ios/forms/WKFocusedFormControlViewController.mm; sourceTree = "<group>"; };
-               2E16B6C82017B768008996D6 /* WKTextInputViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKTextInputViewController.h; path = ios/forms/WKTextInputViewController.h; sourceTree = "<group>"; };
-               2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextInputViewController.mm; path = ios/forms/WKTextInputViewController.mm; sourceTree = "<group>"; };
                2E16B6CC2017B7AB008996D6 /* WKFocusedFormControlView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFocusedFormControlView.mm; path = ios/forms/WKFocusedFormControlView.mm; sourceTree = "<group>"; };
                2E16B6CD2017B7AC008996D6 /* WKFocusedFormControlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFocusedFormControlView.h; path = ios/forms/WKFocusedFormControlView.h; sourceTree = "<group>"; };
                2E16B6D22017BA37008996D6 /* WKTextSuggestionButton.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKTextSuggestionButton.h; path = ios/forms/WKTextSuggestionButton.h; sourceTree = "<group>"; };
                F44DFEB11E9E752F0038D196 /* WebIconUtilities.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebIconUtilities.mm; path = ios/WebIconUtilities.mm; sourceTree = "<group>"; };
                F496A42F1F58A272004C1757 /* DragDropInteractionState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DragDropInteractionState.h; path = ios/DragDropInteractionState.h; sourceTree = "<group>"; };
                F496A4301F58A272004C1757 /* DragDropInteractionState.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = DragDropInteractionState.mm; path = ios/DragDropInteractionState.mm; sourceTree = "<group>"; };
+               F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKTextInputListViewController.h; path = ios/forms/WKTextInputListViewController.h; sourceTree = "<group>"; };
+               F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextInputListViewController.mm; path = ios/forms/WKTextInputListViewController.mm; sourceTree = "<group>"; };
+               F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFormControlListViewController.h; path = ios/forms/WKFormControlListViewController.h; sourceTree = "<group>"; };
+               F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFormControlListViewController.mm; path = ios/forms/WKFormControlListViewController.mm; sourceTree = "<group>"; };
                F6113E24126CE1820057D0A7 /* APIUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIUserContentURLPattern.h; sourceTree = "<group>"; };
                F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserContentURLPattern.cpp; sourceTree = "<group>"; };
                F6113E27126CE19B0057D0A7 /* WKUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKUserContentURLPattern.h; sourceTree = "<group>"; };
                                2E16B6CC2017B7AB008996D6 /* WKFocusedFormControlView.mm */,
                                2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */,
                                2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */,
+                               F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */,
+                               F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */,
                                C54256AF18BEC18B00DE4179 /* WKFormInputControl.h */,
                                C54256B018BEC18B00DE4179 /* WKFormInputControl.mm */,
                                C54256B118BEC18B00DE4179 /* WKFormPeripheral.h */,
                                2EE4529B20292BD800D81777 /* WKSelectMenuViewController.mm */,
                                2E16B69F2016E680008996D6 /* WKTextFormControlViewController.h */,
                                2E16B6A02016E680008996D6 /* WKTextFormControlViewController.mm */,
-                               2E16B6C82017B768008996D6 /* WKTextInputViewController.h */,
-                               2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */,
+                               F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */,
+                               F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */,
                                2E16B6D22017BA37008996D6 /* WKTextSuggestionButton.h */,
                                2E16B6D32017BA37008996D6 /* WKTextSuggestionButton.mm */,
                                2EB6FBFF203021960017E619 /* WKTimePickerViewController.h */,
                                37F623B812A57B6200E3FDF6 /* WKFindOptions.h in Headers */,
                                2E16B6CF2017B7AD008996D6 /* WKFocusedFormControlView.h in Headers */,
                                2E16B6B82017AB9C008996D6 /* WKFocusedFormControlViewController.h in Headers */,
+                               F4D5F51F206087A10038BBA8 /* WKFormControlListViewController.h in Headers */,
                                C54256B518BEC18C00DE4179 /* WKFormInputControl.h in Headers */,
                                C54256B718BEC18C00DE4179 /* WKFormPeripheral.h in Headers */,
                                C54256B818BEC18C00DE4179 /* WKFormPopover.h in Headers */,
                                31D755C11D91B81500843BD1 /* WKTextChecker.h in Headers */,
                                2DD67A351BD861060053B251 /* WKTextFinderClient.h in Headers */,
                                2E16B6A12016E680008996D6 /* WKTextFormControlViewController.h in Headers */,
-                               2E16B6CA2017B768008996D6 /* WKTextInputViewController.h in Headers */,
+                               F4D5F51D206087A10038BBA8 /* WKTextInputListViewController.h in Headers */,
                                0FCB4E6818BBE3D9000FCFC9 /* WKTextInputWindowController.h in Headers */,
                                2E16B6D42017BA37008996D6 /* WKTextSuggestionButton.h in Headers */,
                                2EB6FC01203021960017E619 /* WKTimePickerViewController.h in Headers */,
                                A58B6F0918FCA733008CBA53 /* WKFileUploadPanel.mm in Sources */,
                                2E16B6CE2017B7AD008996D6 /* WKFocusedFormControlView.mm in Sources */,
                                2E16B6B92017AB9C008996D6 /* WKFocusedFormControlViewController.mm in Sources */,
+                               F4D5F520206087A10038BBA8 /* WKFormControlListViewController.mm in Sources */,
                                C54256B618BEC18C00DE4179 /* WKFormInputControl.mm in Sources */,
                                C54256B918BEC18C00DE4179 /* WKFormPopover.mm in Sources */,
                                C57193BE18C14A44002D0F12 /* WKFormSelectControl.mm in Sources */,
                                31D755C21D91B81B00843BD1 /* WKTextChecker.cpp in Sources */,
                                2DD67A361BD861060053B251 /* WKTextFinderClient.mm in Sources */,
                                2E16B6A720171693008996D6 /* WKTextFormControlViewController.mm in Sources */,
-                               2E16B6CB2017B768008996D6 /* WKTextInputViewController.mm in Sources */,
+                               F4D5F51E206087A10038BBA8 /* WKTextInputListViewController.mm in Sources */,
                                0FCB4E6918BBE3D9000FCFC9 /* WKTextInputWindowController.mm in Sources */,
                                2E16B6D52017BA37008996D6 /* WKTextSuggestionButton.mm in Sources */,
                                2EB6FC02203021960017E619 /* WKTimePickerViewController.mm in Sources */,