Title: [207447] trunk
Revision
207447
Author
commit-qu...@webkit.org
Date
2016-10-17 18:08:25 -0700 (Mon, 17 Oct 2016)

Log Message

Add test and infrastructure for link popover
https://bugs.webkit.org/show_bug.cgi?id=163406

Patch by Megan Gardner <megan_gard...@apple.com> on 2016-10-17
Reviewed by Simon Fraser.

Source/WebKit2:

Add infrastructure to see when a link popover appears, and what URL it has loaded.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView didShowForcePressPreview]):
(-[WKWebView didDismissForcePressPreview]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _contentsOfUserInterfaceItem:]):
(-[WKContentView _presentedViewControllerForPreviewItemController:]):
(-[WKContentView _previewItemController:didDismissPreview:committing:]):
(-[WKContentView _previewItemControllerDidCancelPreview:]):

Tools:

Added functionality test for link popovers.
Can query for what URL is loaded, and that the popover has appeared or has
been dismissed.
Added a link popover test.

* DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
* TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
* TestRunnerShared/UIScriptContext/UIScriptContext.h:
* TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::setDidShowForcePressPreviewCallback):
(WTR::UIScriptController::didShowForcePressPreviewCallback):
(WTR::UIScriptController::setDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::didDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::didEndFormControlInteractionCallback): Deleted.
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
* TestRunnerShared/UIScriptContext/UIScriptController.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
* WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView dealloc]):
(-[TestRunnerWKWebView didShowForcePressPreview]):
(-[TestRunnerWKWebView didDismissForcePressPreview]):
* WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
(WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.

LayoutTests:

* fast/events/touch/ios/iphone7/force-press-on-link-expected.txt: Added.
* fast/events/touch/ios/iphone7/force-press-on-link.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (207446 => 207447)


--- trunk/LayoutTests/ChangeLog	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/LayoutTests/ChangeLog	2016-10-18 01:08:25 UTC (rev 207447)
@@ -1,3 +1,13 @@
+2016-10-17  Megan Gardner  <megan_gard...@apple.com>
+
+        Add test and infrastructure for link popover
+        https://bugs.webkit.org/show_bug.cgi?id=163406
+
+        Reviewed by Simon Fraser.
+
+        * fast/events/touch/ios/iphone7/force-press-on-link-expected.txt: Added.
+        * fast/events/touch/ios/iphone7/force-press-on-link.html: Added.
+
 2016-10-17  Joseph Pecoraro  <pecor...@apple.com>
 
         Web Inspector: Add toggles for debugger pauses at console.assert failures

Added: trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt (0 => 207447)


--- trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link-expected.txt	2016-10-18 01:08:25 UTC (rev 207447)
@@ -0,0 +1 @@
+PASS: correct page loaded in popover

Added: trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link.html (0 => 207447)


--- trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link.html	                        (rev 0)
+++ trunk/LayoutTests/fast/events/touch/ios/iphone7/force-press-on-link.html	2016-10-18 01:08:25 UTC (rev 207447)
@@ -0,0 +1,111 @@
+<!DOCTYPE html> <!-- webkit-test-runner [ useFlexibleViewport=true ] -->
+
+<html>
+<head>
+    <script>
+        if (window.testRunner) {
+            testRunner.dumpAsText();
+            testRunner.waitUntilDone();
+        }
+
+        function getUIScript()
+        {
+            return `
+            (function() {
+                var eventStream = {
+                    events : [
+                        {
+                            interpolate : "linear",
+                            timestep: 0.025,
+                            startEvent : {
+                                inputType : "hand",
+                                timeOffset : 0,
+                                touches : [
+                                    {
+                                        inputType : "finger",
+                                        phase : "began",
+                                        id : 1,
+                                        x : 20,
+                                        y : 40,
+                                        pressure : 0
+                                    }
+                                ]
+                            },
+                            endEvent : {
+                                inputType : "hand",
+                                timeOffset : 3.0,
+                                touches : [
+                                    {
+                                        inputType : "finger",
+                                        phase : "stationary",
+                                        id : 1,
+                                        x : 20,
+                                        y : 40,
+                                        pressure : 500
+                                    }
+                                ]
+                            }
+                        }
+                    ]
+                };
+
+                uiController.sendEventStream(JSON.stringify(eventStream), function() {});
+             
+                uiController.didShowForcePressPreviewCallback = function() {
+                    uiController.uiScriptComplete(JSON.stringify(uiController.contentsOfUserInterfaceItem('linkPreviewPopoverContents')));
+                };
+             
+            })();`
+        }
+    
+        function getUIFinishScript()
+        {
+            return `
+            (function() {
+                uiController.liftUpAtPoint(20, 40, 1, function() {
+                   uiController.uiScriptComplete();
+                });
+            })();`
+        }
+
+        function runTest()
+        {
+            if (!testRunner.runUIScript)
+                return;
+
+            var output = '';
+            var target = document.getElementById('target');
+            
+            if (testRunner.runUIScript) {
+                testRunner.runUIScript(getUIScript(), function(result) {
+                    var uiContentsDictionary = JSON.parse(result);
+                    var pageURL = uiContentsDictionary.linkPreviewPopoverContents.pageURL;
+                    if (pageURL = 'http://localhost:54321')
+                        output += 'PASS: correct page loaded in popover';
+                    document.getElementById('target').innerHTML = output;
+                                       
+                    testRunner.runUIScript(getUIFinishScript(), function() {
+                        testRunner.notifyDone();
+                    });
+               });
+            }
+        }
+
+        window.addEventListener('load', runTest, false);
+    </script>
+    <style>
+        #target {
+            height: 100px;
+            width: 200px;
+            background-color: silver;
+        }
+    </style>
+    <meta name="viewport" content="initial-scale=1">
+</head>
+<body>
+<div id="target">
+    <a href="" Test</a>
+    This test requires UIScriptController to run.
+</div>
+</body>
+</html>

