RESOLVED FIXED201147
Remove UIHelper.activateElementAtHumanSpeed
https://bugs.webkit.org/show_bug.cgi?id=201147
Summary Remove UIHelper.activateElementAtHumanSpeed
Wenson Hsieh
Reported 2019-08-26 13:18:26 PDT
This was used in layout tests that simulate repeated taps, and should no longer be needed after <https://trac.webkit.org/changeset/249112/webkit>.
Attachments
Patch (4.53 KB, patch)
2019-08-26 13:20 PDT, Wenson Hsieh
no flags
More rebaselining (7.71 KB, patch)
2019-08-26 14:07 PDT, Wenson Hsieh
no flags
Keep tests working on iOS 12 (15.51 KB, patch)
2019-08-26 16:26 PDT, Wenson Hsieh
thorton: review+
Wenson Hsieh
Comment 1 2019-08-26 13:20:44 PDT
Wenson Hsieh
Comment 2 2019-08-26 14:07:50 PDT
Created attachment 377267 [details] More rebaselining
Chris Dumez
Comment 3 2019-08-26 14:08:11 PDT
Nice.
Wenson Hsieh
Comment 4 2019-08-26 14:32:00 PDT
(In reply to Wenson Hsieh from comment #2) > Created attachment 377267 [details] > More rebaselining It looks like I’ve now managed to make this work on iOS 13, but not on iOS 12 :(
Wenson Hsieh
Comment 5 2019-08-26 15:40:15 PDT
These test failures are happening on iOS 12 because tapping quickly in the same location triggers double tap gesture recognizers on the second tap, instead of the single tap gesture twice. > Regressions: Unexpected text-only failures (1) > http/tests/adClickAttribution/anchor-tag-attributes-validation.html [ Failure ] This is fixable by tweaking the test to avoid double tapping in the same location. > Regressions: Unexpected timeouts (14) > http/tests/paymentrequest/payment-is-showing.https.html [ Timeout ] > http/tests/paymentrequest/payment-request-abort-method.https.html [ Timeout ] > http/tests/paymentrequest/payment-request-canmakepayment-method.https.html [ Timeout ] > http/tests/paymentrequest/payment-request-merchant-validation.https.html [ Timeout ] > http/tests/paymentrequest/payment-request-show-method.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-complete-method.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-payerEmail-attribute.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-payerName-attribute.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-payerPhone-attribute.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-reference-cycle-leak.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-rejects-if-not-active.https.html [ Timeout ] > http/tests/paymentrequest/payment-response-retry-method.https.html [ Timeout ] > http/tests/paymentrequest/rejects_if_not_active.https.html [ Timeout ] > http/tests/paymentrequest/updateWith-method-pmi-handling.https.html [ Timeout ] Unfortunately, I might need to keep waiting for the double tap duration in these tests :/ I could, however, make this a bit more robust by adding a script controller hook to wait for the double tap delay (instead of hard-coding 350 ms in the harness).
Wenson Hsieh
Comment 6 2019-08-26 16:26:20 PDT
Created attachment 377285 [details] Keep tests working on iOS 12
Tim Horton
Comment 7 2019-08-26 16:30:20 PDT
Wow that went downhill fast
Tim Horton
Comment 8 2019-08-26 16:31:14 PDT
Comment on attachment 377285 [details] Keep tests working on iOS 12 View in context: https://bugs.webkit.org/attachment.cgi?id=377285&action=review > Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:1178 > + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(maximumIntervalBetweenSuccessiveTaps * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ Is precisely-the-time-interval enough? do you want to wait a bit longer? or double it or something? > LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:-11 > -CONSOLE MESSAGE: line 182: addestination can not be the same site as the current website. ugh
Wenson Hsieh
Comment 9 2019-08-26 16:39:05 PDT
Comment on attachment 377285 [details] Keep tests working on iOS 12 View in context: https://bugs.webkit.org/attachment.cgi?id=377285&action=review >> Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:1178 >> + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(maximumIntervalBetweenSuccessiveTaps * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ > > Is precisely-the-time-interval enough? do you want to wait a bit longer? or double it or something? The overhead for UIScriptController invocations (next presentation update) *might* just be enough, but you’re right — we probably want to wait a little bit longer just in case; I’ll add 10 ms in addition to this maximum delay. >> LayoutTests/http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:-11 >> -CONSOLE MESSAGE: line 182: addestination can not be the same site as the current website. > > ugh 🙃
Wenson Hsieh
Comment 10 2019-08-26 17:19:34 PDT
Note You need to log in before you can comment on or make changes to this bug.