[iOS WK2] Clean up form select code
authorsimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Aug 2016 22:51:27 +0000 (22:51 +0000)
committersimon.fraser@apple.com <simon.fraser@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 16 Aug 2016 22:51:27 +0000 (22:51 +0000)
https://bugs.webkit.org/show_bug.cgi?id=160915

Reviewed by Enrica Casucci.

Some minor forms-related cleanup:
1. Give WKFormSelectPopover and WKFormSelectPicker their own header files, making
things easier to find.

2. Remove WKContentView *_view member variables from classes which also stored
the view in their base classes.

Sort the project file.

* UIProcess/ios/forms/WKFormPopover.h:
* UIProcess/ios/forms/WKFormPopover.mm:
(-[WKFormRotatingAccessoryPopover accessoryDone]):
(-[WKFormRotatingAccessoryPopover initWithView:]): Deleted.
* UIProcess/ios/forms/WKFormSelectControl.h:
* UIProcess/ios/forms/WKFormSelectControl.mm:
* UIProcess/ios/forms/WKFormSelectPicker.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
* UIProcess/ios/forms/WKFormSelectPicker.mm:
* UIProcess/ios/forms/WKFormSelectPopover.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
* UIProcess/ios/forms/WKFormSelectPopover.mm:
(-[WKSelectPopover initWithView:hasGroups:]):
* WebKit2.xcodeproj/project.pbxproj:

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

Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/ios/forms/WKFormPopover.h
Source/WebKit2/UIProcess/ios/forms/WKFormPopover.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h
Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPicker.h [new file with mode: 0644]
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPicker.mm
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPopover.h [new file with mode: 0644]
Source/WebKit2/UIProcess/ios/forms/WKFormSelectPopover.mm
Source/WebKit2/WebKit2.xcodeproj/project.pbxproj

index ddc16b3..9fda05c 100644 (file)
@@ -1,3 +1,32 @@
+2016-08-16  Simon Fraser  <simon.fraser@apple.com>
+
+        [iOS WK2] Clean up form select code
+        https://bugs.webkit.org/show_bug.cgi?id=160915
+
+        Reviewed by Enrica Casucci.
+        
+        Some minor forms-related cleanup:
+        1. Give WKFormSelectPopover and WKFormSelectPicker their own header files, making
+        things easier to find.
+        
+        2. Remove WKContentView *_view member variables from classes which also stored
+        the view in their base classes.
+        
+        Sort the project file.
+
+        * UIProcess/ios/forms/WKFormPopover.h:
+        * UIProcess/ios/forms/WKFormPopover.mm:
+        (-[WKFormRotatingAccessoryPopover accessoryDone]):
+        (-[WKFormRotatingAccessoryPopover initWithView:]): Deleted.
+        * UIProcess/ios/forms/WKFormSelectControl.h:
+        * UIProcess/ios/forms/WKFormSelectControl.mm:
+        * UIProcess/ios/forms/WKFormSelectPicker.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
+        * UIProcess/ios/forms/WKFormSelectPicker.mm:
+        * UIProcess/ios/forms/WKFormSelectPopover.h: Copied from Source/WebKit2/UIProcess/ios/forms/WKFormSelectControl.h.
+        * UIProcess/ios/forms/WKFormSelectPopover.mm:
+        (-[WKSelectPopover initWithView:hasGroups:]):
+        * WebKit2.xcodeproj/project.pbxproj:
+
 2016-08-16  Daniel Bates  <dabates@apple.com>
 
         WKSI static library should be named by major iOS revision, not individual updates
index c28ec7b..0ec8c65 100644 (file)
 - (void)dismissPopoverAnimated:(BOOL)animated;
 - (UIPopoverArrowDirection)popoverArrowDirections;
 
