Changeset 229916 in webkit


Ignore:
Timestamp:
Mar 23, 2018 1:47:19 PM (6 years ago)
Author:
Wenson Hsieh
Message:

[Extra zoom mode] Adopt list view controller UI for select menus
https://bugs.webkit.org/show_bug.cgi?id=183944
<rdar://problem/38799062>

Reviewed by Andy Estes.

Rename WKSelectMenuViewController to WKSelectMenuListViewController, and also rename the relevant
WebKitAdditions harness files. See corresponding changes for more details.

  • UIProcess/WKSelectMenuListViewController.h: Renamed from Source/WebKit/UIProcess/ios/forms/WKSelectMenuViewController.h.
  • UIProcess/WKSelectMenuListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKSelectMenuViewController.mm.
  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView presentSelectMenuViewController:]):
(-[WKContentView dismissSelectMenuViewController:]):
(-[WKContentView selectMenu:didSelectItemAtIndex:]):
(-[WKContentView numberOfItemsInSelectMenu:]):
(-[WKContentView selectMenu:displayTextForItemAtIndex:]):
(-[WKContentView selectMenu:didCheckItemAtIndex:checked:]):
(-[WKContentView selectMenuUsesMultipleSelection:]):
(-[WKContentView selectMenu:hasSelectedOptionAtIndex:]):
(-[WKContentView _wheelChangedWithEvent:]):

Overriding wheel events and re-dispatching them is no longer needed after r229437, so we can just remove special
handling for select menus here.

(-[WKContentView didCancelSelectionInSelectMenu:]): Deleted.
(-[WKContentView selectMenuSupportsMultipleSelection:]): Deleted.
(-[WKContentView selectMenu:hasCheckedOptionAtIndex:]): Deleted.
(-[WKContentView startingIndexForSelectMenu:]): Deleted.

The starting index for a select menu is no longer relevant when using list view controllers for input, so we can
just remove this delegate hook altogether.

  • WebKit.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebKit
Files:
4 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r229914 r229916  
     12018-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        [Extra zoom mode] Adopt list view controller UI for select menus
     4        https://bugs.webkit.org/show_bug.cgi?id=183944
     5        <rdar://problem/38799062>
     6
     7        Reviewed by Andy Estes.
     8
     9        Rename WKSelectMenuViewController to WKSelectMenuListViewController, and also rename the relevant
     10        WebKitAdditions harness files. See corresponding changes for more details.
     11
     12        * UIProcess/WKSelectMenuListViewController.h: Renamed from Source/WebKit/UIProcess/ios/forms/WKSelectMenuViewController.h.
     13        * UIProcess/WKSelectMenuListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKSelectMenuViewController.mm.
     14        * UIProcess/ios/WKContentViewInteraction.h:
     15        * UIProcess/ios/WKContentViewInteraction.mm:
     16        (-[WKContentView presentSelectMenuViewController:]):
     17        (-[WKContentView dismissSelectMenuViewController:]):
     18        (-[WKContentView selectMenu:didSelectItemAtIndex:]):
     19        (-[WKContentView numberOfItemsInSelectMenu:]):
     20        (-[WKContentView selectMenu:displayTextForItemAtIndex:]):
     21        (-[WKContentView selectMenu:didCheckItemAtIndex:checked:]):
     22        (-[WKContentView selectMenuUsesMultipleSelection:]):
     23        (-[WKContentView selectMenu:hasSelectedOptionAtIndex:]):
     24        (-[WKContentView _wheelChangedWithEvent:]):
     25
     26        Overriding wheel events and re-dispatching them is no longer needed after r229437, so we can just remove special
     27        handling for select menus here.
     28
     29        (-[WKContentView didCancelSelectionInSelectMenu:]): Deleted.
     30        (-[WKContentView selectMenuSupportsMultipleSelection:]): Deleted.
     31        (-[WKContentView selectMenu:hasCheckedOptionAtIndex:]): Deleted.
     32        (-[WKContentView startingIndexForSelectMenu:]): Deleted.
     33
     34        The starting index for a select menu is no longer relevant when using list view controllers for input, so we can
     35        just remove this delegate hook altogether.
     36
     37        * WebKit.xcodeproj/project.pbxproj:
     38
    1392018-03-23  Youenn Fablet  <youenn@apple.com>
    240
  • trunk/Source/WebKit/UIProcess/WKSelectMenuListViewController.h

    r229915 r229916  
    2727
    2828#if USE(APPLE_INTERNAL_SDK)
    29 #import <WebKitAdditions/WKSelectMenuViewControllerAdditions.h>
     29#import <WebKitAdditions/WKSelectMenuListViewControllerAdditions.h>
    3030#endif
  • trunk/Source/WebKit/UIProcess/WKSelectMenuListViewController.mm

    r229915 r229916  
    2525
    2626#import "config.h"
    27 #import "WKSelectMenuViewController.h"
     27#import "WKSelectMenuListViewController.h"
    2828
    2929#if USE(APPLE_INTERNAL_SDK)
    30 #import <WebKitAdditions/WKSelectMenuViewControllerAdditions.mm>
     30#import <WebKitAdditions/WKSelectMenuListViewControllerAdditions.mm>
    3131#endif
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h

    r229837 r229916  
    8888@class WKFocusedFormControlViewController;
    8989@class WKNumberPadViewController;
    90 @class WKSelectMenuViewController;
     90@class WKSelectMenuListViewController;
    9191@class WKTextInputListViewController;
    9292@class WKTimePickerViewController;
     
    255255    RetainPtr<WKFocusedFormControlViewController> _focusedFormControlViewController;
    256256    RetainPtr<WKNumberPadViewController> _numberPadViewController;
    257     RetainPtr<WKSelectMenuViewController> _selectMenuViewController;
     257    RetainPtr<WKSelectMenuListViewController> _selectMenuListViewController;
    258258    RetainPtr<WKTimePickerViewController> _timePickerViewController;
    259259
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r229837 r229916  
    5454#import "WKPreviewActionItemInternal.h"
    5555#import "WKPreviewElementInfoInternal.h"
    56 #import "WKSelectMenuViewController.h"
     56#import "WKSelectMenuListViewController.h"
    5757#import "WKTextInputListViewController.h"
    5858#import "WKTimePickerViewController.h"
     
    127127#if ENABLE(EXTRA_ZOOM_MODE)
    128128
    129 @interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuViewControllerDelegate, WKFormControlListViewControllerDelegate>
     129@interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuListViewControllerDelegate, WKTextFormControlListViewControllerDelegate>
    130130@end
    131131
     
    42154215- (void)presentSelectMenuViewController:(BOOL)animated
    42164216{
    4217     if (_selectMenuViewController)
    4218         return;
    4219 
    4220     _selectMenuViewController = adoptNS([[WKSelectMenuViewController alloc] init]);
    4221     [_selectMenuViewController setDelegate:self];
    4222     [_focusedFormControlViewController presentViewController:_selectMenuViewController.get() animated:animated completion:nil];
     4217    if (_selectMenuListViewController)
     4218        return;
     4219
     4220    _selectMenuListViewController = adoptNS([[WKSelectMenuListViewController alloc] initWithDelegate:self]);
     4221    [_focusedFormControlViewController presentViewController:_selectMenuListViewController.get() animated:animated completion:nil];
    42234222}
    42244223
    42254224- (void)dismissSelectMenuViewController:(BOOL)animated
    42264225{
    4227     if (!_selectMenuViewController)
    4228         return;
    4229 
    4230     auto selectMenuViewController = WTFMove(_selectMenuViewController);
    4231     [selectMenuViewController dismissViewControllerAnimated:animated completion:nil];
     4226    if (!_selectMenuListViewController)
     4227        return;
     4228
     4229    auto selectMenuListViewController = WTFMove(_selectMenuListViewController);
     4230    [_selectMenuListViewController dismissViewControllerAnimated:animated completion:nil];
    42324231}
    42334232
     
    44284427}
    44294428
    4430 #pragma mark - WKSelectMenuViewControllerDelegate
    4431 
    4432 - (void)selectMenu:(WKSelectMenuViewController *)selectMenu didSelectItemAtIndex:(NSUInteger)index
    4433 {
    4434     if (!_assistedNodeInformation.isMultiSelect)
    4435         _page->setAssistedNodeSelectedIndex(index, false);
    4436 
    4437     _page->blurAssistedNode();
    4438 }
    4439 
    4440 - (void)didCancelSelectionInSelectMenu:(WKSelectMenuViewController *)selectMenu
    4441 {
    4442     _page->blurAssistedNode();
    4443 }
    4444 
    4445 - (NSUInteger)numberOfItemsInSelectMenu:(WKSelectMenuViewController *)selectMenu
     4429#pragma mark - WKSelectMenuListViewControllerDelegate
     4430
     4431- (void)selectMenu:(WKSelectMenuListViewController *)selectMenu didSelectItemAtIndex:(NSUInteger)index
     4432{
     4433    ASSERT(!_assistedNodeInformation.isMultiSelect);
     4434    _page->setAssistedNodeSelectedIndex(index, false);
     4435}
     4436
     4437- (NSUInteger)numberOfItemsInSelectMenu:(WKSelectMenuListViewController *)selectMenu
    44464438{
    44474439    return self.assistedNodeSelectOptions.size();
    44484440}
    44494441
    4450 - (NSString *)selectMenu:(WKSelectMenuViewController *)selectMenu displayTextForItemAtIndex:(NSUInteger)index
     4442- (NSString *)selectMenu:(WKSelectMenuListViewController *)selectMenu displayTextForItemAtIndex:(NSUInteger)index
    44514443{
    44524444    auto& options = self.assistedNodeSelectOptions;
     
    44594451}
    44604452
    4461 - (void)selectMenu:(WKSelectMenuViewController *)selectMenu didCheckItemAtIndex:(NSUInteger)index checked:(BOOL)checked
     4453- (void)selectMenu:(WKSelectMenuListViewController *)selectMenu didCheckItemAtIndex:(NSUInteger)index checked:(BOOL)checked
    44624454{
    44634455    ASSERT(_assistedNodeInformation.isMultiSelect);
     
    44774469}
    44784470
    4479 - (BOOL)selectMenuSupportsMultipleSelection:(WKSelectMenuViewController *)selectMenu
     4471- (BOOL)selectMenuUsesMultipleSelection:(WKSelectMenuListViewController *)selectMenu
    44804472{
    44814473    return _assistedNodeInformation.isMultiSelect;
    44824474}
    44834475
    4484 - (BOOL)selectMenu:(WKSelectMenuViewController *)selectMenu hasCheckedOptionAtIndex:(NSUInteger)index
     4476- (BOOL)selectMenu:(WKSelectMenuListViewController *)selectMenu hasSelectedOptionAtIndex:(NSUInteger)index
    44854477{
    44864478    if (index >= self.assistedNodeSelectOptions.size()) {
     
    44924484}
    44934485
    4494 - (NSUInteger)startingIndexForSelectMenu:(WKSelectMenuViewController *)selectMenu
    4495 {
    4496     if (_assistedNodeInformation.isMultiSelect)
    4497         return 0;
    4498 
    4499     auto firstSelectedIndex = self.assistedNodeSelectOptions.findMatching([&] (auto& option) {
    4500         return option.isSelected;
    4501     });
    4502 
    4503     return firstSelectedIndex == notFound ? 0 : firstSelectedIndex;
    4504 }
    4505 
    45064486#endif // ENABLE(EXTRA_ZOOM_MODE)
    45074487
     
    45104490#if ENABLE(EXTRA_ZOOM_MODE)
    45114491    if ([_numberPadViewController handleWheelEvent:event])
    4512         return;
    4513 
    4514     if ([_selectMenuViewController handleWheelEvent:event])
    45154492        return;
    45164493
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r229745 r229916  
    744744                2EB6FC01203021960017E619 /* WKTimePickerViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EB6FBFF203021960017E619 /* WKTimePickerViewController.h */; };
    745745                2EB6FC02203021960017E619 /* WKTimePickerViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EB6FC00203021960017E619 /* WKTimePickerViewController.mm */; };
    746                 2EE4529F20292D2A00D81777 /* WKSelectMenuViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2EE4529C20292BD900D81777 /* WKSelectMenuViewController.h */; };
    747                 2EE452A020292D2E00D81777 /* WKSelectMenuViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE4529B20292BD800D81777 /* WKSelectMenuViewController.mm */; };
    748746                2F809DD71FBD1BC9005FE63A /* TouchBarMenuItemData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2F809DD51FBD1BC9005FE63A /* TouchBarMenuItemData.cpp */; };
    749747                2F8336861FA139DF00C6E080 /* TouchBarMenuData.h in Headers */ = {isa = PBXBuildFile; fileRef = 2FD43B911FA006A10083F51C /* TouchBarMenuData.h */; };
     
    21582156                F44DFEB21E9E752F0038D196 /* WebIconUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = F44DFEB01E9E752F0038D196 /* WebIconUtilities.h */; };
    21592157                F44DFEB31E9E752F0038D196 /* WebIconUtilities.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44DFEB11E9E752F0038D196 /* WebIconUtilities.mm */; };
     2158                F478E92920644EE900EE03E8 /* WKSelectMenuListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F478E92720644EE900EE03E8 /* WKSelectMenuListViewController.h */; };
     2159                F478E92A20644EE900EE03E8 /* WKSelectMenuListViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F478E92820644EE900EE03E8 /* WKSelectMenuListViewController.mm */; };
    21602160                F496A4311F58A272004C1757 /* DragDropInteractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = F496A42F1F58A272004C1757 /* DragDropInteractionState.h */; };
    21612161                F496A4321F58A272004C1757 /* DragDropInteractionState.mm in Sources */ = {isa = PBXBuildFile; fileRef = F496A4301F58A272004C1757 /* DragDropInteractionState.mm */; };
     
    31323132                2EB6FBFF203021960017E619 /* WKTimePickerViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKTimePickerViewController.h; path = ios/forms/WKTimePickerViewController.h; sourceTree = "<group>"; };
    31333133                2EB6FC00203021960017E619 /* WKTimePickerViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTimePickerViewController.mm; path = ios/forms/WKTimePickerViewController.mm; sourceTree = "<group>"; };
    3134                 2EE4529B20292BD800D81777 /* WKSelectMenuViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKSelectMenuViewController.mm; path = ios/forms/WKSelectMenuViewController.mm; sourceTree = "<group>"; };
    3135                 2EE4529C20292BD900D81777 /* WKSelectMenuViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKSelectMenuViewController.h; path = ios/forms/WKSelectMenuViewController.h; sourceTree = "<group>"; };
    31363134                2F809DD51FBD1BC9005FE63A /* TouchBarMenuItemData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = TouchBarMenuItemData.cpp; sourceTree = "<group>"; };
    31373135                2F809DD91FBD1BF2005FE63A /* TouchBarMenuItemData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TouchBarMenuItemData.h; sourceTree = "<group>"; };
     
    46984696                F44DFEB01E9E752F0038D196 /* WebIconUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebIconUtilities.h; path = ios/WebIconUtilities.h; sourceTree = "<group>"; };
    46994697                F44DFEB11E9E752F0038D196 /* WebIconUtilities.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebIconUtilities.mm; path = ios/WebIconUtilities.mm; sourceTree = "<group>"; };
     4698                F478E92720644EE900EE03E8 /* WKSelectMenuListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKSelectMenuListViewController.h; sourceTree = "<group>"; };
     4699                F478E92820644EE900EE03E8 /* WKSelectMenuListViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WKSelectMenuListViewController.mm; sourceTree = "<group>"; };
    47004700                F496A42F1F58A272004C1757 /* DragDropInteractionState.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DragDropInteractionState.h; path = ios/DragDropInteractionState.h; sourceTree = "<group>"; };
    47014701                F496A4301F58A272004C1757 /* DragDropInteractionState.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = DragDropInteractionState.mm; path = ios/DragDropInteractionState.mm; sourceTree = "<group>"; };
     
    84668466                                2EA7B3CF2026CEF8009CE5AC /* WKNumberPadViewController.h */,
    84678467                                2EA7B3D02026CEF8009CE5AC /* WKNumberPadViewController.mm */,
    8468                                 2EE4529C20292BD900D81777 /* WKSelectMenuViewController.h */,
    8469                                 2EE4529B20292BD800D81777 /* WKSelectMenuViewController.mm */,
     8468                                F478E92720644EE900EE03E8 /* WKSelectMenuListViewController.h */,
     8469                                F478E92820644EE900EE03E8 /* WKSelectMenuListViewController.mm */,
    84708470                                2E16B69F2016E680008996D6 /* WKTextFormControlViewController.h */,
    84718471                                2E16B6A02016E680008996D6 /* WKTextFormControlViewController.mm */,
     
    96699669                                51CD1C671B34B9DF00142CA5 /* WKSecurityOriginInternal.h in Headers */,
    96709670                                51CD1C5E1B3493B400142CA5 /* WKSecurityOriginRef.h in Headers */,
    9671                                 2EE4529F20292D2A00D81777 /* WKSelectMenuViewController.h in Headers */,
     9671                                F478E92920644EE900EE03E8 /* WKSelectMenuListViewController.h in Headers */,
    96729672                                BC407604124FF0270068F20A /* WKSerializedScriptValue.h in Headers */,
    96739673                                1ADE46B31954EC61000F7985 /* WKSessionStateRef.h in Headers */,
     
    1131711317                                51CD1C661B34B9DC00142CA5 /* WKSecurityOrigin.mm in Sources */,
    1131811318                                51CD1C5D1B3493AF00142CA5 /* WKSecurityOriginRef.cpp in Sources */,
    11319                                 2EE452A020292D2E00D81777 /* WKSelectMenuViewController.mm in Sources */,
     11319                                F478E92A20644EE900EE03E8 /* WKSelectMenuListViewController.mm in Sources */,
    1132011320                                BC407603124FF0270068F20A /* WKSerializedScriptValue.cpp in Sources */,
    1132111321                                1ADE46B21954EC61000F7985 /* WKSessionStateRef.cpp in Sources */,
Note: See TracChangeset for help on using the changeset viewer.