Modified: trunk/Source/WebKit2/ChangeLog (207446 => 207447)


--- trunk/Source/WebKit2/ChangeLog	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Source/WebKit2/ChangeLog	2016-10-18 01:08:25 UTC (rev 207447)
@@ -1,3 +1,22 @@
+2016-10-17  Megan Gardner  <megan_gard...@apple.com>
+
+        Add test and infrastructure for link popover
+        https://bugs.webkit.org/show_bug.cgi?id=163406
+
+        Reviewed by Simon Fraser.
+
+        Add infrastructure to see when a link popover appears, and what URL it has loaded.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView didShowForcePressPreview]):
+        (-[WKWebView didDismissForcePressPreview]):
+        * UIProcess/API/Cocoa/WKWebViewPrivate.h:
+        * UIProcess/ios/WKContentViewInteraction.mm:
+        (-[WKContentView _contentsOfUserInterfaceItem:]):
+        (-[WKContentView _presentedViewControllerForPreviewItemController:]):
+        (-[WKContentView _previewItemController:didDismissPreview:committing:]):
+        (-[WKContentView _previewItemControllerDidCancelPreview:]):
+
 2016-10-17  Tim Horton  <timothy_hor...@apple.com>
 
         REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (207446 => 207447)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-10-18 01:08:25 UTC (rev 207447)
@@ -4547,6 +4547,16 @@
     // For subclasses to override.
 }
 
