Changeset 229745 in webkit


Ignore:
Timestamp:
Mar 20, 2018 7:36:12 AM (6 years ago)
Author:
Wenson Hsieh
Message:

[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:
Location:
trunk/Source/WebKit
Files:
4 edited
2 copied
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r229737 r229745  
     12018-03-20  Wenson Hsieh  <wenson_hsieh@apple.com>
     2
     3        [Extra zoom mode] Adopt updated input view controller machinery for text input
     4        https://bugs.webkit.org/show_bug.cgi?id=183765
     5        <rdar://problem/36926269>
     6
     7        Reviewed by Tim Horton.
     8
     9        Adopt new classes for extra zoomed text inputs. Massage WKTextInputViewController into WKTextInputListView-
     10        Controller and introduce WKFormControlListViewController, the eventual replacement for the base class
     11        WKTextFormControlViewController that will act as the base class of all list-view-controller-based input UI in
     12        extra zoom mode.
     13
     14        * UIProcess/ios/WKContentViewInteraction.h:
     15        * UIProcess/ios/WKContentViewInteraction.mm:
     16        (-[WKContentView presentTextInputViewController:]):
     17        (-[WKContentView dismissTextInputViewController:]):
     18        (-[WKContentView focusedFormControllerDidUpdateSuggestions:]):
     19        (-[WKContentView _wheelChangedWithEvent:]):
     20        * UIProcess/ios/forms/WKFormControlListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
     21        * UIProcess/ios/forms/WKFormControlListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.mm.
     22        * UIProcess/ios/forms/WKTextInputListViewController.h: Copied from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
     23        * UIProcess/ios/forms/WKTextInputListViewController.mm: Renamed from Source/WebKit/UIProcess/ios/forms/WKTextInputViewController.h.
     24        * WebKit.xcodeproj/project.pbxproj:
     25
    1262018-03-19  Megan Gardner  <megan_gardner@apple.com>
    227
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h

    r229437 r229745  
    8989@class WKNumberPadViewController;
    9090@class WKSelectMenuViewController;
    91 @class WKTextInputViewController;
     91@class WKTextInputListViewController;
    9292@class WKTimePickerViewController;
    9393#endif
     
    251251#if ENABLE(EXTRA_ZOOM_MODE)
    252252    RetainPtr<WKDatePickerViewController> _datePickerViewController;
    253     RetainPtr<WKTextInputViewController> _textInputViewController;
     253    RetainPtr<WKTextInputListViewController> _textInputListViewController;
    254254    RetainPtr<WKFocusedFormControlViewController> _focusedFormControlViewController;
    255255    RetainPtr<WKNumberPadViewController> _numberPadViewController;
  • trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm

    r229437 r229745  
    4444#import "WKError.h"
    4545#import "WKFocusedFormControlViewController.h"
     46#import "WKFormControlListViewController.h"
    4647#import "WKFormInputControl.h"
    4748#import "WKFormSelectControl.h"
     
    5455#import "WKPreviewElementInfoInternal.h"
    5556#import "WKSelectMenuViewController.h"
    56 #import "WKTextInputViewController.h"
     57#import "WKTextInputListViewController.h"
    5758#import "WKTimePickerViewController.h"
    5859#import "WKUIDelegatePrivate.h"
     
    126127#if ENABLE(EXTRA_ZOOM_MODE)
    127128
    128 @interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuViewControllerDelegate>
     129@interface WKContentView (ExtraZoomMode) <WKTextFormControlViewControllerDelegate, WKFocusedFormControlViewControllerDelegate, WKSelectMenuViewControllerDelegate, WKFormControlListViewControllerDelegate>
    129130@end
    130131
     
    42804281- (void)presentTextInputViewController:(BOOL)animated
    42814282{
    4282     if (_textInputViewController)
    4283         return;
    4284 
    4285     _textInputViewController = adoptNS([[WKTextInputViewController alloc] initWithText:_assistedNodeInformation.value textSuggestions:@[ ]]);
    4286     [_textInputViewController setDelegate:self];
    4287     [_textInputViewController setUsesPasswordEntryMode:_assistedNodeInformation.elementType == InputType::Password || [_formInputSession forceSecureTextEntry]];
    4288     [_focusedFormControlViewController presentViewController:_textInputViewController.get() animated:animated completion:nil];
    4289 
    4290     [_textInputViewController setSuggestions:[_focusedFormControlViewController suggestions]];
     4283    if (_textInputListViewController)
     4284        return;
     4285
     4286    _textInputListViewController = adoptNS([[WKTextInputListViewController alloc] initWithDelegate:self]);
     4287    [_focusedFormControlViewController presentViewController:_textInputListViewController.get() animated:animated completion:nil];
    42914288}
    42924289
    42934290- (void)dismissTextInputViewController:(BOOL)animated
    42944291{
    4295     if (!_textInputViewController)
    4296         return;
    4297 
    4298     auto textInputViewController = WTFMove(_textInputViewController);
    4299     [textInputViewController dismissViewControllerAnimated:animated completion:nil];
     4292    if (!_textInputListViewController)
     4293        return;
     4294
     4295    auto textInputListViewController = WTFMove(_textInputListViewController);
     4296    [textInputListViewController dismissViewControllerAnimated:animated completion:nil];
    43004297}
    43014298
     
    43974394- (void)focusedFormControllerDidUpdateSuggestions:(WKFocusedFormControlViewController *)controller
    43984395{
    4399     [_textInputViewController setSuggestions:controller.suggestions];
     4396    [_textInputListViewController reloadTextSuggestions];
    44004397}
    44014398
     
    44824479#if ENABLE(EXTRA_ZOOM_MODE)
    44834480    if ([_numberPadViewController handleWheelEvent:event])
    4484         return;
    4485 
    4486     if ([_textInputViewController handleWheelEvent:event])
    44874481        return;
    44884482
     
    54805474}
    54815475
     5476#endif
     5477
     5478#if USE(APPLE_INTERNAL_SDK)
     5479#import <WebKitAdditions/WKContentViewInteractionAdditions.mm>
    54825480#endif
    54835481
  • trunk/Source/WebKit/UIProcess/ios/forms/WKFormControlListViewController.h

    r229744 r229745  
    2626#pragma once
    2727
    28 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.h>)
    29 #import <WebKitAdditions/WKTextInputViewControllerAdditions.h>
     28#if USE(APPLE_INTERNAL_SDK)
     29#import <WebKitAdditions/WKFormControlListViewControllerAdditions.h>
    3030#endif
  • trunk/Source/WebKit/UIProcess/ios/forms/WKFormControlListViewController.mm

    r229744 r229745  
    2525
    2626#include "config.h"
    27 #include "WKTextInputViewController.h"
     27#include "WKFormControlListViewController.h"
    2828
    29 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.mm>)
    30 #import <WebKitAdditions/WKTextInputViewControllerAdditions.mm>
     29#if USE(APPLE_INTERNAL_SDK)
     30#import <WebKitAdditions/WKFormControlListViewControllerAdditions.mm>
    3131#endif
  • trunk/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.h

    r229744 r229745  
    2626#pragma once
    2727
    28 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.h>)
    29 #import <WebKitAdditions/WKTextInputViewControllerAdditions.h>
     28#if USE(APPLE_INTERNAL_SDK)
     29#import <WebKitAdditions/WKTextInputListViewControllerAdditions.h>
    3030#endif
  • trunk/Source/WebKit/UIProcess/ios/forms/WKTextInputListViewController.mm

    r229744 r229745  
    2424 */
    2525
    26 #pragma once
     26#import "config.h"
     27#import "WKTextInputListViewController.h"
    2728
    28 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/WKTextInputViewControllerAdditions.h>)
    29 #import <WebKitAdditions/WKTextInputViewControllerAdditions.h>
     29#if USE(APPLE_INTERNAL_SDK)
     30#import <WebKitAdditions/WKTextInputListViewControllerAdditions.mm>
    3031#endif
  • trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj

    r229707 r229745  
    729729                2E16B6B82017AB9C008996D6 /* WKFocusedFormControlViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */; };
    730730                2E16B6B92017AB9C008996D6 /* WKFocusedFormControlViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */; };
    731                 2E16B6CA2017B768008996D6 /* WKTextInputViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6C82017B768008996D6 /* WKTextInputViewController.h */; };
    732                 2E16B6CB2017B768008996D6 /* WKTextInputViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */; };
    733731                2E16B6CE2017B7AD008996D6 /* WKFocusedFormControlView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E16B6CC2017B7AB008996D6 /* WKFocusedFormControlView.mm */; };
    734732                2E16B6CF2017B7AD008996D6 /* WKFocusedFormControlView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2E16B6CD2017B7AC008996D6 /* WKFocusedFormControlView.h */; };
     
    21622160                F496A4311F58A272004C1757 /* DragDropInteractionState.h in Headers */ = {isa = PBXBuildFile; fileRef = F496A42F1F58A272004C1757 /* DragDropInteractionState.h */; };
    21632161                F496A4321F58A272004C1757 /* DragDropInteractionState.mm in Sources */ = {isa = PBXBuildFile; fileRef = F496A4301F58A272004C1757 /* DragDropInteractionState.mm */; };
     2162                F4D5F51D206087A10038BBA8 /* WKTextInputListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */; };
     2163                F4D5F51E206087A10038BBA8 /* WKTextInputListViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */; };
     2164                F4D5F51F206087A10038BBA8 /* WKFormControlListViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */; };
     2165                F4D5F520206087A10038BBA8 /* WKFormControlListViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */; };
    21642166                F6113E25126CE1820057D0A7 /* APIUserContentURLPattern.h in Headers */ = {isa = PBXBuildFile; fileRef = F6113E24126CE1820057D0A7 /* APIUserContentURLPattern.h */; };
    21652167                F6113E28126CE19B0057D0A7 /* WKUserContentURLPattern.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */; };
     
    31153117                2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKFocusedFormControlViewController.h; path = ios/forms/WKFocusedFormControlViewController.h; sourceTree = "<group>"; };
    31163118                2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFocusedFormControlViewController.mm; path = ios/forms/WKFocusedFormControlViewController.mm; sourceTree = "<group>"; };
    3117                 2E16B6C82017B768008996D6 /* WKTextInputViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKTextInputViewController.h; path = ios/forms/WKTextInputViewController.h; sourceTree = "<group>"; };
    3118                 2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextInputViewController.mm; path = ios/forms/WKTextInputViewController.mm; sourceTree = "<group>"; };
    31193119                2E16B6CC2017B7AB008996D6 /* WKFocusedFormControlView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFocusedFormControlView.mm; path = ios/forms/WKFocusedFormControlView.mm; sourceTree = "<group>"; };
    31203120                2E16B6CD2017B7AC008996D6 /* WKFocusedFormControlView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFocusedFormControlView.h; path = ios/forms/WKFocusedFormControlView.h; 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>"; };
     4702                F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKTextInputListViewController.h; path = ios/forms/WKTextInputListViewController.h; sourceTree = "<group>"; };
     4703                F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKTextInputListViewController.mm; path = ios/forms/WKTextInputListViewController.mm; sourceTree = "<group>"; };
     4704                F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKFormControlListViewController.h; path = ios/forms/WKFormControlListViewController.h; sourceTree = "<group>"; };
     4705                F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKFormControlListViewController.mm; path = ios/forms/WKFormControlListViewController.mm; sourceTree = "<group>"; };
    47024706                F6113E24126CE1820057D0A7 /* APIUserContentURLPattern.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIUserContentURLPattern.h; sourceTree = "<group>"; };
    47034707                F6113E26126CE19B0057D0A7 /* WKUserContentURLPattern.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserContentURLPattern.cpp; sourceTree = "<group>"; };
     
    84458449                                2E16B6B62017AB9C008996D6 /* WKFocusedFormControlViewController.h */,
    84468450                                2E16B6B72017AB9C008996D6 /* WKFocusedFormControlViewController.mm */,
     8451                                F4D5F51B206087A10038BBA8 /* WKFormControlListViewController.h */,
     8452                                F4D5F51C206087A10038BBA8 /* WKFormControlListViewController.mm */,
    84478453                                C54256AF18BEC18B00DE4179 /* WKFormInputControl.h */,
    84488454                                C54256B018BEC18B00DE4179 /* WKFormInputControl.mm */,
     
    84648470                                2E16B69F2016E680008996D6 /* WKTextFormControlViewController.h */,
    84658471                                2E16B6A02016E680008996D6 /* WKTextFormControlViewController.mm */,
    8466                                 2E16B6C82017B768008996D6 /* WKTextInputViewController.h */,
    8467                                 2E16B6C92017B768008996D6 /* WKTextInputViewController.mm */,
     8472                                F4D5F519206087A00038BBA8 /* WKTextInputListViewController.h */,
     8473                                F4D5F51A206087A10038BBA8 /* WKTextInputListViewController.mm */,
    84688474                                2E16B6D22017BA37008996D6 /* WKTextSuggestionButton.h */,
    84698475                                2E16B6D32017BA37008996D6 /* WKTextSuggestionButton.mm */,
     
    95109516                                2E16B6CF2017B7AD008996D6 /* WKFocusedFormControlView.h in Headers */,
    95119517                                2E16B6B82017AB9C008996D6 /* WKFocusedFormControlViewController.h in Headers */,
     9518                                F4D5F51F206087A10038BBA8 /* WKFormControlListViewController.h in Headers */,
    95129519                                C54256B518BEC18C00DE4179 /* WKFormInputControl.h in Headers */,
    95139520                                C54256B718BEC18C00DE4179 /* WKFormPeripheral.h in Headers */,
     
    96779684                                2DD67A351BD861060053B251 /* WKTextFinderClient.h in Headers */,
    96789685                                2E16B6A12016E680008996D6 /* WKTextFormControlViewController.h in Headers */,
    9679                                 2E16B6CA2017B768008996D6 /* WKTextInputViewController.h in Headers */,
     9686                                F4D5F51D206087A10038BBA8 /* WKTextInputListViewController.h in Headers */,
    96809687                                0FCB4E6818BBE3D9000FCFC9 /* WKTextInputWindowController.h in Headers */,
    96819688                                2E16B6D42017BA37008996D6 /* WKTextSuggestionButton.h in Headers */,
     
    1121011217                                2E16B6CE2017B7AD008996D6 /* WKFocusedFormControlView.mm in Sources */,
    1121111218                                2E16B6B92017AB9C008996D6 /* WKFocusedFormControlViewController.mm in Sources */,
     11219                                F4D5F520206087A10038BBA8 /* WKFormControlListViewController.mm in Sources */,
    1121211220                                C54256B618BEC18C00DE4179 /* WKFormInputControl.mm in Sources */,
    1121311221                                C54256B918BEC18C00DE4179 /* WKFormPopover.mm in Sources */,
     
    1132211330                                2DD67A361BD861060053B251 /* WKTextFinderClient.mm in Sources */,
    1132311331                                2E16B6A720171693008996D6 /* WKTextFormControlViewController.mm in Sources */,
    11324                                 2E16B6CB2017B768008996D6 /* WKTextInputViewController.mm in Sources */,
     11332                                F4D5F51E206087A10038BBA8 /* WKTextInputListViewController.mm in Sources */,
    1132511333                                0FCB4E6918BBE3D9000FCFC9 /* WKTextInputWindowController.mm in Sources */,
    1132611334                                2E16B6D52017BA37008996D6 /* WKTextSuggestionButton.mm in Sources */,
Note: See TracChangeset for help on using the changeset viewer.