Title: [237053] trunk/Source/WebKit
Revision
237053
Author
[email protected]
Date
2018-10-11 16:41:18 -0700 (Thu, 11 Oct 2018)

Log Message

Hardware keyboard arrow keys/spacebar don't scroll PDFs (works for web content)
https://bugs.webkit.org/show_bug.cgi?id=190495
<rdar://problem/22734616>

Reviewed by Andy Estes.

Hook up WKKeyboardScrollViewAnimator to the scroll view when
WKPDFView is installed.

* Platform/spi/ios/UIKitSPI.h:
Move _inputFlags to the IPI section so we can remove it
from WKContentViewInteraction.

* SourcesCocoa.txt:
* UIProcess/ios/WKWebEvent.h:
* UIProcess/ios/WKWebEvent.mm:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView handleKeyEvent:]):
(-[WKWebEvent dealloc]): Deleted.
* WebKit.xcodeproj/project.pbxproj:
Move WKWebEvent out of WKContentViewInteraction.
We tend to prefer one file per class.
Also, move the code to make a WKWebEvent from a UIEvent into
-initWithEvent:, instead of being ad-hoc in WKContentViewInteraction.
Adopt RetainPtr for the WKWebEvent's uiEvent property.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _handleKeyUIEvent:]):
* UIProcess/Cocoa/WKWebViewContentProvider.h:
Plumb hardware keyboard events to custom content views, if they want them.

* UIProcess/ios/WKPDFView.mm:
(-[WKPDFView dealloc]):
(-[WKPDFView web_handleKeyEvent:]):
(-[WKPDFView web_initWithFrame:webView:mimeType:]):
Install a WKKeyboardScrollViewAnimator and plumb key events to it.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (237052 => 237053)


--- trunk/Source/WebKit/ChangeLog	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/ChangeLog	2018-10-11 23:41:18 UTC (rev 237053)
@@ -1,3 +1,42 @@
+2018-10-11  Tim Horton  <[email protected]>
+
+        Hardware keyboard arrow keys/spacebar don't scroll PDFs (works for web content)
+        https://bugs.webkit.org/show_bug.cgi?id=190495
+        <rdar://problem/22734616>
+
+        Reviewed by Andy Estes.
+
+        Hook up WKKeyboardScrollViewAnimator to the scroll view when
+        WKPDFView is installed.
+
+        * Platform/spi/ios/UIKitSPI.h:
+        Move _inputFlags to the IPI section so we can remove it
+        from WKContentViewInteraction.
+
+        * SourcesCocoa.txt:
+        * UIProcess/ios/WKWebEvent.h:
+        * UIProcess/ios/WKWebEvent.mm:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView handleKeyEvent:]):
+        (-[WKWebEvent dealloc]): Deleted.
+        * WebKit.xcodeproj/project.pbxproj:
+        Move WKWebEvent out of WKContentViewInteraction.
+        We tend to prefer one file per class.
+        Also, move the code to make a WKWebEvent from a UIEvent into
+        -initWithEvent:, instead of being ad-hoc in WKContentViewInteraction.
+        Adopt RetainPtr for the WKWebEvent's uiEvent property.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _handleKeyUIEvent:]):
+        * UIProcess/Cocoa/WKWebViewContentProvider.h:
+        Plumb hardware keyboard events to custom content views, if they want them.
+
+        * UIProcess/ios/WKPDFView.mm:
+        (-[WKPDFView dealloc]):
+        (-[WKPDFView web_handleKeyEvent:]):
+        (-[WKPDFView web_initWithFrame:webView:mimeType:]):
+        Install a WKKeyboardScrollViewAnimator and plumb key events to it.
+
 2018-10-11  Antoine Quint  <[email protected]>
 
         [Web Animations] Allow iOS to also control toggling Web Animations CSS Integration

Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (237052 => 237053)


--- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h	2018-10-11 23:41:18 UTC (rev 237053)
@@ -187,7 +187,6 @@
 } UIKeyboardInputFlags;
 
 @interface UIEvent ()
-@property (nonatomic, readonly) UIKeyboardInputFlags _inputFlags;
 - (void *)_hidEvent;
 - (NSString *)_unmodifiedInput;
 - (NSString *)_modifiedInput;