+- (void)_didShowForcePressPreview
+{
+    // For subclasses to override.
+}
+
+- (void)_didDismissForcePressPreview
+{
+    // For subclasses to override.
+}
+
 - (NSArray<UIView *> *)_uiTextSelectionRectViews
 {
     return [_contentView valueForKeyPath:@"interactionAssistant.selectionView.rangeView.m_rectViews"];

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h (207446 => 207447)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewPrivate.h	2016-10-18 01:08:25 UTC (rev 207447)
@@ -268,6 +268,9 @@
 - (void)didStartFormControlInteraction WK_API_AVAILABLE(ios(WK_IOS_TBA));
 - (void)didEndFormControlInteraction WK_API_AVAILABLE(ios(WK_IOS_TBA));
 
+- (void)_didShowForcePressPreview WK_API_AVAILABLE(ios(WK_IOS_TBA));
+- (void)_didDismissForcePressPreview WK_API_AVAILABLE(ios(WK_IOS_TBA));
+
 @property (nonatomic, readonly) NSArray<UIView *> *_uiTextSelectionRectViews WK_API_AVAILABLE(ios(WK_IOS_TBA));
 
 #endif

Modified: trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm (207446 => 207447)


--- trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Source/WebKit2/UIProcess/ios/WKContentViewInteraction.mm	2016-10-18 01:08:25 UTC (rev 207447)
@@ -3849,6 +3849,11 @@
     if ([userInterfaceItem isEqualToString:@"actionSheet"])
         return @{ userInterfaceItem: [_actionSheetAssistant currentAvailableActionTitles] };
     
+    if ([userInterfaceItem isEqualToString:@"linkPreviewPopoverContents"]) {
+        NSString *url = "" previewData][UIPreviewDataLink];
+        return @{ userInterfaceItem: @{ @"pageURL": url } };
+    }
+    
     return nil;
 }
 
@@ -4022,6 +4027,8 @@
 - (UIViewController *)_presentedViewControllerForPreviewItemController:(UIPreviewItemController *)controller
 {
     id <WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([_webView UIDelegate]);
+    
+    [_webView _didShowForcePressPreview];
 
     NSURL *targetURL = controller.previewData[UIPreviewDataLink];
     URL coreTargetURL = targetURL;
@@ -4128,6 +4135,8 @@
         [uiDelegate _webView:_webView didDismissPreviewViewController:viewController committing:committing];
     else if ([uiDelegate respondsToSelector:@selector(_webView:didDismissPreviewViewController:)])
         [uiDelegate _webView:_webView didDismissPreviewViewController:viewController];
+    
+    [_webView _didDismissForcePressPreview];
 }
 
 - (UIImage *)_presentationSnapshotForPreviewItemController:(UIPreviewItemController *)controller
@@ -4161,6 +4170,8 @@
 - (void)_previewItemControllerDidCancelPreview:(UIPreviewItemController *)controller
 {
     _highlightLongPressCanClick = NO;
+    
+    [_webView _didDismissForcePressPreview];
 }
 
 @end

Modified: trunk/Tools/ChangeLog (207446 => 207447)


