RESOLVED FIXED 204257
Update dismiss-picker-using-keyboard.html test to work on iPad correctly
https://bugs.webkit.org/show_bug.cgi?id=204257
Summary Update dismiss-picker-using-keyboard.html test to work on iPad correctly
Megan Gardner
Reported 2019-11-15 15:34:39 PST
Update dismiss-picker-using-keyboard.html to work on iPad correctly
Attachments
Patch (4.11 KB, patch)
2019-11-15 16:02 PST, Megan Gardner
no flags
Patch (4.00 KB, patch)
2019-11-18 13:23 PST, Megan Gardner
no flags
Megan Gardner
Comment 1 2019-11-15 16:02:35 PST
Megan Gardner
Comment 2 2019-11-15 16:37:28 PST
Wenson Hsieh
Comment 3 2019-11-15 20:53:09 PST
Comment on attachment 383659 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383659&action=review > LayoutTests/resources/ui-helper.js:367 > - uiController.didShowKeyboardCallback = function() { > + function clearCallbacksAndScriptComplete() { > + uiController.didShowKeyboardCallback = null; > + uiController.willPresentPopoverCallback = null; > uiController.uiScriptComplete(); > - }; > + } > + } > + (function() { > + uiController.didShowKeyboardCallback = clearCallbacksAndScriptComplete; > + uiController.willPresentPopoverCallback = clearCallbacksAndScriptComplete; > uiController.singleTapAtPoint(${x}, ${y}, function() { }); > })()`, resolve); It looks like there's an extra open parenthesis at the beginning of this script. clearCallbacksAndScriptComplete is also scoped to its anonymous function (which is also never invoked), so uiController.didShowKeyboardCallback and uiController.willPresentPopoverCallback won't get set to it. I think you meant to define clearCallbacksAndScriptComplete inside the second anonymous function? > LayoutTests/resources/ui-helper.js:374 > + if (!this.isWebKit2() || !this.isIOSFamily()) > + return this.activateAt(x, y); I don't think you meant to put this here. > LayoutTests/resources/ui-helper.js:381 > + uiController.waitForKeyboardToHide = null; > + uiController.waitForPopoverToDismiss = null; Same comments as above. waitForKeyboardToHide and waitForPopoverToDismiss also don't seem to be attributes on UIScriptController. > LayoutTests/resources/ui-helper.js:387 > + uiController.waitForKeyboardToHide = clearCallbacksAndScriptComplete; > + uiController.waitForPopoverToDismiss = clearCallbacksAndScriptComplete; Ditto.
Megan Gardner
Comment 4 2019-11-18 13:23:17 PST
Wenson Hsieh
Comment 5 2019-11-18 13:31:46 PST
Comment on attachment 383781 [details] Patch r=mews
Simon Fraser (smfr)
Comment 6 2019-11-18 13:38:56 PST
Comment on attachment 383781 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=383781&action=review > LayoutTests/resources/ui-helper.js:366 > - uiController.didShowKeyboardCallback = function() { > + function clearCallbacksAndScriptComplete() { > + uiController.didShowKeyboardCallback = null; > + uiController.willPresentPopoverCallback = null; > uiController.uiScriptComplete(); > - }; > + } > + uiController.didShowKeyboardCallback = clearCallbacksAndScriptComplete; > + uiController.willPresentPopoverCallback = clearCallbacksAndScriptComplete; > uiController.singleTapAtPoint(${x}, ${y}, function() { }); > })()`, resolve); > }); This looks the same as waitForInputSessionToDismiss() so can you just call that here?
WebKit Commit Bot
Comment 7 2019-11-18 17:05:22 PST
Comment on attachment 383781 [details] Patch Clearing flags on attachment: 383781 Committed r252608: <https://trac.webkit.org/changeset/252608>
WebKit Commit Bot
Comment 8 2019-11-18 17:05:23 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.