Skip to content

Commit

Permalink
Adopt UIExtendedTextInputTraits and -[UIAsyncTextInput extendedTraits…
Browse files Browse the repository at this point in the history
…Delegate]

https://bugs.webkit.org/show_bug.cgi?id=264977
rdar://118526529

Reviewed by Tim Horton.

Adopt the new `UIExtendedTextInputTraits` protocol (which offers additional properties in addition
to the existing API properties on `UITextInputTraits`); this is passed from WebKit to UIKit via a
new `UIAsyncTextInput` delegate method, `-extendedTraitsDelegate`.

* Source/WebKit/Platform/spi/ios/UIKitSPI.h:
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:

Rename the existing `_traits` object (a concrete `UITextInputTraits` object) to
`_legacyTextInputTraits`, and introduce a new `_extendedTextInputTraits` object, which is returned
from the new `UIAsyncTextInput` delegate method.

* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTextInputTraitsForInteractionTintColor]):
(-[WKContentView tintColorDidChange]):
(-[WKContentView textInputTraits]):
(-[WKContentView textInputTraitsForWebView]):
(-[WKContentView _updateTextInputTraits:]):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
(-[WKContentView extendedTraitsDelegate]):
(-[WKContentView _updateInteractionTintColor:]): Deleted.

Update this to set colors on either `_extendedTextInputTraits` or `_legacyTextInputTraits`, instead
of having the caller pass in the traits object. This is only ever used to update the currently
cached traits object, so there's no change in behavior here.

* Source/WebKit/UIProcess/ios/WKExtendedTextInputTraits.h: Added.
* Source/WebKit/UIProcess/ios/WKExtendedTextInputTraits.mm: Added.
(WebKit::defaultInsertionPointColor):
(WebKit::defaultSelectionGrabberColor):
(WebKit::defaultSelectionHighlightColor):
(-[WKExtendedTextInputTraits setTextContentType:]):
(-[WKExtendedTextInputTraits textContentType]):
(-[WKExtendedTextInputTraits setInsertionPointColor:]):
(-[WKExtendedTextInputTraits insertionPointColor]):
(-[WKExtendedTextInputTraits setSelectionBarColor:]):
(-[WKExtendedTextInputTraits selectionBarColor]):
(-[WKExtendedTextInputTraits setSelectionHighlightColor:]):
(-[WKExtendedTextInputTraits selectionHighlightColor]):
(-[WKExtendedTextInputTraits setSelectionColorsToMatchTintColor:]):

Add a new concrete implementation of `UIExtendedTextInputTraits` that's instantiated in WebKit and
returned via `-[UIAsyncTextInput extendedTraitsDelegate]`. This also eliminates use of another SPI
method, `-_setColorsToMatchTintColor:`, albeit at the cost of hard-coding some system colors related
to text interaction.

* Source/WebKit/WebKit.xcodeproj/project.pbxproj:

Canonical link: https://commits.webkit.org/270854@main
  • Loading branch information
