Changeset 246213 in webkit
- Timestamp:
- Jun 7, 2019 1:55:45 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r246203 r246213 1 2019-06-07 Antoine Quint <graouts@apple.com> 2 3 Restrict fast clicks everywhere to desktop content mode 4 https://bugs.webkit.org/show_bug.cgi?id=198610 5 <rdar://problem/50114230> 6 7 Reviewed by Dean Jackson. 8 9 Add a new test that enables fast clicks but also sets a mobile content mode. 10 11 We also mark fast/visual-viewport/ios/min-scale-greater-than-one.html as non-flaky 12 since the flakiness was due to the fast clicks everywhere behavior being enabled on iPhone. 13 14 Finally, we can now remove the hack where ui.tap() in the Pointer Events utility returned 15 a promise with a one-second delay since the issue of double-taps being recognized instead of 16 two consecutive single taps across two tests has been resolved. 17 18 * fast/events/ios/ipad/fast-click-always-mobile-content-mode-expected.txt: Added. 19 * fast/events/ios/ipad/fast-click-always-mobile-content-mode.html: Added. 20 * platform/ios-simulator-wk2/TestExpectations: 21 * pointerevents/utils.js: 22 1 23 2019-06-07 Shawn Roberts <sroberts@apple.com> 2 24 -
trunk/LayoutTests/platform/ios-simulator-wk2/TestExpectations
r246175 r246213 53 53 webkit.org/b/196233 fast/viewport/ios/initial-scale-after-changing-view-scale.html [ Pass Timeout ] 54 54 55 webkit.org/b/196236 [ Debug ] fast/visual-viewport/ios/min-scale-greater-than-one.html [ Pass Failure ]56 57 55 webkit.org/b/196269 http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-fragment-from-prevalent-resource.html [ Pass Timeout ] 58 56 webkit.org/b/196269 http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-with-link-query-and-fragment-from-prevalent-resource.html [ Pass Timeout ] … … 63 61 webkit.org/b/191709 editing/deleting/delete-emoji-9.html [ Pass Failure ] 64 62 webkit.org/b/191709 editing/deleting/delete-emoji.html [ Pass Failure ] 65 66 webkit.org/b/196300 fast/visual-viewport/ios/min-scale-greater-than-one.html [ Pass Failure ]67 63 68 64 webkit.org/b/196298 fast/viewport/ios/use-minimum-device-width-for-page-without-viewport-meta.html [ Pass Failure ] -
trunk/LayoutTests/pointerevents/utils.js
r245506 r246213 119 119 tap(options) 120 120 { 121 // Add a delay to ensure sequence of tap() calls don't yield double taps. 122 const delay = 1000; 123 return this._run(`uiController.singleTapAtPoint(${options.x}, ${options.y})`).then(() => { 124 return new Promise(resolve => setTimeout(resolve, delay)); 125 }); 121 return this._run(`uiController.singleTapAtPoint(${options.x}, ${options.y})`); 126 122 } 127 123 -
trunk/Source/WebKit/ChangeLog
r246204 r246213 1 2019-06-07 Antoine Quint <graouts@apple.com> 2 3 Restrict fast clicks everywhere to desktop content mode 4 https://bugs.webkit.org/show_bug.cgi?id=198610 5 <rdar://problem/50114230> 6 7 Reviewed by Dean Jackson. 8 9 We now set a new allowsFastClicksEverywhere property on the WebPageProxy when the content mode changes, set to true 10 when we're in desktop browsing mode. We now check on this property to opt into the fast clicks everywhere behavior. 11 12 This patch had been reverted once because it yielded some regressions in existing tests, notably under 13 fast/events/touch/ios/content-observation. This updated patch addresses this by ensuring the gesture recognizers 14 used for double-tap-to-zoom are disabled in -[WKContentViewInteraction _didStartProvisionalLoadForMainFrame] 15 to ensure that two tests dispatching a tap at the same location don't yield the recognition of a double-tap 16 rathern than the recognition of two single taps. 17 18 * UIProcess/WebPageProxy.h: 19 (WebKit::WebPageProxy::allowsFastClicksEverywhere const): 20 * UIProcess/ios/WKContentViewInteraction.mm: 21 (-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]): 22 (_didStartProvisionalLoadForMainFrame): 23 * UIProcess/ios/WebPageProxyIOS.mm: 24 (WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies): 25 1 26 2019-06-07 Brent Fulgham <bfulgham@apple.com> 2 27 -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r246201 r246213 519 519 bool hasCommittedAnyProvisionalLoads() const { return m_hasCommittedAnyProvisionalLoads; } 520 520 521 bool allowsFastClicksEverywhere() const { return m_allowsFastClicksEverywhere; } 522 521 523 void setIsUsingHighPerformanceWebGL(bool value) { m_isUsingHighPerformanceWebGL = value; } 522 524 bool isUsingHighPerformanceWebGL() const { return m_isUsingHighPerformanceWebGL; } … … 2482 2484 bool m_openedByDOM { false }; 2483 2485 bool m_hasCommittedAnyProvisionalLoads { false }; 2486 bool m_allowsFastClicksEverywhere { false }; 2484 2487 2485 2488 HashMap<String, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByScheme; -
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r246183 r246213 1588 1588 return; 1589 1589 1590 if (_page->preferences().fastClicksEverywhere() ) {1590 if (_page->preferences().fastClicksEverywhere() && _page->allowsFastClicksEverywhere()) { 1591 1591 RELEASE_LOG(ViewGestures, "Potential tap found an element and fast taps are forced on. Trigger click. (%p)", self); 1592 1592 [self _setDoubleTapGesturesEnabled:NO]; … … 3792 3792 [_doubleTapGestureRecognizerForDoubleClick setEnabled:NO]; 3793 3793 [_doubleTapGestureRecognizerForDoubleClick setEnabled:YES]; 3794 // We also need to disable the double-tap gesture recognizers that are enabled for double-tap-to-zoom and which 3795 // are enabled when a single tap is first recognized. This avoids tests running in sequence and simulating taps 3796 // in the same location to trigger double-tap recognition. 3797 [self _setDoubleTapGesturesEnabled:NO]; 3794 3798 } 3795 3799 -
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
r246183 r246213 1377 1377 } 1378 1378 1379 m_allowsFastClicksEverywhere = false; 1380 1379 1381 if (!useDesktopBrowsingMode) 1380 1382 return WebContentMode::Mobile; … … 1398 1400 policies.setSimulatedMouseEventsDispatchPolicy(WebsiteSimulatedMouseEventsDispatchPolicy::Allow); 1399 1401 policies.setLegacyOverflowScrollingTouchPolicy(WebsiteLegacyOverflowScrollingTouchPolicy::Disable); 1402 m_allowsFastClicksEverywhere = true; 1400 1403 } 1401 1404
Note: See TracChangeset
for help on using the changeset viewer.