<div dir="ltr">Awesome,<div><br></div><div>In UIHelper, we heavily use Promises.</div><div>I think we can further simplify the test code with async/await.</div><div><br></div><div>For example,</div><div><br></div><div>UIHelper.wait(async function () {</div><div>    await UIHelper.activateAt(shadowHost.offsetLeft + 5, shadowHost.offsetTop + 5);</div><div>    await UIHelper.activateAt(shadowHost.offsetLeft + 25, shadowHost.offsetTop + 25);<br></div><div>});</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div>Regards,<br>Yusuke Suzuki</div></div></div></div>
<br><div class="gmail_quote">On Wed, Dec 14, 2016 at 3:55 PM, Ryosuke Niwa <span dir="ltr">&lt;<a href="mailto:rniwa@webkit.org" target="_blank">rniwa@webkit.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<br><br>I added a little helper class called UIHelper in <a href="https://trac.webkit.org/changeset/209780" target="_blank">https://trac.webkit.org/<wbr>changeset/209780</a> to provide an abstraction around eventSender and UIScriptController so that you can trigger a click or a tap at a specified coordinate without having to worry about which platform you’re on.<div><br></div><div>This is useful if the only thing you’re trying to do is to activate some element (e.g. hyperlink, click event handler, etc…) in both DumpRenderTree and WebKitTestRunner on both macOS and iOS.</div><div><br></div><div><b>Background</b>: iOS WebKit2 port doesn’t have eventSender due to its architecture.  As a result, we have UIScriptController which executes JavaScript in the UIProcess to trigger key events and touch there.  However, Mac port’s WebKitTestRunner doesn’t support tap (due to the lack of support for touch events).  Furthermore, UIScriptController isn’t available in DumpRenderTree on both macOS and iOS.  This makes writing a test to activate an element via user interaction that works in DumpRenderTree and WebKitTestRunner across macOS and iOS extremely challenging.  UIHelper script I added will make this easier by providing an abstraction around eventSender and UIScriptController by wrapping those internal APIs.</div><div><br></div><div><div>- R. Niwa<br><div><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="https://lists.webkit.org/mailman/listinfo/webkit-dev" rel="noreferrer" target="_blank">https://lists.webkit.org/<wbr>mailman/listinfo/webkit-dev</a><br>
<br></blockquote></div><br></div></div>