@@ -1014,6 +1013,7 @@
 @end
 
 @interface UIPhysicalKeyboardEvent ()
+@property (nonatomic, readonly) UIKeyboardInputFlags _inputFlags;
 - (UIPhysicalKeyboardEvent *)_cloneEvent NS_RETURNS_RETAINED;
 @property (nonatomic, readonly) CFIndex _keyCode;
 @end

Modified: trunk/Source/WebKit/SourcesCocoa.txt (237052 => 237053)


--- trunk/Source/WebKit/SourcesCocoa.txt	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/SourcesCocoa.txt	2018-10-11 23:41:18 UTC (rev 237053)
@@ -396,6 +396,7 @@
 UIProcess/ios/WKScrollView.mm
 UIProcess/ios/WKSyntheticClickTapGestureRecognizer.m
 UIProcess/ios/WKSystemPreviewView.mm
+UIProcess/ios/WKWebEvent.mm
 
 UIProcess/Launcher/mac/ProcessLauncherMac.mm
 

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (237052 => 237053)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-10-11 23:41:18 UTC (rev 237053)
@@ -1525,6 +1525,21 @@
     _page->didLayoutForCustomContentProvider();
 }
 
+- (void)_handleKeyUIEvent:(::UIEvent *)event
+{
+    // We only want to handle key events from the hardware keyboard when we are
+    // first responder and a custom content view is installed; otherwise,
+    // WKContentView will be the first responder and expects to get key events directly.
+    if ([self isFirstResponder] && event._hidEvent) {
+        if ([_customContentView respondsToSelector:@selector(web_handleKeyEvent:)]) {
+            if ([_customContentView web_handleKeyEvent:event])
+                return;
+        }
+    }
+
+    [super _handleKeyUIEvent:event];
+}
+
 - (void)_willInvokeUIScrollViewDelegateCallback
 {
     _delayUpdateVisibleContentRects = YES;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h (237052 => 237053)


--- trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WKWebViewContentProvider.h	2018-10-11 23:41:18 UTC (rev 237053)
@@ -33,6 +33,7 @@
 #import <WebKit/_WKFindOptions.h>
 
 @class NSData;
+@class UIEvent;
 @class UIScrollView;
 @class UIView;
 @class WKWebView;
@@ -60,6 +61,7 @@
 - (void)web_scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale;
 - (void)web_scrollViewDidZoom:(UIScrollView *)scrollView;
 - (void)web_beginAnimatedResizeWithUpdates:(void (^)(void))updateBlock;
+- (BOOL)web_handleKeyEvent:(UIEvent *)event;
 @property (nonatomic, readonly) NSData *web_dataRepresentation;
 @property (nonatomic, readonly) NSString *web_suggestedFilename;
 @property (nonatomic, readonly) BOOL web_isBackground;

Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (237052 => 237053)


--- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm	2018-10-11 23:41:18 UTC (rev 237053)
@@ -56,6 +56,7 @@
 #import "WKTextInputListViewController.h"
 #import "WKTimePickerViewController.h"
 #import "WKUIDelegatePrivate.h"
+#import "WKWebEvent.h"
 #import "WKWebViewConfiguration.h"
 #import "WKWebViewConfigurationPrivate.h"
 #import "WKWebViewInternal.h"
@@ -122,24 +123,6 @@
 #import <WebKitAdditions/WKPlatformFileUploadPanel.mm>
 #endif
 
-@interface UIEvent (UIEventInternal)
-@property (nonatomic, assign) UIKeyboardInputFlags _inputFlags;
-@end
-
-@interface WKWebEvent : WebEvent
-@property (nonatomic, retain) UIEvent *uiEvent;
-@end
-
-@implementation WKWebEvent
-
-- (void)dealloc
-{
-    [_uiEvent release];
-    [super dealloc];
-}
-
-@end
-
 #if PLATFORM(WATCHOS)
 
 @interface WKContentView (WatchSupport) <WKFocusedFormControlViewDelegate, WKSelectMenuListViewControllerDelegate, WKTextInputListViewControllerDelegate>
@@ -3794,28 +3777,9 @@
     if (event == _uiEventBeingResent)
         return;
 
-    uint16_t keyCode;
-    BOOL isHardwareKeyboardEvent = !!event._hidEvent;
-    if (!isHardwareKeyboardEvent)
-        keyCode = 0;
-    else {
-        UIPhysicalKeyboardEvent *keyEvent = (UIPhysicalKeyboardEvent *)event;
-        keyCode = keyEvent._keyCode;
-        event = [[keyEvent _cloneEvent] autorelease]; // UIKit uses a singleton for hardware keyboard events.
-    }
-    WKWebEvent *webEvent = [[[WKWebEvent alloc] initWithKeyEventType:(event._isKeyDown) ? WebEventKeyDown : WebEventKeyUp
-                                                           timeStamp:event.timestamp
-                                                          characters:event._modifiedInput
-                                         charactersIgnoringModifiers:event._unmodifiedInput
-                                                           modifiers:event._modifierFlags
-                                                         isRepeating:(event._inputFlags & kUIKeyboardInputRepeat)
-                                                           withFlags:event._inputFlags
-                                                             keyCode:keyCode
-                                                            isTabKey:[event._modifiedInput isEqualToString:@"\t"]
-                                                        characterSet:WebEventCharacterSetUnicode] autorelease];
-    webEvent.uiEvent = event;
+    auto webEvent = adoptNS([[WKWebEvent alloc] initWithEvent:event]);
     
-    [self handleKeyWebEvent:webEvent];    
+    [self handleKeyWebEvent:webEvent.get()];
 }
 
 - (void)handleKeyWebEvent:(::WebEvent *)theEvent