-@property(nonatomic, assign) CGPoint presentationPoint;
+@property (nonatomic, readonly) WKContentView *view;
+
+@property (nonatomic, assign) CGPoint presentationPoint;
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
-@property(nonatomic, retain) UIPopoverController *popoverController;
+@property (nonatomic, retain) UIPopoverController *popoverController;
 #pragma clang diagnostic pop
-@property(nonatomic, assign) id <WKRotatingPopoverDelegate> dismissionDelegate;
+@property (nonatomic, assign) id <WKRotatingPopoverDelegate> dismissionDelegate;
 @end
 
 
index 0c8ceb8..be2f0d2 100644 (file)
@@ -39,22 +39,19 @@ using namespace WebKit;
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
 
-@implementation WKFormRotatingAccessoryPopover {
-    WKContentView *_view;
-}
+@implementation WKFormRotatingAccessoryPopover
 
 - (id)initWithView:(WKContentView *)view
 {
     if (!(self = [super initWithView:view]))
         return nil;
-    _view = view;
     self.dismissionDelegate = self;
     return self;
 }
 
 - (void)accessoryDone
 {
-    [_view accessoryDone];
+    [self.view accessoryDone];
 }
 
 - (UIPopoverArrowDirection)popoverArrowDirections
index 18142e9..d230f88 100644 (file)
@@ -43,23 +43,9 @@ CGFloat adjustedFontSize(CGFloat textWidth, UIFont *, CGFloat initialFontSize, c
 - (void)selectRow:(NSInteger)rowIndex inComponent:(NSInteger)componentIndex extendingSelection:(BOOL)extendingSelection;
 @end
 
-@interface WKSelectPopover : WKFormRotatingAccessoryPopover<WKFormControl>
-- (instancetype)initWithView:(WKContentView *)view hasGroups:(BOOL)hasGroups;
-- (void)_userActionDismissedPopover:(id)sender;
-@end
-
-@interface WKSelectSinglePicker : UIPickerView <WKFormControl, UIPickerViewDataSource, UIPickerViewDelegate>
-- (instancetype)initWithView:(WKContentView *)view;
-@end
-
-@interface WKMultipleSelectPicker : UIPickerView <WKFormControl, UIPickerViewDataSource, UIPickerViewDelegate>
-- (instancetype)initWithView:(WKContentView *)view;
-@end
-
 @protocol WKSelectTesting
 @optional
 - (void)selectRow:(NSInteger)rowIndex inComponent:(NSInteger)componentIndex extendingSelection:(BOOL)extendingSelection;
 @end
 
 #endif // PLATFORM(IOS)
-
index 5bc3689..35e5c7d 100644 (file)
@@ -32,6 +32,8 @@
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
+#import "WKFormSelectPicker.h"
+#import "WKFormSelectPopover.h"
 #import "WebPageProxy.h"
 #import <UIKit/UIPickerView.h>
 #import <wtf/RetainPtr.h>
diff --git a/Source/WebKit2/UIProcess/ios/forms/WKFormSelectPicker.h b/Source/WebKit2/UIProcess/ios/forms/WKFormSelectPicker.h
new file mode 100644 (file)
index 0000000..bd2f696
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+#if PLATFORM(IOS)
+
+#import "WKFormPeripheral.h"
+#import <UIKit/UIPickerView.h>
+
+@class WKContentView;
+
+@interface WKSelectSinglePicker : UIPickerView <WKFormControl, UIPickerViewDataSource, UIPickerViewDelegate>
+- (instancetype)initWithView:(WKContentView *)view;
+@end
+
+@interface WKMultipleSelectPicker : UIPickerView <WKFormControl, UIPickerViewDataSource, UIPickerViewDelegate>
+- (instancetype)initWithView:(WKContentView *)view;
+@end
+
+#endif // PLATFORM(IOS)
index adbd6bf..2ed1240 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 #import "config.h"
-#import "WKFormSelectControl.h"
+#import "WKFormSelectPicker.h"
 
 #if PLATFORM(IOS)
 
@@ -32,6 +32,7 @@
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
+#import "WKFormSelectControl.h"
 #import "WebPageProxy.h"
 
 using namespace WebKit;
diff --git a/Source/WebKit2/UIProcess/ios/forms/WKFormSelectPopover.h b/Source/WebKit2/UIProcess/ios/forms/WKFormSelectPopover.h
new file mode 100644 (file)
index 0000000..9829615
--- /dev/null
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2016 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.
+ */
+
+#if PLATFORM(IOS)
+
+#import "WKFormPeripheral.h"
+#import "WKFormPopover.h"
+
+@class WKContentView;
+
+@interface WKSelectPopover : WKFormRotatingAccessoryPopover<WKFormControl>
+- (instancetype)initWithView:(WKContentView *)view hasGroups:(BOOL)hasGroups;
+- (void)_userActionDismissedPopover:(id)sender;
+@end
+
+#endif // PLATFORM(IOS)
index ffdf697..411ac62 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 #import "config.h"
-#import "WKFormSelectControl.h"
+#import "WKFormSelectPopover.h"
 
 #if PLATFORM(IOS)
 
@@ -32,6 +32,7 @@
 #import "WKContentView.h"
 #import "WKContentViewInteraction.h"
 #import "WKFormPopover.h"
+#import "WKFormSelectControl.h"
 #import "WebPageProxy.h"
 #import <UIKit/UIPickerView.h>
 #import <WebCore/LocalizedStrings.h>
@@ -372,7 +373,6 @@ static NSString *stringWithWritingDirection(NSString *string, UITextWritingDirec
 @end
 
 @implementation WKSelectPopover {
-    WKContentView *_view;
     RetainPtr<WKSelectTableViewController> _tableViewController;
 }
 
@@ -381,7 +381,6 @@ static NSString *stringWithWritingDirection(NSString *string, UITextWritingDirec
     if (!(self = [super initWithView:view]))
         return nil;
     
-    _view = view;
     CGRect frame;
     frame.origin = CGPointZero;
     frame.size = [UIKeyboard defaultSizeForInterfaceOrientation:[UIApp interfaceOrientation]];
@@ -391,12 +390,12 @@ static NSString *stringWithWritingDirection(NSString *string, UITextWritingDirec
     UIViewController *popoverViewController = _tableViewController.get();
     UINavigationController *navController = nil;
     NSString *title = view.assistedNodeInformation.title;
-    BOOL needsNavigationController = (_view && _UIApplicationUsesLegacyUI()) || [title length];
+    BOOL needsNavigationController = (self.view && _UIApplicationUsesLegacyUI()) || [title length];
     if (needsNavigationController) {
         navController = [[UINavigationController alloc] initWithRootViewController:_tableViewController.get()];
         popoverViewController = navController;
         
-        if (_view.assistedNodeInformation.isMultiSelect && _UIApplicationUsesLegacyUI())
+        if (self.view.assistedNodeInformation.isMultiSelect && _UIApplicationUsesLegacyUI())
             _tableViewController.get().navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(_userActionDismissedPopover:)] autorelease];
     }
     
index bf99066..401892d 100644 (file)
@@ -61,6 +61,8 @@
                076E884E1A13CADF005E90FC /* APIContextMenuClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 076E884D1A13CADF005E90FC /* APIContextMenuClient.h */; };
                07A5EBBB1C7BA43E00B9CA69 /* WKFrameHandleRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07A5EBB91C7BA43E00B9CA69 /* WKFrameHandleRef.cpp */; };
                07A5EBBC1C7BA43E00B9CA69 /* WKFrameHandleRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
+               0F08CF521D63C13A00B48DF1 /* WKFormSelectPicker.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F08CF511D63C13A00B48DF1 /* WKFormSelectPicker.h */; };
+               0F08CF541D63C14000B48DF1 /* WKFormSelectPopover.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F08CF531D63C14000B48DF1 /* WKFormSelectPopover.h */; };
                0F0C365818C051BA00F607D7 /* RemoteLayerTreeHostIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F0C365718C051BA00F607D7 /* RemoteLayerTreeHostIOS.mm */; };
                0F0C365A18C0555800F607D7 /* LayerRepresentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F0C365918C0555800F607D7 /* LayerRepresentation.h */; };
                0F0C365C18C05CA100F607D7 /* RemoteScrollingCoordinatorProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F0C365B18C05CA100F607D7 /* RemoteScrollingCoordinatorProxyIOS.mm */; };
                07A5EBBA1C7BA43E00B9CA69 /* WKFrameHandleRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFrameHandleRef.h; sourceTree = "<group>"; };
                0867D6A5FE840307C02AAC07 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
                089C1667FE841158C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+               0F08CF511D63C13A00B48DF1 /* WKFormSelectPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFormSelectPicker.h; path = ios/forms/WKFormSelectPicker.h; sourceTree = "<group>"; };
+               0F08CF531D63C14000B48DF1 /* WKFormSelectPopover.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFormSelectPopover.h; path = ios/forms/WKFormSelectPopover.h; sourceTree = "<group>"; };
                0F0C365718C051BA00F607D7 /* RemoteLayerTreeHostIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RemoteLayerTreeHostIOS.mm; path = ios/RemoteLayerTreeHostIOS.mm; sourceTree = "<group>"; };
                0F0C365918C0555800F607D7 /* LayerRepresentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayerRepresentation.h; path = UIProcess/Cocoa/LayerRepresentation.h; sourceTree = SOURCE_ROOT; };
                0F0C365B18C05CA100F607D7 /* RemoteScrollingCoordinatorProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = RemoteScrollingCoordinatorProxyIOS.mm; path = ios/RemoteScrollingCoordinatorProxyIOS.mm; sourceTree = "<group>"; };
                                7CB16FE21724B9B5007A0A95 /* com.apple.ist.ds.appleconnect.webplugin.sb */,
                                7CB16FE31724B9B5007A0A95 /* com.apple.QuickTime Plugin.plugin.sb */,
                                7CB16FE41724B9B5007A0A95 /* com.apple.WebKit.plugin-common.sb */,