--- trunk/Tools/ChangeLog	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/ChangeLog	2016-10-18 01:08:25 UTC (rev 207447)
@@ -1,3 +1,41 @@
+2016-10-17  Megan Gardner  <megan_gard...@apple.com>
+
+        Add test and infrastructure for link popover
+        https://bugs.webkit.org/show_bug.cgi?id=163406
+
+        Reviewed by Simon Fraser.
+
+        Added functionality test for link popovers.
+        Can query for what URL is loaded, and that the popover has appeared or has
+        been dismissed.
+        Added a link popover test.
+
+        * DumpRenderTree/ios/UIScriptControllerIOS.mm:
+        (WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
+        * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
+        * TestRunnerShared/UIScriptContext/UIScriptContext.h:
+        * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
+        (WTR::UIScriptController::setDidShowForcePressPreviewCallback):
+        (WTR::UIScriptController::didShowForcePressPreviewCallback):
+        (WTR::UIScriptController::setDidDismissForcePressPreviewCallback):
+        (WTR::UIScriptController::didDismissForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
+        (WTR::UIScriptController::didEndFormControlInteractionCallback): Deleted.
+        (WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
+        * TestRunnerShared/UIScriptContext/UIScriptController.h:
+        * WebKitTestRunner/cocoa/TestRunnerWKWebView.h:
+        * WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
+        (-[TestRunnerWKWebView dealloc]):
+        (-[TestRunnerWKWebView didShowForcePressPreview]):
+        (-[TestRunnerWKWebView didDismissForcePressPreview]):
+        * WebKitTestRunner/ios/UIScriptControllerIOS.mm:
+        (WTR::UIScriptController::platformSetDidShowForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidDismissForcePressPreviewCallback):
+        (WTR::UIScriptController::platformSetDidEndFormControlInteractionCallback): Deleted.
+
 2016-10-17  Tim Horton  <timothy_hor...@apple.com>
 
         REGRESSION (r169805): WKWebView canGoBack returning YES when nothing is in the back-forward list after restoring session state

Modified: trunk/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm (207446 => 207447)


--- trunk/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm	2016-10-18 01:08:25 UTC (rev 207447)
@@ -173,7 +173,15 @@
 void UIScriptController::platformSetDidEndFormControlInteractionCallback()
 {
 }
+    
+void UIScriptController::platformSetDidShowForcePressPreviewCallback()
+{
+}
 
+void UIScriptController::platformSetDidDismissForcePressPreviewCallback()
+{
+}
+
 void UIScriptController::platformSetWillBeginZoomingCallback()
 {
 }

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl (207446 => 207447)


--- trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl	2016-10-18 01:08:25 UTC (rev 207447)
@@ -122,6 +122,10 @@
     attribute object didStartFormControlInteractionCallback;
     attribute object didEndFormControlInteractionCallback;
 
+    // Force press preview handling
+    attribute object didShowForcePressPreviewCallback;
+    attribute object didDismissForcePressPreviewCallback;
+
     // <select> picker
     void selectFormAccessoryPickerRow(long rowIndex);
 

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptContext.h (207446 => 207447)


--- trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptContext.h	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptContext.h	2016-10-18 01:08:25 UTC (rev 207447)
@@ -56,6 +56,8 @@
     CallbackTypeDidEndScrolling,
     CallbackTypeDidStartFormControlInteraction,
     CallbackTypeDidEndFormControlInteraction,
+    CallbackTypeDidShowForcePressPreview,
+    CallbackTypeDidDismissForcePressPreview,
     CallbackTypeNonPersistent = firstNonPersistentCallbackID
 } CallbackType;
 

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp (207446 => 207447)


--- trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp	2016-10-18 01:08:25 UTC (rev 207447)
@@ -79,7 +79,29 @@
 {
     return m_context->callbackWithID(CallbackTypeDidEndFormControlInteraction);
 }
+    
+void UIScriptController::setDidShowForcePressPreviewCallback(JSValueRef callback)
+{
+    m_context->registerCallback(callback, CallbackTypeDidShowForcePressPreview);
+    platformSetDidShowForcePressPreviewCallback();
+}
 
+JSValueRef UIScriptController::didShowForcePressPreviewCallback() const
+{
+    return m_context->callbackWithID(CallbackTypeDidShowForcePressPreview);
+}
+
+void UIScriptController::setDidDismissForcePressPreviewCallback(JSValueRef callback)
+{
+    m_context->registerCallback(callback, CallbackTypeDidDismissForcePressPreview);
+    platformSetDidDismissForcePressPreviewCallback();
+}
+
+JSValueRef UIScriptController::didDismissForcePressPreviewCallback() const
+{
+    return m_context->callbackWithID(CallbackTypeDidDismissForcePressPreview);
+}
+
 void UIScriptController::setWillBeginZoomingCallback(JSValueRef callback)
 {
     m_context->registerCallback(callback, CallbackTypeWillBeginZooming);
@@ -253,7 +275,15 @@
 void UIScriptController::platformSetDidEndFormControlInteractionCallback()
 {
 }
+    
+void UIScriptController::platformSetDidShowForcePressPreviewCallback()
+{
+}
 
+void UIScriptController::platformSetDidDismissForcePressPreviewCallback()
+{
+}
+
 void UIScriptController::platformSetWillBeginZoomingCallback()
 {
 }

Modified: trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h (207446 => 207447)


--- trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h	2016-10-18 01:08:25 UTC (rev 207447)
@@ -85,6 +85,12 @@
 
     void setDidEndFormControlInteractionCallback(JSValueRef);
     JSValueRef didEndFormControlInteractionCallback() const;
+    
+    void setDidShowForcePressPreviewCallback(JSValueRef);
+    JSValueRef didShowForcePressPreviewCallback() const;
+    
+    void setDidDismissForcePressPreviewCallback(JSValueRef);
+    JSValueRef didDismissForcePressPreviewCallback() const;
 
     void setWillBeginZoomingCallback(JSValueRef);
     JSValueRef willBeginZoomingCallback() const;
@@ -118,6 +124,8 @@
 
     void platformSetDidStartFormControlInteractionCallback();
     void platformSetDidEndFormControlInteractionCallback();
+    void platformSetDidShowForcePressPreviewCallback();
+    void platformSetDidDismissForcePressPreviewCallback();
     void platformSetWillBeginZoomingCallback();
     void platformSetDidEndZoomingCallback();
     void platformSetDidShowKeyboardCallback();

Modified: trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h (207446 => 207447)


--- trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.h	2016-10-18 01:08:25 UTC (rev 207447)
@@ -33,6 +33,8 @@
 
 @property (nonatomic, copy) void (^didStartFormControlInteractionCallback)(void);
 @property (nonatomic, copy) void (^didEndFormControlInteractionCallback)(void);
+@property (nonatomic, copy) void (^didShowForcePressPreviewCallback)(void);
+@property (nonatomic, copy) void (^didDismissForcePressPreviewCallback)(void);
 @property (nonatomic, copy) void (^willBeginZoomingCallback)(void);
 @property (nonatomic, copy) void (^didEndZoomingCallback)(void);
 @property (nonatomic, copy) void (^didShowKeyboardCallback)(void);

Modified: trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm (207446 => 207447)


--- trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm	2016-10-18 01:08:25 UTC (rev 207447)
@@ -75,6 +75,8 @@
 
     self.didStartFormControlInteractionCallback = nil;
     self.didEndFormControlInteractionCallback = nil;
+    self.didShowForcePressPreviewCallback = nil;
+    self.didDismissForcePressPreviewCallback = nil;
     self.willBeginZoomingCallback = nil;
     self.didEndZoomingCallback = nil;
     self.didShowKeyboardCallback = nil;
@@ -99,6 +101,18 @@
         self.didEndFormControlInteractionCallback();
 }
 
+- (void)_didShowForcePressPreview
+{
+    if (self.didShowForcePressPreviewCallback)
+        self.didShowForcePressPreviewCallback();
+}
+
+- (void)_didDismissForcePressPreview
+{
+    if (self.didDismissForcePressPreviewCallback)
+        self.didDismissForcePressPreviewCallback();
+}
+
 - (void)zoomToScale:(double)scale animated:(BOOL)animated completionHandler:(void (^)(void))completionHandler
 {
     ASSERT(!self.zoomToScaleCompletionHandler);

Modified: trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm (207446 => 207447)


--- trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm	2016-10-18 01:00:58 UTC (rev 207446)
+++ trunk/Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm	2016-10-18 01:08:25 UTC (rev 207447)
@@ -367,7 +367,27 @@
         m_context->fireCallback(CallbackTypeDidEndFormControlInteraction);
     };
 }
+    
+void UIScriptController::platformSetDidShowForcePressPreviewCallback()
+{
+    TestRunnerWKWebView *webView = TestController::singleton().mainWebView()->platformView();
+    webView.didShowForcePressPreviewCallback = ^ {
+        if (!m_context)
+            return;
+        m_context->fireCallback(CallbackTypeDidShowForcePressPreview);
+    };
+}
 
+void UIScriptController::platformSetDidDismissForcePressPreviewCallback()
+{
+    TestRunnerWKWebView *webView = TestController::singleton().mainWebView()->platformView();
+    webView.didDismissForcePressPreviewCallback = ^ {
+        if (!m_context)
+            return;
+        m_context->fireCallback(CallbackTypeDidEndFormControlInteraction);
+    };
+}
+
 void UIScriptController::platformSetWillBeginZoomingCallback()
 {
     TestRunnerWKWebView *webView = TestController::singleton().mainWebView()->platformView();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to