whsieh committed Nov 17, 2023
1 parent 6cee4ab commit 7fe2f32
Show file tree
Hide file tree
Showing 7 changed files with 234 additions and 17 deletions.
11 changes: 11 additions & 0 deletions Source/WebKit/Platform/spi/ios/UIKitSPI.h
Original file line number Diff line number Diff line change
Expand Up @@ -1238,6 +1238,17 @@ typedef NS_ENUM(NSUInteger, _UIScrollDeviceCategory) {

@end

@protocol UIExtendedTextInputTraits_Staging_117880911<UITextInputTraits>
@optional

@property (nonatomic, readonly) BOOL isSingleLineDocument;
@property (nonatomic, readonly) BOOL typingAdaptationDisabled;
@property (nonatomic, readonly) UIColor *insertionPointColor;
@property (nonatomic, readonly) UIColor *selectionBarColor;
@property (nonatomic, readonly) UIColor *selectionHighlightColor;

@end

#if !defined(UI_DIRECTIONAL_TEXT_RANGE_STRUCT)

typedef struct {
Expand Down
1 change: 1 addition & 0 deletions Source/WebKit/SourcesCocoa.txt
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,7 @@ UIProcess/ios/WKApplicationStateTrackingView.mm
UIProcess/ios/WKContentView.mm @no-unify
UIProcess/ios/WKContentViewInteraction.mm @no-unify
UIProcess/ios/WKDeferringGestureRecognizer.mm
UIProcess/ios/WKExtendedTextInputTraits.mm
UIProcess/ios/WKGeolocationProviderIOS.mm
UIProcess/ios/WKHighlightLongPressGestureRecognizer.mm
UIProcess/ios/WKImageAnalysisGestureRecognizer.mm
Expand Down
4 changes: 3 additions & 1 deletion Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ struct ImageAnalysisContextMenuActionData {

} // namespace WebKit

@class WKExtendedTextInputTraits;
@class WKFocusedElementInfo;
@protocol UIMenuBuilder;
@protocol WKFormControl;
Expand Down Expand Up @@ -346,7 +347,8 @@ struct ImageAnalysisContextMenuActionData {
RetainPtr<WKTextInteractionWrapper> _textInteractionWrapper;
OptionSet<WebKit::SuppressSelectionAssistantReason> _suppressSelectionAssistantReasons;

RetainPtr<UITextInputTraits> _traits;
RetainPtr<UITextInputTraits> _legacyTextInputTraits;
RetainPtr<WKExtendedTextInputTraits> _extendedTextInputTraits;
RetainPtr<WKFormAccessoryView> _formAccessoryView;
RetainPtr<WKTapHighlightView> _tapHighlightView;
RetainPtr<UIView> _interactionViewsContainerView;
Expand Down
54 changes: 38 additions & 16 deletions Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
#import "WKDatePickerViewController.h"
#import "WKDateTimeInputControl.h"
#import "WKError.h"
#import "WKExtendedTextInputTraits.h"
#import "WKFocusedFormControlView.h"
#import "WKFormSelectControl.h"
#import "WKFrameInfoInternal.h"
Expand Down Expand Up @@ -4243,9 +4244,13 @@ - (UIColor *)_cascadeInteractionTintColor
return caretColorFromStyle.autorelease() ?: tintColorFromNativeView;
}

- (void)_updateInteractionTintColor:(UITextInputTraits *)traits
- (void)_updateTextInputTraitsForInteractionTintColor
{
[traits _setColorsToMatchTintColor:[self _cascadeInteractionTintColor]];
#if !PLATFORM(WATCHOS)
auto tintColor = [self _cascadeInteractionTintColor];
[_legacyTextInputTraits _setColorsToMatchTintColor:tintColor];
[_extendedTextInputTraits setSelectionColorsToMatchTintColor:tintColor];
#endif
}

- (void)tintColorDidChange
Expand All @@ -4257,7 +4262,7 @@ - (void)tintColorDidChange
BOOL shouldUpdateTextSelection = self.isFirstResponder && [self canShowNonEmptySelectionView];
if (shouldUpdateTextSelection)
[_textInteractionWrapper deactivateSelection];
[self _updateInteractionTintColor:_traits.get()];
[self _updateTextInputTraitsForInteractionTintColor];
if (shouldUpdateTextSelection)
[_textInteractionWrapper activateSelection];

Expand Down Expand Up @@ -6510,21 +6515,22 @@ - (NSString *)contentTypeFromFieldName:(WebCore::AutofillFieldName)fieldName
// Direct access to the (private) UITextInputTraits object.
- (UITextInputTraits *)textInputTraits
{
_traits = [_webView _textInputTraits];
return _traits.get();
RELEASE_ASSERT_ASYNC_TEXT_INTERACTIONS_DISABLED();

_legacyTextInputTraits = [_webView _textInputTraits];
return _legacyTextInputTraits.get();
}

- (UITextInputTraits *)textInputTraitsForWebView
{
if (!_traits)
_traits = adoptNS([[UITextInputTraits alloc] init]);
if (!_legacyTextInputTraits)
_legacyTextInputTraits = adoptNS([UITextInputTraits new]);

// Do not change traits when dismissing the keyboard.
if (_isBlurringFocusedElement)
return _traits.get();
if (!_isBlurringFocusedElement)
[self _updateTextInputTraits:_legacyTextInputTraits.get()];

[self _updateTextInputTraits:_traits.get()];
return _traits.get();
return _legacyTextInputTraits.get();
}

- (void)_updateTextInputTraits:(id<UITextInputTraits>)traits
Expand Down Expand Up @@ -6639,11 +6645,13 @@ - (void)_updateTextInputTraits:(id<UITextInputTraits>)traits
traits.textContentType = [self contentTypeFromFieldName:_focusedElementInformation.autofillFieldName];
#endif

auto extendedTraits = dynamic_objc_cast<WKExtendedTextInputTraits>(traits);
auto privateTraits = (id <UITextInputTraits_Private>)traits;
if ([privateTraits respondsToSelector:@selector(setIsSingleLineDocument:)]) {
switch (_focusedElementInformation.elementType) {
case WebKit::InputType::ContentEditable:
case WebKit::InputType::TextArea:
extendedTraits.singleLineDocument = NO;
privateTraits.isSingleLineDocument = NO;
break;
#if ENABLE(INPUT_TYPE_COLOR)
Expand All @@ -6664,15 +6672,19 @@ - (void)_updateTextInputTraits:(id<UITextInputTraits>)traits
case WebKit::InputType::Time:
case WebKit::InputType::URL:
case WebKit::InputType::Week:
extendedTraits.singleLineDocument = YES;
privateTraits.isSingleLineDocument = YES;
break;
case WebKit::InputType::None:
break;
}
}

if ([privateTraits respondsToSelector:@selector(setLearnsCorrections:)] && _focusedElementInformation.hasEverBeenPasswordField)
privateTraits.learnsCorrections = NO;
if (_focusedElementInformation.hasEverBeenPasswordField) {
if ([privateTraits respondsToSelector:@selector(setLearnsCorrections:)])
privateTraits.learnsCorrections = NO;
extendedTraits.typingAdaptationDisabled = YES;
}

if ([privateTraits respondsToSelector:@selector(setShortcutConversionType:)])
privateTraits.shortcutConversionType = _focusedElementInformation.elementType == WebKit::InputType::Password ? UITextShortcutConversionTypeNo : UITextShortcutConversionTypeDefault;
Expand All @@ -6681,8 +6693,7 @@ - (void)_updateTextInputTraits:(id<UITextInputTraits>)traits
traits.inlinePredictionType = (self.webView.configuration.allowsInlinePredictions || _page->preferences().inlinePredictionsInAllEditableElementsEnabled()) ? UITextInlinePredictionTypeDefault : UITextInlinePredictionTypeNo;
#endif

if ([traits isKindOfClass:UITextInputTraits.class])
[self _updateInteractionTintColor:(UITextInputTraits *)traits];
[self _updateTextInputTraitsForInteractionTintColor];
}

- (UITextInteractionAssistant *)interactionAssistant
Expand Down Expand Up @@ -7686,7 +7697,7 @@ - (void)_elementDidFocus:(const WebKit::FocusedElementInformation&)information u
BOOL requiresKeyboard = mayContainSelectableText(information.elementType);
BOOL editableChanged = [self setIsEditable:requiresKeyboard];
_focusedElementInformation = information;
_traits = nil;
_legacyTextInputTraits = nil;

if (![self isFirstResponder])
[self becomeFirstResponder];
Expand Down Expand Up @@ -12469,6 +12480,17 @@ - (void)adjustSelection:(UIDirectionalTextRange)range completionHandler:(void (^
[self _internalAdjustSelectionWithOffset:range.offset lengthDelta:range.length completionHandler:completionHandler];
}

- (WKExtendedTextInputTraits *)extendedTraitsDelegate
{
if (!_extendedTextInputTraits)
_extendedTextInputTraits = adoptNS([WKExtendedTextInputTraits new]);

if (!_isBlurringFocusedElement)
[self _updateTextInputTraits:_extendedTextInputTraits.get()];

return _extendedTextInputTraits.get();
}

#endif // HAVE(UI_ASYNC_TEXT_INTERACTION)

- (void)_internalAdjustSelectionWithOffset:(NSInteger)offset lengthDelta:(NSInteger)lengthDelta completionHandler:(void (^)(void))completionHandler
Expand Down
59 changes: 59 additions & 0 deletions Source/WebKit/UIProcess/ios/WKExtendedTextInputTraits.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright (C) 2023 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 PLATFORM(IOS_FAMILY)

#import "UIKitSPI.h"

@interface WKExtendedTextInputTraits : NSObject
#if HAVE(UI_ASYNC_TEXT_INTERACTION)
<UIExtendedTextInputTraits_Staging_117880911>
#endif

@property (nonatomic) UITextAutocapitalizationType autocapitalizationType;
@property (nonatomic) UITextAutocorrectionType autocorrectionType;
@property (nonatomic) UITextSpellCheckingType spellCheckingType;
@property (nonatomic) UITextSmartQuotesType smartQuotesType;
@property (nonatomic) UITextSmartDashesType smartDashesType;
@property (nonatomic) UITextInlinePredictionType inlinePredictionType;
@property (nonatomic) UIKeyboardType keyboardType;
@property (nonatomic) UIKeyboardAppearance keyboardAppearance;
@property (nonatomic) UIReturnKeyType returnKeyType;
@property (nonatomic, getter=isSecureTextEntry) BOOL secureTextEntry;
@property (nonatomic, getter=isSingleLineDocument) BOOL singleLineDocument;
@property (nonatomic) BOOL typingAdaptationDisabled;
@property (nonatomic, copy) UITextContentType textContentType;

@property (nonatomic, strong) UIColor *insertionPointColor;
@property (nonatomic, strong) UIColor *selectionBarColor;
@property (nonatomic, strong) UIColor *selectionHighlightColor;

- (void)setSelectionColorsToMatchTintColor:(UIColor *)tintColor;

@end

#endif // PLATFORM(IOS_FAMILY)
116 changes: 116 additions & 0 deletions Source/WebKit/UIProcess/ios/WKExtendedTextInputTraits.mm
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
/*
* Copyright (C) 2023 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 "WKExtendedTextInputTraits.h"

#if PLATFORM(IOS_FAMILY)

namespace WebKit {

static constexpr auto selectionHighlightAlphaComponent = 0.2;

static UIColor *defaultInsertionPointColor()
{
#if PLATFORM(MACCATALYST)
return UIColor.systemBlueColor;
#else
static NeverDestroyed<RetainPtr<UIColor>> color = [UIColor colorWithRed:0.26 green:0.42 blue:0.95 alpha:1];
return color->get();
#endif
}

static UIColor *defaultSelectionGrabberColor()
{
static NeverDestroyed<RetainPtr<UIColor>> color = [UIColor colorWithRed:0.078 green:0.435 blue:0.882 alpha:1];
return color->get();
}

static UIColor *defaultSelectionHighlightColor()
{
static NeverDestroyed<RetainPtr<UIColor>> color = [UIColor colorWithRed:0.33 green:0.65 blue:0.2 alpha:1];
return color->get();
}

} // namespace WebKit

@implementation WKExtendedTextInputTraits {
RetainPtr<UITextContentType> _textContentType;
RetainPtr<UIColor> _insertionPointColor;
RetainPtr<UIColor> _selectionBarColor;
RetainPtr<UIColor> _selectionHighlightColor;
}

- (void)setTextContentType:(UITextContentType)type
{
_textContentType = adoptNS(type.copy);
}

- (UITextContentType)textContentType
{
return _textContentType.get();
}

- (void)setInsertionPointColor:(UIColor *)color
{
_insertionPointColor = color;
}

- (UIColor *)insertionPointColor
{
return _insertionPointColor.get();
}

- (void)setSelectionBarColor:(UIColor *)color
{
_selectionBarColor = color;
}

- (UIColor *)selectionBarColor
{
return _selectionBarColor.get();
}

- (void)setSelectionHighlightColor:(UIColor *)color
{
_selectionHighlightColor = color;
}

- (UIColor *)selectionHighlightColor
{
return _selectionHighlightColor.get();
}

- (void)setSelectionColorsToMatchTintColor:(UIColor *)tintColor
{
BOOL shouldUseTintColor = tintColor && tintColor != UIColor.systemBlueColor;
self.insertionPointColor = shouldUseTintColor ? tintColor : WebKit::defaultInsertionPointColor();
self.selectionBarColor = shouldUseTintColor ? tintColor : WebKit::defaultSelectionGrabberColor();
self.selectionHighlightColor = shouldUseTintColor ? [tintColor colorWithAlphaComponent:WebKit::selectionHighlightAlphaComponent] : WebKit::defaultSelectionHighlightColor();
}

@end

#endif // PLATFORM(IOS_FAMILY)
6 changes: 6 additions & 0 deletions Source/WebKit/WebKit.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -2352,6 +2352,7 @@
F4DB54E62319E733009E3155 /* WKHighlightLongPressGestureRecognizer.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DB54E42319E733009E3155 /* WKHighlightLongPressGestureRecognizer.h */; };
F4DBC0BE276AA6A70001D169 /* _WKModalContainerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DBC0BC276AA6A70001D169 /* _WKModalContainerInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
F4DBC0C1276AA6CA0001D169 /* _WKModalContainerInfoInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DBC0C0276AA6CA0001D169 /* _WKModalContainerInfoInternal.h */; };
F4DF71E82B069AC6009A4522 /* WKExtendedTextInputTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = F4DF71D72B0689A5009A4522 /* WKExtendedTextInputTraits.h */; };
F4E727232A547F0400CE34FD /* WKTouchEventsGestureRecognizerTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = F4E727222A547E2100CE34FD /* WKTouchEventsGestureRecognizerTypes.h */; };
F4EB4AFD269CD7F300D297AE /* OSStateSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = F4EB4AFC269CD23600D297AE /* OSStateSPI.h */; };
F4EC94E32356CC57000BB614 /* ApplicationServicesSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 29D04E2821F7C73D0076741D /* ApplicationServicesSPI.h */; };
Expand Down Expand Up @@ -7623,6 +7624,8 @@
F4DBC0C0276AA6CA0001D169 /* _WKModalContainerInfoInternal.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = _WKModalContainerInfoInternal.h; sourceTree = "<group>"; };
F4DD79EE2AD59BA6000C6821 /* WKVelocityTrackingScrollView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKVelocityTrackingScrollView.h; path = ios/WKVelocityTrackingScrollView.h; sourceTree = "<group>"; };
F4DD79EF2AD59BA6000C6821 /* WKVelocityTrackingScrollView.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKVelocityTrackingScrollView.mm; path = ios/WKVelocityTrackingScrollView.mm; sourceTree = "<group>"; };
F4DF71D72B0689A5009A4522 /* WKExtendedTextInputTraits.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKExtendedTextInputTraits.h; path = ios/WKExtendedTextInputTraits.h; sourceTree = "<group>"; };
F4DF71D82B0689A5009A4522 /* WKExtendedTextInputTraits.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = WKExtendedTextInputTraits.mm; path = ios/WKExtendedTextInputTraits.mm; sourceTree = "<group>"; };
F4E2B44A268FDE1A00327ABC /* TapHandlingResult.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = TapHandlingResult.h; path = ios/TapHandlingResult.h; sourceTree = "<group>"; };
F4E47BB527B5AE5B00813B38 /* CocoaImage.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = CocoaImage.mm; sourceTree = "<group>"; };
F4E727222A547E2100CE34FD /* WKTouchEventsGestureRecognizerTypes.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = WKTouchEventsGestureRecognizerTypes.h; path = ios/WKTouchEventsGestureRecognizerTypes.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -10169,6 +10172,8 @@
0FCB4E6B18BBF26A000FCFC9 /* WKContentViewInteraction.mm */,
F44815622387820000982657 /* WKDeferringGestureRecognizer.h */,
F44815632387820000982657 /* WKDeferringGestureRecognizer.mm */,
F4DF71D72B0689A5009A4522 /* WKExtendedTextInputTraits.h */,
F4DF71D82B0689A5009A4522 /* WKExtendedTextInputTraits.mm */,
0FCB4E3F18BBE044000FCFC9 /* WKGeolocationProviderIOS.h */,
0FCB4E4018BBE044000FCFC9 /* WKGeolocationProviderIOS.mm */,
F4DB54E42319E733009E3155 /* WKHighlightLongPressGestureRecognizer.h */,
Expand Down Expand Up @@ -15982,6 +15987,7 @@
37B5045219EEF31300CE2CF8 /* WKErrorPrivate.h in Headers */,
BC4075FC124FF0270068F20A /* WKErrorRef.h in Headers */,
BC40783D1250FADD0068F20A /* WKEvent.h in Headers */,
F4DF71E82B069AC6009A4522 /* WKExtendedTextInputTraits.h in Headers */,
27A2BDFC28932C4200758E99 /* WKFeature.h in Headers */,
A58B6F0818FCA733008CBA53 /* WKFileUploadPanel.h in Headers */,
514AB9F02360D2A900EDC396 /* WKFindConfiguration.h in Headers */,
Expand Down

0 comments on commit 7fe2f32

Please sign in to comment.