-                               7CB16FE51724B9B5007A0A95 /* com.macromedia.Flash Player.plugin.sb */,
                                7A5E39491D5BD8A700B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb */,
+                               7CB16FE51724B9B5007A0A95 /* com.macromedia.Flash Player.plugin.sb */,
                                7CB16FE61724B9B5007A0A95 /* com.microsoft.SilverlightPlugin.sb */,
                                7CB16FE71724B9B5007A0A95 /* com.oracle.java.JavaAppletPlugin.sb */,
                        );
                                C54256B318BEC18B00DE4179 /* WKFormPopover.mm */,
                                C54256B418BEC18C00DE4179 /* WKFormSelectControl.h */,
                                C57193BD18C14A43002D0F12 /* WKFormSelectControl.mm */,
+                               0F08CF511D63C13A00B48DF1 /* WKFormSelectPicker.h */,
                                C57193B918C149D0002D0F12 /* WKFormSelectPicker.mm */,
+                               0F08CF531D63C14000B48DF1 /* WKFormSelectPopover.h */,
                                C57193BA18C149D0002D0F12 /* WKFormSelectPopover.mm */,
                        );
                        name = forms;
                                1AE286781C7E76510069AC4F /* _WKWebsiteDataSize.h in Headers */,
                                1AE286801C7F92C00069AC4F /* _WKWebsiteDataSizeInternal.h in Headers */,
                                1AFB4C721ADF155D00B33339 /* _WKWebsiteDataStore.h in Headers */,