Modified: trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm (237052 => 237053)


--- trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/UIProcess/ios/WKPDFView.mm	2018-10-11 23:41:18 UTC (rev 237053)
@@ -31,8 +31,11 @@
 #import "APIUIClient.h"
 #import "FindClient.h"
 #import "PDFKitSPI.h"
+#import "UIKitSPI.h"
 #import "WKActionSheetAssistant.h"
+#import "WKKeyboardScrollingAnimator.h"
 #import "WKUIDelegatePrivate.h"
+#import "WKWebEvent.h"
 #import "WKWebViewInternal.h"
 #import "WebPageProxy.h"
 #import "_WKWebViewPrintFormatterInternal.h"
@@ -65,6 +68,7 @@
     WebKit::InteractionInformationAtPosition _positionInformation;
     RetainPtr<NSString> _suggestedFilename;
     WeakObjCPtr<WKWebView> _webView;
+    RetainPtr<WKKeyboardScrollViewAnimator> _keyboardScrollingAnimator;
 }
 
 - (void)dealloc
@@ -72,9 +76,20 @@
     [_actionSheetAssistant cleanupSheet];
     [[_hostViewController view] removeFromSuperview];
     [_pageNumberIndicator removeFromSuperview];
+    [_keyboardScrollingAnimator invalidate];
     [super dealloc];
 }
 
+- (BOOL)web_handleKeyEvent:(::UIEvent *)event
+{
+    auto webEvent = adoptNS([[WKWebEvent alloc] initWithEvent:event]);
+
+    if ([_keyboardScrollingAnimator beginWithEvent:webEvent.get()])
+        return YES;
+    [_keyboardScrollingAnimator handleKeyEvent:webEvent.get()];
+    return NO;
+}
+
 - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
 {
     return [_hostViewController gestureRecognizerShouldBegin:gestureRecognizer];
@@ -99,6 +114,8 @@
     self.backgroundColor = UIColor.grayColor;
     webView.scrollView.backgroundColor = UIColor.grayColor;
 
+    _keyboardScrollingAnimator = adoptNS([[WKKeyboardScrollViewAnimator alloc] initWithScrollView:webView.scrollView]);
+
     _webView = webView;
     return self;
 }

Added: trunk/Source/WebKit/UIProcess/ios/WKWebEvent.h (0 => 237053)


--- trunk/Source/WebKit/UIProcess/ios/WKWebEvent.h	                        (rev 0)
+++ trunk/Source/WebKit/UIProcess/ios/WKWebEvent.h	2018-10-11 23:41:18 UTC (rev 237053)
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#if PLATFORM(IOS)
+
+#import <WebCore/WebEvent.h>
+
+@class UIEvent;
+
+@interface WKWebEvent : WebEvent
+
+- (instancetype)initWithEvent:(UIEvent *)event;
+
+@property (nonatomic, retain, readonly) UIEvent *uiEvent;
+
+@end
+
+#endif // PLATFORM(IOS)

