Changeset 246251 in webkit
- Timestamp:
- Jun 9, 2019, 11:25:30 PM (7 years ago)
- Location:
- branches/safari-608.1.27-branch
- Files:
-
- 2 added
- 7 edited
-
LayoutTests/ChangeLog (modified) (1 diff)
-
LayoutTests/fast/events/ios/ipad/fast-click-always-mobile-content-mode-expected.txt (added)
-
LayoutTests/fast/events/ios/ipad/fast-click-always-mobile-content-mode.html (added)
-
LayoutTests/platform/ios-simulator-wk2/TestExpectations (modified) (2 diffs)
-
LayoutTests/pointerevents/utils.js (modified) (1 diff)
-
Source/WebKit/ChangeLog (modified) (1 diff)
-
Source/WebKit/UIProcess/WebPageProxy.h (modified) (2 diffs)
-
Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (modified) (2 diffs)
-
Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/safari-608.1.27-branch/LayoutTests/ChangeLog
r246250 r246251 1 2019-06-09 Babak Shafiei <bshafiei@apple.com> 2 3 Cherry-pick r246213. rdar://problem/50114230 4 5 Restrict fast clicks everywhere to desktop content mode 6 https://bugs.webkit.org/show_bug.cgi?id=198610 7 <rdar://problem/50114230> 8 9 Reviewed by Dean Jackson. 10 11 Source/WebKit: 12 13 We now set a new allowsFastClicksEverywhere property on the WebPageProxy when the content mode changes, set to true 14 when we're in desktop browsing mode. We now check on this property to opt into the fast clicks everywhere behavior. 15 16 This patch had been reverted once because it yielded some regressions in existing tests, notably under 17 fast/events/touch/ios/content-observation. This updated patch addresses this by ensuring the gesture recognizers 18 used for double-tap-to-zoom are disabled in -[WKContentViewInteraction _didStartProvisionalLoadForMainFrame] 19 to ensure that two tests dispatching a tap at the same location don't yield the recognition of a double-tap 20 rathern than the recognition of two single taps. 21 22 * UIProcess/WebPageProxy.h: 23 (WebKit::WebPageProxy::allowsFastClicksEverywhere const): 24 * UIProcess/ios/WKContentViewInteraction.mm: 25 (-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]): 26 (_didStartProvisionalLoadForMainFrame): 27 * UIProcess/ios/WebPageProxyIOS.mm: 28 (WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies): 29 30 LayoutTests: 31 32 Add a new test that enables fast clicks but also sets a mobile content mode. 33 34 We also mark fast/visual-viewport/ios/min-scale-greater-than-one.html as non-flaky 35 since the flakiness was due to the fast clicks everywhere behavior being enabled on iPhone. 36 37 Finally, we can now remove the hack where ui.tap() in the Pointer Events utility returned 38 a promise with a one-second delay since the issue of double-taps being recognized instead of 39 two consecutive single taps across two tests has been resolved. 40 41 * fast/events/ios/ipad/fast-click-always-mobile-content-mode-expected.txt: Added. 42 * fast/events/ios/ipad/fast-click-always-mobile-content-mode.html: Added. 43 * platform/ios-simulator-wk2/TestExpectations: 44 * pointerevents/utils.js: 45 46 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246213 268f45cc-cd09-0410-ab3c-d52691b4dbfc 47 48 2019-06-07 Antoine Quint <graouts@apple.com> 49 50 Restrict fast clicks everywhere to desktop content mode 51 https://bugs.webkit.org/show_bug.cgi?id=198610 52 <rdar://problem/50114230> 53 54 Reviewed by Dean Jackson. 55 56 Add a new test that enables fast clicks but also sets a mobile content mode. 57 58 We also mark fast/visual-viewport/ios/min-scale-greater-than-one.html as non-flaky 59 since the flakiness was due to the fast clicks everywhere behavior being enabled on iPhone. 60 61 Finally, we can now remove the hack where ui.tap() in the Pointer Events utility returned 62 a promise with a one-second delay since the issue of double-taps being recognized instead of 63 two consecutive single taps across two tests has been resolved. 64 65 * fast/events/ios/ipad/fast-click-always-mobile-content-mode-expected.txt: Added. 66 * fast/events/ios/ipad/fast-click-always-mobile-content-mode.html: Added. 67 * platform/ios-simulator-wk2/TestExpectations: 68 * pointerevents/utils.js: 69 1 70 2019-06-09 Babak Shafiei <bshafiei@apple.com> 2 71 -
branches/safari-608.1.27-branch/LayoutTests/platform/ios-simulator-wk2/TestExpectations
r245517 r246251 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 ] -
branches/safari-608.1.27-branch/LayoutTests/pointerevents/utils.js
r245506 r246251 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 -
branches/safari-608.1.27-branch/Source/WebKit/ChangeLog
r246250 r246251 1 2019-06-09 Babak Shafiei <bshafiei@apple.com> 2 3 Cherry-pick r246213. rdar://problem/50114230 4 5 Restrict fast clicks everywhere to desktop content mode 6 https://bugs.webkit.org/show_bug.cgi?id=198610 7 <rdar://problem/50114230> 8 9 Reviewed by Dean Jackson. 10 11 Source/WebKit: 12 13 We now set a new allowsFastClicksEverywhere property on the WebPageProxy when the content mode changes, set to true 14 when we're in desktop browsing mode. We now check on this property to opt into the fast clicks everywhere behavior. 15 16 This patch had been reverted once because it yielded some regressions in existing tests, notably under 17 fast/events/touch/ios/content-observation. This updated patch addresses this by ensuring the gesture recognizers 18 used for double-tap-to-zoom are disabled in -[WKContentViewInteraction _didStartProvisionalLoadForMainFrame] 19 to ensure that two tests dispatching a tap at the same location don't yield the recognition of a double-tap 20 rathern than the recognition of two single taps. 21 22 * UIProcess/WebPageProxy.h: 23 (WebKit::WebPageProxy::allowsFastClicksEverywhere const): 24 * UIProcess/ios/WKContentViewInteraction.mm: 25 (-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]): 26 (_didStartProvisionalLoadForMainFrame): 27 * UIProcess/ios/WebPageProxyIOS.mm: 28 (WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies): 29 30 LayoutTests: 31 32 Add a new test that enables fast clicks but also sets a mobile content mode. 33 34 We also mark fast/visual-viewport/ios/min-scale-greater-than-one.html as non-flaky 35 since the flakiness was due to the fast clicks everywhere behavior being enabled on iPhone. 36 37 Finally, we can now remove the hack where ui.tap() in the Pointer Events utility returned 38 a promise with a one-second delay since the issue of double-taps being recognized instead of 39 two consecutive single taps across two tests has been resolved. 40 41 * fast/events/ios/ipad/fast-click-always-mobile-content-mode-expected.txt: Added. 42 * fast/events/ios/ipad/fast-click-always-mobile-content-mode.html: Added. 43 * platform/ios-simulator-wk2/TestExpectations: 44 * pointerevents/utils.js: 45 46 git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246213 268f45cc-cd09-0410-ab3c-d52691b4dbfc 47 48 2019-06-07 Antoine Quint <graouts@apple.com> 49 50 Restrict fast clicks everywhere to desktop content mode 51 https://bugs.webkit.org/show_bug.cgi?id=198610 52 <rdar://problem/50114230> 53 54 Reviewed by Dean Jackson. 55 56 We now set a new allowsFastClicksEverywhere property on the WebPageProxy when the content mode changes, set to true 57 when we're in desktop browsing mode. We now check on this property to opt into the fast clicks everywhere behavior. 58 59 This patch had been reverted once because it yielded some regressions in existing tests, notably under 60 fast/events/touch/ios/content-observation. This updated patch addresses this by ensuring the gesture recognizers 61 used for double-tap-to-zoom are disabled in -[WKContentViewInteraction _didStartProvisionalLoadForMainFrame] 62 to ensure that two tests dispatching a tap at the same location don't yield the recognition of a double-tap 63 rathern than the recognition of two single taps. 64 65 * UIProcess/WebPageProxy.h: 66 (WebKit::WebPageProxy::allowsFastClicksEverywhere const): 67 * UIProcess/ios/WKContentViewInteraction.mm: 68 (-[WKContentView _handleSmartMagnificationInformationForPotentialTap:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]): 69 (_didStartProvisionalLoadForMainFrame): 70 * UIProcess/ios/WebPageProxyIOS.mm: 71 (WebKit::WebPageProxy::effectiveContentModeAfterAdjustingPolicies): 72 1 73 2019-06-09 Babak Shafiei <bshafiei@apple.com> 2 74 -
branches/safari-608.1.27-branch/Source/WebKit/UIProcess/WebPageProxy.h
r246250 r246251 518 518 bool hasCommittedAnyProvisionalLoads() const { return m_hasCommittedAnyProvisionalLoads; } 519 519 520 bool allowsFastClicksEverywhere() const { return m_allowsFastClicksEverywhere; } 521 520 522 void setIsUsingHighPerformanceWebGL(bool value) { m_isUsingHighPerformanceWebGL = value; } 521 523 bool isUsingHighPerformanceWebGL() const { return m_isUsingHighPerformanceWebGL; } … … 2479 2481 bool m_openedByDOM { false }; 2480 2482 bool m_hasCommittedAnyProvisionalLoads { false }; 2483 bool m_allowsFastClicksEverywhere { false }; 2481 2484 2482 2485 HashMap<String, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByScheme; -
branches/safari-608.1.27-branch/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
r245902 r246251 1587 1587 return; 1588 1588 1589 if (_page->preferences().fastClicksEverywhere() ) {1589 if (_page->preferences().fastClicksEverywhere() && _page->allowsFastClicksEverywhere()) { 1590 1590 RELEASE_LOG(ViewGestures, "Potential tap found an element and fast taps are forced on. Trigger click. (%p)", self); 1591 1591 [self _setDoubleTapGesturesEnabled:NO]; … … 3793 3793 [_doubleTapGestureRecognizerForDoubleClick setEnabled:NO]; 3794 3794 [_doubleTapGestureRecognizerForDoubleClick setEnabled:YES]; 3795 // We also need to disable the double-tap gesture recognizers that are enabled for double-tap-to-zoom and which 3796 // are enabled when a single tap is first recognized. This avoids tests running in sequence and simulating taps 3797 // in the same location to trigger double-tap recognition. 3798 [self _setDoubleTapGesturesEnabled:NO]; 3795 3799 } 3796 3800 -
branches/safari-608.1.27-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
r246250 r246251 1400 1400 } 1401 1401 1402 m_allowsFastClicksEverywhere = false; 1403 1402 1404 if (!useDesktopBrowsingMode) 1403 1405 return WebContentMode::Mobile; … … 1421 1423 policies.setSimulatedMouseEventsDispatchPolicy(WebsiteSimulatedMouseEventsDispatchPolicy::Allow); 1422 1424 policies.setLegacyOverflowScrollingTouchPolicy(WebsiteLegacyOverflowScrollingTouchPolicy::Disable); 1425 m_allowsFastClicksEverywhere = true; 1423 1426 } 1424 1427
Note:
See TracChangeset
for help on using the changeset viewer.