-                               515BE1B31D5902DD00DD7C68 /* GamepadData.h in Headers */,
                                1A4A93B71AEB08EA00150E9C /* _WKWebsiteDataStoreInternal.h in Headers */,
                                A115DC72191D82DA00DA8072 /* _WKWebViewPrintFormatter.h in Headers */,
                                A19DD3C01D07D16800AC823B /* _WKWebViewPrintFormatterInternal.h in Headers */,
                                1A90C1F41264FD71003E44D4 /* FindController.h in Headers */,
                                BCE81D8D1319F7EF00241910 /* FontInfo.h in Headers */,
                                1AE00D611831792100087DD7 /* FrameLoadState.h in Headers */,
+                               515BE1B31D5902DD00DD7C68 /* GamepadData.h in Headers */,
                                BC17753F118BABF0007D9E9A /* GenericCallback.h in Headers */,
                                BC06F42F12DBB9B6002D78DE /* GeolocationPermissionRequestManager.h in Headers */,
                                BC06F44A12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.h in Headers */,
                                2DA944A41884E4F000ED86DB /* GestureTypes.h in Headers */,
                                2DA049B8180CCD0A00AAFA9E /* GraphicsLayerCARemote.h in Headers */,
                                C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */,
-                               515BE1A91D55293400DD7C68 /* UIGamepadProvider.h in Headers */,
                                1AC75A1B1B3368270056745B /* HangDetectionDisabler.h in Headers */,
                                37F90DE31376560E0051CF68 /* HTTPCookieAcceptPolicy.h in Headers */,
                                51E351CB180F2CCC00E53BE9 /* IDBUtilities.h in Headers */,
                                E1790891169BAA82006904C7 /* SecItemShimMessages.h in Headers */,
                                E18E690C169B563F009B6670 /* SecItemShimProxy.h in Headers */,
                                E18E6918169B667B009B6670 /* SecItemShimProxyMessages.h in Headers */,