Added: trunk/Source/WebKit/UIProcess/ios/WKWebEvent.mm (0 => 237053)


--- trunk/Source/WebKit/UIProcess/ios/WKWebEvent.mm	                        (rev 0)
+++ trunk/Source/WebKit/UIProcess/ios/WKWebEvent.mm	2018-10-11 23:41:18 UTC (rev 237053)
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2018 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKWebEvent.h"
+
+#if PLATFORM(IOS)
+
+#import "UIKitSPI.h"
+#import <wtf/RetainPtr.h>
+
+@implementation WKWebEvent {
+    RetainPtr<UIEvent> _uiEvent;
+}
+
+- (instancetype)initWithEvent:(UIEvent *)event
+{
+    uint16_t keyCode;
+    UIKeyboardInputFlags inputFlags;
+    BOOL isHardwareKeyboardEvent = !!event._hidEvent;
+    if (!isHardwareKeyboardEvent) {
+        keyCode = 0;
+        inputFlags = (UIKeyboardInputFlags)0;
+    } else {
+        UIPhysicalKeyboardEvent *keyEvent = (UIPhysicalKeyboardEvent *)event;
+        keyCode = keyEvent._keyCode;
+        inputFlags = keyEvent._inputFlags;
+        event = [[keyEvent _cloneEvent] autorelease]; // UIKit uses a singleton for hardware keyboard events.
+    }
+
+    self = [super initWithKeyEventType:(event._isKeyDown ? WebEventKeyDown : WebEventKeyUp) timeStamp:event.timestamp characters:event._modifiedInput charactersIgnoringModifiers:event._unmodifiedInput modifiers:event._modifierFlags isRepeating:(inputFlags & kUIKeyboardInputRepeat) withFlags:inputFlags keyCode:keyCode isTabKey:[event._modifiedInput isEqualToString:@"\t"] characterSet:WebEventCharacterSetUnicode];
+    if (!self)
+        return nil;
+
+    _uiEvent = event;
+
+    return self;
+}
+
+- (UIEvent *)uiEvent
+{
+    return _uiEvent.get();
+}
+
+@end
+
+#endif // PLATFORM(IOS)

Modified: trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj (237052 => 237053)


--- trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-10-11 22:52:43 UTC (rev 237052)
+++ trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj	2018-10-11 23:41:18 UTC (rev 237053)
@@ -570,6 +570,7 @@
 		2D12DAB520662C73006F00FB /* WKAnimationDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D12DAB420662C73006F00FB /* WKAnimationDelegate.h */; };
 		2D1B5D5D185869C8006C6596 /* ViewGestureControllerMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2D1B5D5B185869C8006C6596 /* ViewGestureControllerMessageReceiver.cpp */; };
 		2D1B5D5E185869C8006C6596 /* ViewGestureControllerMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D1B5D5C185869C8006C6596 /* ViewGestureControllerMessages.h */; };