-                               515BE1B51D5917FF00DD7C68 /* UIGamepad.h in Headers */,
                                514D9F5719119D35000063A7 /* ServicesController.h in Headers */,
                                1AFDE65A1954A42B00C48FFA /* SessionState.h in Headers */,
                                1A002D49196B345D00B9AD44 /* SessionStateCoding.h in Headers */,
                                1AAF263914687C39004A1E8A /* TiledCoreAnimationDrawingArea.h in Headers */,
                                1AF05D8714688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.h in Headers */,
                                1AFE436618B6C081009C7A48 /* UIDelegate.h in Headers */,
+                               515BE1B51D5917FF00DD7C68 /* UIGamepad.h in Headers */,
+                               515BE1A91D55293400DD7C68 /* UIGamepadProvider.h in Headers */,
                                CEE4AE2B1A5DCF430002F49B /* UIKitSPI.h in Headers */,
                                1A64245E12DE29A100CAAE2C /* UpdateInfo.h in Headers */,
                                1AC1336818565B5700F3EC05 /* UserData.h in Headers */,
                                9391F2CB121B67AD00EBF7E8 /* WebFrameNetworkingContext.h in Headers */,
                                BCB9F6A01123A84B00A137E0 /* WebFramePolicyListenerProxy.h in Headers */,
                                BC9B38A110F538BE00443A15 /* WebFrameProxy.h in Headers */,
+                               515BE1AB1D555AA000DD7C68 /* WebGamepad.h in Headers */,
+                               515BE1791D53FE8F00DD7C68 /* WebGamepadProvider.h in Headers */,
                                BC1BE1E012D54A410004A228 /* WebGeolocationClient.h in Headers */,
                                BC0E5FE512D697160012A72A /* WebGeolocationManager.h in Headers */,
                                BC0E606212D6BA910012A72A /* WebGeolocationManagerMessages.h in Headers */,
                                2D3EF4431917646300034184 /* WebMemoryPressureHandlerIOS.h in Headers */,
                                909854ED12BC4E18000AD080 /* WebMemorySampler.h in Headers */,
                                BCF69F9A1176CED600471A52 /* WebNavigationDataStore.h in Headers */,
-                               515BE1AB1D555AA000DD7C68 /* WebGamepad.h in Headers */,
                                7CCCC8FB1A5F50FD008FB0DA /* WebNavigationState.h in Headers */,
                                31A2EC49148997C200810D71 /* WebNotification.h in Headers */,
                                310999C7146C9E3D0029DEB9 /* WebNotificationClient.h in Headers */,
                                1AB7D78D1288CD9A00CFD08C /* WKDownload.h in Headers */,
                                1AF4592F19464B2000F9D4A2 /* WKError.h in Headers */,
                                BCFD548C132D82680055D816 /* WKErrorCF.h in Headers */,
-                               515BE1791D53FE8F00DD7C68 /* WebGamepadProvider.h in Headers */,
                                37B5045219EEF31300CE2CF8 /* WKErrorPrivate.h in Headers */,
                                BC4075FC124FF0270068F20A /* WKErrorRef.h in Headers */,
                                BC40783D1250FADD0068F20A /* WKEvent.h in Headers */,
                                C54256B718BEC18C00DE4179 /* WKFormPeripheral.h in Headers */,
                                C54256B818BEC18C00DE4179 /* WKFormPopover.h in Headers */,
                                C54256BA18BEC18C00DE4179 /* WKFormSelectControl.h in Headers */,
+                               0F08CF521D63C13A00B48DF1 /* WKFormSelectPicker.h in Headers */,
+                               0F08CF541D63C14000B48DF1 /* WKFormSelectPopover.h in Headers */,
                                BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */,
                                37DFA7001810BB92001F4A9F /* WKFoundation.h in Headers */,
                                BCD0139B110FA420003B8A67 /* WKFrame.h in Headers */,
                                E115C716190F8A2500ECC516 /* com.apple.WebKit.Databases.sb in Resources */,
                                E17AE2C316B9C63A001C42F1 /* com.apple.WebKit.NetworkProcess.sb in Resources */,
                                E11D35AE16B63D1B006D23D7 /* com.apple.WebProcess.sb in Resources */,
+                               7A5E394A1D5BD8BE00B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb in Resources */,
                                8DC2EF530486A6940098B216 /* InfoPlist.strings in Resources */,
                                93A2A3461D246125002B59D3 /* mediaIcon.pdf in Resources */,
-                               7A5E394A1D5BD8BE00B4B7CE /* com.macromedia.Flash Player ESR.plugin.sb in Resources */,
                        );
                        runOnlyForDeploymentPostprocessing = 0;
                };
                                2DD13BD518F7DADD00E130A1 /* FindControllerIOS.mm in Sources */,
                                BCE81D8C1319F7EF00241910 /* FontInfo.cpp in Sources */,
                                1AE00D601831792100087DD7 /* FrameLoadState.cpp in Sources */,
+                               515BE1B21D5902DD00DD7C68 /* GamepadData.cpp in Sources */,
                                BC06F43012DBB9B6002D78DE /* GeolocationPermissionRequestManager.cpp in Sources */,
                                BC06F44B12DBD1F5002D78DE /* GeolocationPermissionRequestManagerProxy.cpp in Sources */,
                                BC06F43B12DBCCFB002D78DE /* GeolocationPermissionRequestProxy.cpp in Sources */,
                                1A2D82A6127F4EAB001EB962 /* NPObjectProxy.cpp in Sources */,
                                1A2D82A8127F4EAB001EB962 /* NPRemoteObjectMap.cpp in Sources */,
                                1A2161B111F37664008AD0F5 /* NPRuntimeObjectMap.cpp in Sources */,
-                               1A08FEE41D593E2A008BA8CB /* WebPluginInfoProvider.cpp in Sources */,
                                1A2162B011F38971008AD0F5 /* NPRuntimeUtilities.cpp in Sources */,
                                1A2D84A4127F6AD1001EB962 /* NPVariantData.cpp in Sources */,
                                BC8ACA1416670D89004C1941 /* ObjCObjectGraph.mm in Sources */,
                                1A043CEB124FE38F00FFBFB5 /* PluginProcessMessageReceiver.cpp in Sources */,
                                1A0EC75F124BC7B2007EF4A5 /* PluginProcessProxy.cpp in Sources */,
                                1A2D90BB1281C931001EB962 /* PluginProcessProxyMac.mm in Sources */,