+		2D1E8223216FFF5100A15265 /* WKWebEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D1E8221216FFF5000A15265 /* WKWebEvent.h */; };
 		2D28A4971AF965A100F190C9 /* WKViewLayoutStrategy.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D28A4951AF965A100F190C9 /* WKViewLayoutStrategy.h */; };
 		2D29ECD0192F2C2E00984B78 /* RemoteLayerTreeDisplayRefreshMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D29ECCE192F2C2E00984B78 /* RemoteLayerTreeDisplayRefreshMonitor.h */; };
 		2D3A65DB1A7C3A1F00CAC637 /* WKNavigationActionRef.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D3A65D91A7C3A1F00CAC637 /* WKNavigationActionRef.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1833,9 +1834,9 @@
 		00B9661518E24CBA00CE1F88 /* APIFindClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIFindClient.h; sourceTree = "<group>"; };
 		00B9661718E25AE100CE1F88 /* FindClient.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FindClient.mm; sourceTree = "<group>"; };
 		00B9661818E25AE100CE1F88 /* FindClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FindClient.h; sourceTree = "<group>"; };
+		07297F9C1C1711EA003F0735 /* DeviceIdHashSaltStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceIdHashSaltStorage.cpp; sourceTree = "<group>"; };
 		07297F9C1C17BBEA003F0735 /* UserMediaPermissionCheckProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UserMediaPermissionCheckProxy.cpp; sourceTree = "<group>"; };
 		07297F9D1C17BBEA003F0735 /* UserMediaPermissionCheckProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMediaPermissionCheckProxy.h; sourceTree = "<group>"; };
-		07297F9C1C1711EA003F0735 /* DeviceIdHashSaltStorage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeviceIdHashSaltStorage.cpp; sourceTree = "<group>"; };
 		07297F9D1C17BBEA223F0735 /* DeviceIdHashSaltStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DeviceIdHashSaltStorage.h; sourceTree = "<group>"; };
 		07297FA01C186ADB003F0735 /* WKUserMediaPermissionCheck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKUserMediaPermissionCheck.cpp; sourceTree = "<group>"; };
 		07297FA11C186ADB003F0735 /* WKUserMediaPermissionCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKUserMediaPermissionCheck.h; sourceTree = "<group>"; };
@@ -2459,6 +2460,8 @@
 		2D1B5D5A18586599006C6596 /* ViewGestureController.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = ViewGestureController.messages.in; sourceTree = "<group>"; };
 		2D1B5D5B185869C8006C6596 /* ViewGestureControllerMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ViewGestureControllerMessageReceiver.cpp; sourceTree = "<group>"; };
 		2D1B5D5C185869C8006C6596 /* ViewGestureControllerMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ViewGestureControllerMessages.h; sourceTree = "<group>"; };
+		2D1E8221216FFF5000A15265 /* WKWebEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WKWebEvent.h; path = ios/WKWebEvent.h; sourceTree = "<group>"; };
+		2D1E8222216FFF5100A15265 /* WKWebEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKWebEvent.mm; path = ios/WKWebEvent.mm; sourceTree = "<group>"; };
 		2D28A4951AF965A100F190C9 /* WKViewLayoutStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKViewLayoutStrategy.h; sourceTree = "<group>"; };
 		2D28A4961AF965A100F190C9 /* WKViewLayoutStrategy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKViewLayoutStrategy.mm; sourceTree = "<group>"; };
 		2D28F3E01885CCC1004B9EAE /* WebChromeClientIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WebChromeClientIOS.mm; path = ios/WebChromeClientIOS.mm; sourceTree = "<group>"; };
@@ -5773,6 +5776,8 @@
 				26F10BE719187E2E001D0E68 /* WKSyntheticClickTapGestureRecognizer.m */,
 				316B8B622054B55800BD4A62 /* WKSystemPreviewView.h */,
 				316B8B612054B55800BD4A62 /* WKSystemPreviewView.mm */,
+				2D1E8221216FFF5000A15265 /* WKWebEvent.h */,
+				2D1E8222216FFF5100A15265 /* WKWebEvent.mm */,
 			);
 			name = ios;
 			sourceTree = "<group>";
@@ -9740,6 +9745,7 @@
 				BFA6179F12F0B99D0033E0CA /* WKViewPrivate.h in Headers */,
 				C5E1AFE916B20B75006CC1F2 /* WKWebArchive.h in Headers */,
 				C5E1AFEB16B20B7E006CC1F2 /* WKWebArchiveResource.h in Headers */,
+				2D1E8223216FFF5100A15265 /* WKWebEvent.h in Headers */,
 				5CADDE05215046BD0067D309 /* WKWebProcess.h in Headers */,
 				1AA2E56718D77508003814BD /* WKWebProcessBundleParameters.h in Headers */,
 				BC989D82161A7E5D000D46D3 /* WKWebProcessPlugIn.h in Headers */,
@@ -10600,7 +10606,6 @@
 				2D92A77D212B6A7100F493FD /* Connection.cpp in Sources */,
 				2D92A77E212B6A7100F493FD /* DataReference.cpp in Sources */,
 				2D92A77F212B6A7100F493FD /* Decoder.cpp in Sources */,
-				07297F9E1C17BBEA014F0735 /* DeviceIdHashSaltStorage.cpp in Sources */,
 				1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */,
 				1A64229912DD029200CAAE2C /* DrawingAreaMessageReceiver.cpp in Sources */,
 				1A64230812DD09EB00CAAE2C /* DrawingAreaProxyMessageReceiver.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to