-                               515BE1B41D5917FF00DD7C68 /* UIGamepad.cpp in Sources */,
                                1A043B5D124D5E9D00FFBFB5 /* PluginProcessProxyMessageReceiver.cpp in Sources */,
                                1A043DC2124FF87500FFBFB5 /* PluginProxy.cpp in Sources */,
                                1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
                                2D47B56C1810714E003A3AEE /* RemoteLayerBackingStore.mm in Sources */,
                                2DDF731618E95060004F5A66 /* RemoteLayerBackingStoreCollection.mm in Sources */,
                                1AB16AE9164B3A8800290D62 /* RemoteLayerTreeContext.mm in Sources */,
-                               515BE1B21D5902DD00DD7C68 /* GamepadData.cpp in Sources */,
                                2D29ECD1192F2C2E00984B78 /* RemoteLayerTreeDisplayRefreshMonitor.mm in Sources */,
                                1AB16ADD1648598400290D62 /* RemoteLayerTreeDrawingArea.mm in Sources */,
                                1AB16AE11648656D00290D62 /* RemoteLayerTreeDrawingAreaProxy.mm in Sources */,
                                E179088D169BAA62006904C7 /* SecItemShim.cpp in Sources */,
                                E1790890169BAA7F006904C7 /* SecItemShimMessageReceiver.cpp in Sources */,
                                E18E690B169B563F009B6670 /* SecItemShimProxy.cpp in Sources */,
-                               515BE1A71D55293400DD7C68 /* UIGamepadProviderHID.cpp in Sources */,
                                E18E6917169B667B009B6670 /* SecItemShimProxyMessageReceiver.cpp in Sources */,
                                514D9F5819119D35000063A7 /* ServicesController.mm in Sources */,
                                1AFDE6591954A42B00C48FFA /* SessionState.cpp in Sources */,
                                1A44B95B16B73F9F00B7BBD8 /* StorageManager.cpp in Sources */,
                                1AB31A9616BC688100F6DBC9 /* StorageManagerMessageReceiver.cpp in Sources */,
                                1A44B95716B737AA00B7BBD8 /* StorageNamespaceImpl.cpp in Sources */,
-                               515BE1771D53FE8700DD7C68 /* WebGamepadProvider.cpp in Sources */,
                                1AE00D6B18327C1200087DD7 /* StringReference.cpp in Sources */,
                                296BD85E15019BC30071F424 /* StringUtilities.mm in Sources */,
                                1ZZ417EF12C00D87002BE67B /* TextCheckerCompletion.cpp in Sources */,
                                1AAF263814687C39004A1E8A /* TiledCoreAnimationDrawingArea.mm in Sources */,
                                1AF05D8614688348008B1E81 /* TiledCoreAnimationDrawingAreaProxy.mm in Sources */,
                                1AFE436518B6C081009C7A48 /* UIDelegate.mm in Sources */,
+                               515BE1B41D5917FF00DD7C68 /* UIGamepad.cpp in Sources */,
+                               515BE1A81D55293400DD7C68 /* UIGamepadProvider.cpp in Sources */,
+                               515BE1A71D55293400DD7C68 /* UIGamepadProviderHID.cpp in Sources */,
+                               515BE1B71D5A94FD00DD7C68 /* UIGamepadProviderMac.mm in Sources */,
                                1A64245F12DE29A100CAAE2C /* UpdateInfo.cpp in Sources */,
                                1AC1336718565B5700F3EC05 /* UserData.cpp in Sources */,
                                07297F9E1C17BBEA003F0735 /* UserMediaPermissionCheckProxy.cpp in Sources */,
                                7C4ABED01AA8E9F00088AA37 /* WebCompiledContentExtension.cpp in Sources */,
                                7C4ABED41AA8FCB80088AA37 /* WebCompiledContentExtensionData.cpp in Sources */,
                                BC4A628F147312BE006C681A /* WebConnection.cpp in Sources */,
-                               515BE1A81D55293400DD7C68 /* UIGamepadProvider.cpp in Sources */,
                                BC4A6291147312BE006C681A /* WebConnectionClient.cpp in Sources */,
                                1A1FEC1C1627B45700700F6D /* WebConnectionMessageReceiver.cpp in Sources */,
                                BCD3675C148C26C000447E87 /* WebConnectionToUIProcess.cpp in Sources */,
                                CD73BA4E131ACDB700EEDED2 /* WebFullScreenManagerMessageReceiver.cpp in Sources */,
                                CD6F75F4131B66D000D6B21E /* WebFullScreenManagerProxy.cpp in Sources */,
                                CD73BA47131ACC9A00EEDED2 /* WebFullScreenManagerProxyMessageReceiver.cpp in Sources */,
+                               515BE1AA1D555A9B00DD7C68 /* WebGamepad.cpp in Sources */,
+                               515BE1771D53FE8700DD7C68 /* WebGamepadProvider.cpp in Sources */,
                                BC1BE1E112D54A410004A228 /* WebGeolocationClient.cpp in Sources */,
                                BC0E5FE612D697160012A72A /* WebGeolocationManager.cpp in Sources */,
                                BC0E606112D6BA910012A72A /* WebGeolocationManagerMessageReceiver.cpp in Sources */,
                                CDA29A211CBEB5FB00901CCF /* WebPlaybackSessionManagerProxy.mm in Sources */,
                                CDA29A2A1CBEB67A00901CCF /* WebPlaybackSessionManagerProxyMessageReceiver.cpp in Sources */,
                                31D5929E166E060000E6BF02 /* WebPlugInClient.cpp in Sources */,
+                               1A08FEE41D593E2A008BA8CB /* WebPluginInfoProvider.cpp in Sources */,
                                BC5744EF12638FB3006F0F12 /* WebPopupItem.cpp in Sources */,
                                D3B9484611FF4B6500032B39 /* WebPopupMenu.cpp in Sources */,
                                BCC43AC7127B99DE00317F16 /* WebPopupMenuMac.mm in Sources */,
                                BCD59800112B57BE00EC8C23 /* WebPreferences.cpp in Sources */,
                                7C85FD7F19341665000177C4 /* WebPreferencesKeys.cpp in Sources */,
                                BC84EB1812A7100C0083F2DA /* WebPreferencesMac.mm in Sources */,
-                               515BE1B71D5A94FD00DD7C68 /* UIGamepadProviderMac.mm in Sources */,
                                BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */,
                                BC111AE4112F5C2600337BAB /* WebProcess.cpp in Sources */,
                                7C6E70FB18B2DC7A00F24E2E /* WebProcessCocoa.mm in Sources */,
                                7C361D78192803BD0036A59D /* WebUserContentControllerProxyMessageReceiver.cpp in Sources */,
                                15739BBE1B42046600D258C1 /* WebUserMediaClient.cpp in Sources */,
                                52D5A1B71C574A0200DE34A3 /* WebVideoFullscreenManager.mm in Sources */,
-                               515BE1AA1D555A9B00DD7C68 /* WebGamepad.cpp in Sources */,
                                3F418EF91887BD97002795FD /* WebVideoFullscreenManagerMessageReceiver.cpp in Sources */,
                                52D5A1B11C57496200DE34A3 /* WebVideoFullscreenManagerProxy.mm in Sources */,
                                3F418EFB1887BD97002795FD /* WebVideoFullscreenManagerProxyMessageReceiver.cpp in Sources */,