<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>224422</bug_id>
          
          <creation_ts>2021-04-11 21:08:15 -0700</creation_ts>
          <short_desc>REGRESSION(r275262) [WebDriver] Make automation JS code aware of injected script headers</short_desc>
          <delta_ts>2021-04-13 15:43:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebDriver</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223961</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Lauro Moura">lmoura</reporter>
          <assigned_to name="Lauro Moura">lmoura</assigned_to>
          <cc>bburg</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1749134</commentid>
    <comment_count>0</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-04-11 21:08:15 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/275262/webkit changed the injected scripts to have the &quot;//# sourceURL=__InjectedScript_*.js&quot; header.

This led to about 1.5k WebDriver tests to fail. Most (all?) of them with the following error:

E           JavascriptErrorException: javascript error (500): Unexpected keyword &apos;function&apos;. Expected &apos;)&apos; to end a compound expression.                                                                    
                                                                                                                                                   
body       = {&apos;using&apos;: &apos;css selector&apos;, &apos;value&apos;: &apos;input&apos;}
err        = &lt;JavascriptErrorException http_status=500&gt;
method     = &apos;POST&apos;
response   = &lt;Response status=500 error=&lt;JavascriptErrorException http_status=500&gt;&gt;
self       = &lt;Session bb6344e1-8a15-487d-b05c-0cdc06fc85ce&gt;
timeout    = None
url        = &apos;session/bb6344e1-8a15-487d-b05c-0cdc06fc85ce/element&apos;

When evaluating the following expression in the test:

element = session.find.css(&quot;input&quot;, all=False)

The issue happens due to WebAutomationSessionProxy.js wrapping the executing code in &quot;(async &lt;CODE&gt;)&quot;. With the header, this resulted in the following code:

```
(async //# __injectedScript...
 function (...) {...})
```

And the &quot;Unexpected keyword&quot; error appeared.

A candidate fix is to skip the header lines from the function code before wrapping it in async. Patch in the next comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749135</commentid>
    <comment_count>1</comment_count>
      <attachid>425718</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-04-11 21:16:15 -0700</bug_when>
    <thetext>Created attachment 425718
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749154</commentid>
    <comment_count>2</comment_count>
      <attachid>425718</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-04-12 01:15:09 -0700</bug_when>
    <thetext>Comment on attachment 425718
Patch

Is that comment useful tor WebDriver scripts? Maybe we could add an option to make-js-file-arrays.py  not to include the directive and use that for WebDriver scripts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749273</commentid>
    <comment_count>3</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-04-12 10:29:55 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #2)
&gt; Comment on attachment 425718 [details]
&gt; Patch
&gt; 
&gt; Is that comment useful tor WebDriver scripts? Maybe we could add an option
&gt; to make-js-file-arrays.py  not to include the directive and use that for
&gt; WebDriver scripts?

I think it&apos;s not directly used by the WebDriver code, but intended for the inspector UI, so there is the scenario of pausing a webdriver session to inspect the code in the browser. In this case, IIUC, the directive should be present in the source.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749363</commentid>
    <comment_count>4</comment_count>
      <attachid>425718</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-04-12 13:50:00 -0700</bug_when>
    <thetext>Comment on attachment 425718
Patch

the //# directive is a source map directive. It labels these evaluations, which is essential when debugging WebAutomationSessionProxy code via Web Inspector.

Perhaps you could search for the first non-comment line and wrap the remainder of the evaluation there, lifting any initial comments outside the async statement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749378</commentid>
    <comment_count>5</comment_count>
      <attachid>425789</attachid>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-04-12 14:13:27 -0700</bug_when>
    <thetext>Created attachment 425789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749696</commentid>
    <comment_count>6</comment_count>
      <attachid>425789</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2021-04-13 09:02:30 -0700</bug_when>
    <thetext>Comment on attachment 425789
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749904</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-13 15:42:43 -0700</bug_when>
    <thetext>Committed r275915 (236479@main): &lt;https://commits.webkit.org/236479@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425789.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749905</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-13 15:43:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/76614329&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425718</attachid>
            <date>2021-04-11 21:16:15 -0700</date>
            <delta_ts>2021-04-12 14:13:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224422-20210412011614.patch</filename>
            <type>text/plain</type>
            <size>2251</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA1NjU4ZjE4NWE3NzdlNjkw
ZDU3NDQ3MDcwMTJmYmZiNjExYzQzMGIuLmM2YjU4YWYyMWIyNjdkYTAwYzQyMjUyZWNjNmViMTBi
NjhkNWRkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDQtMTEgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjc1MjYyKSBb
V2ViRHJpdmVyXSBNYWtlIGF1dG9tYXRpb24gSlMgY29kZSBhd2FyZSBvZiBpbmplY3RlZCBzY3Jp
cHQgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0NDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgcjI3NTI2MiBpbnRyb2R1Y2VkICIvLyMgc291cmNlVVJMLi4uIiBwcmVmaXhlcyB0byBpbmpl
Y3RlZCBzY3JpcHRzIGFuZAorICAgICAgICB0aGlzIGJyb2tlIEF1dG9tYXRpb24gSlMgZXZhbHVh
dGlvbiwgYXMgdGhlIGNvZGUgZXZhbHVhdGVkIGlzIHdyYXBwZWQKKyAgICAgICAgd2l0aCAiKGFz
eW5jICIgKyBDT0RFICsgIikiLiBUaGlzIHJlc3VsdHMgaW4gIlVuZXhwZWN0ZWQga2V5d29yZCAn
ZnVuY3Rpb24nLgorICAgICAgICBFeHBlY3RlZCAnKScgdG8gZW5kIGEgY29tcG91bmQgZXhwcmVz
c2lvbi4iIGVycm9ycy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
anM6CisgICAgICAgIChsZXQuQXV0b21hdGlvblNlc3Npb25Qcm94eS5wcm90b3R5cGUuX2V4ZWN1
dGUpOiBTa2lwIGluaXRpYWwgbGluZXMKKyAgICAgICAgd2l0aCBsZWFkaW5nIGNvbW1lbnRzLgor
CiAyMDIxLTAzLTMwICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUENNOiBJbnRyb2R1Y2UgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnROZXR3b3JrTG9hZGVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvblByb3h5LmpzIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcwppbmRleCA3MjE5NzU3NDk4NzI2ZjAxOTg1ZTY1
Yjg2YTI4OTUzMzk3OTJiYjZlLi43OGExYTY0ZTk4MzZkNDQyZjI3YWQ3MTExYzhkN2UwYTU2NzI2
ZmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJB
dXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMKQEAgLTcxLDYgKzcxLDEzIEBA
IGxldCBBdXRvbWF0aW9uU2Vzc2lvblByb3h5ID0gY2xhc3MgQXV0b21hdGlvblNlc3Npb25Qcm94
eQogICAgICAgICB9CiAKICAgICAgICAgbGV0IHByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2
ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAvLyBTa2lwIGluaXRpYWwgbGluZSBjb21tZW50
cyBsaWtlICIvLyMgX19pbmplY3RlZFNjcmlwdCIgdGhhdCB3b3VsZCBicmVhayB0aGUgYXN5bmMg
ZXhwcmVzc2lvbiBiZWxvdy4KKyAgICAgICAgICAgIGxldCBsaW5lcyA9IGZ1bmN0aW9uU3RyaW5n
LnNwbGl0KCJcbiIpOworICAgICAgICAgICAgd2hpbGUgKGxpbmVzICYmIGxpbmVzWzBdLnN0YXJ0
c1dpdGgoIi8vIikpIHsKKyAgICAgICAgICAgICAgICBsaW5lcy5zaGlmdCgpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgZnVuY3Rpb25TdHJpbmcgPSBsaW5lcy5qb2luKCJcbiIpOworCiAg
ICAgICAgICAgICAvLyBUaGUgc2NyaXB0IGlzIGV4cGVjdGVkIHRvIGJlIGEgZnVuY3Rpb24gZGVj
bGFyYXRpb24uIEV2YWx1YXRlIGl0IGluc2lkZSBwYXJlbnRoZXNpcyB0byBnZXQgdGhlIGZ1bmN0
aW9uIHZhbHVlLgogICAgICAgICAgICAgbGV0IGZ1bmN0aW9uVmFsdWUgPSBldmFsdWF0ZSgiKGFz
eW5jICIgKyBmdW5jdGlvblN0cmluZyArICIpIik7CiAgICAgICAgICAgICBpZiAodHlwZW9mIGZ1
bmN0aW9uVmFsdWUgIT09ICJmdW5jdGlvbiIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425789</attachid>
            <date>2021-04-12 14:13:27 -0700</date>
            <delta_ts>2021-04-13 15:42:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224422-20210412181326.patch</filename>
            <type>text/plain</type>
            <size>2623</size>
            <attacher name="Lauro Moura">lmoura</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA1NjU4ZjE4NWE3NzdlNjkw
ZDU3NDQ3MDcwMTJmYmZiNjExYzQzMGIuLjg5OTA0MDVhN2FhMDk1NGY2Zjk2ZmZkOWU2OThjYWEz
NTZkYTRkMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMDQtMTEgIExhdXJvIE1v
dXJhICA8bG1vdXJhQGlnYWxpYS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjc1MjYyKSBb
V2ViRHJpdmVyXSBNYWtlIGF1dG9tYXRpb24gSlMgY29kZSBhd2FyZSBvZiBpbmplY3RlZCBzY3Jp
cHQgaGVhZGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI0NDIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgcjI3NTI2MiBpbnRyb2R1Y2VkICIvLyMgc291cmNlVVJMLi4uIiBwcmVmaXhlcyB0byBpbmpl
Y3RlZCBzY3JpcHRzIGFuZAorICAgICAgICB0aGlzIGJyb2tlIEF1dG9tYXRpb24gSlMgZXZhbHVh
dGlvbiwgYXMgdGhlIGNvZGUgZXZhbHVhdGVkIGlzIHdyYXBwZWQKKyAgICAgICAgd2l0aCAiKGFz
eW5jICIgKyBDT0RFICsgIikiLiBUaGlzIHJlc3VsdHMgaW4gIlVuZXhwZWN0ZWQga2V5d29yZCAn
ZnVuY3Rpb24nLgorICAgICAgICBFeHBlY3RlZCAnKScgdG8gZW5kIGEgY29tcG91bmQgZXhwcmVz
c2lvbi4iIGVycm9ycy4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHku
anM6CisgICAgICAgIChsZXQuQXV0b21hdGlvblNlc3Npb25Qcm94eS5wcm90b3R5cGUuX2V4ZWN1
dGUpOiBNb3ZlIGluaXRpYWwgbGluZXMKKyAgICAgICAgd2l0aCBsZWFkaW5nIGNvbW1lbnRzIGJl
Zm9yZSB0aGUgYXN5bmMgZXhwcmVzc2lvbi4KKwogMjAyMS0wMy0zMCAgSmlld2VuIFRhbiAgPGpp
ZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFBDTTogSW50cm9kdWNlIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50TmV0d29ya0xvYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uUHJveHkuanMK
aW5kZXggNzIxOTc1NzQ5ODcyNmYwMTk4NWU2NWI4NmEyODk1MzM5NzkyYmI2ZS4uMDg5ODM1Mjli
ZmNjNzdjODg4Y2I1MDhhYjAxY2EwMTlmYTczYzA2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94eS5qcworKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmpzCkBAIC03MSw4ICs3MSwyMCBAQCBsZXQgQXV0b21hdGlvblNlc3Npb25Qcm94eSA9
IGNsYXNzIEF1dG9tYXRpb25TZXNzaW9uUHJveHkKICAgICAgICAgfQogCiAgICAgICAgIGxldCBw
cm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAgICAg
Ly8gU3BsaXQgaW5pdGlhbCBsaW5lIGNvbW1lbnRzIGxpa2UgIi8vIyBfX2luamVjdGVkU2NyaXB0
IiBzb3VyY2UgbWFwIHRoYXQgd291bGQgYnJlYWsgdGhlIGFzeW5jIGV4cHJlc3Npb24gYmVsb3cu
CisgICAgICAgICAgICBsZXQgbGluZXMgPSBmdW5jdGlvblN0cmluZy5zcGxpdCgiXG4iKTsKKyAg
ICAgICAgICAgIGxldCBwcmVmaXhMaW5lcyA9IFtdOworICAgICAgICAgICAgd2hpbGUgKGxpbmVz
ICYmIGxpbmVzWzBdLnN0YXJ0c1dpdGgoIi8vIikpIHsKKyAgICAgICAgICAgICAgICBwcmVmaXhM
aW5lcy5wdXNoKGxpbmVzLnNoaWZ0KCkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZnVu
Y3Rpb25TdHJpbmcgPSBsaW5lcy5qb2luKCJcbiIpOworCisgICAgICAgICAgICBsZXQgcHJlZml4
ID0gcHJlZml4TGluZXMuam9pbigiXG4iKQorICAgICAgICAgICAgaWYgKHByZWZpeCkKKyAgICAg
ICAgICAgICAgICBwcmVmaXggKz0gIlxuIjsKKwogICAgICAgICAgICAgLy8gVGhlIHNjcmlwdCBp
cyBleHBlY3RlZCB0byBiZSBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLiBFdmFsdWF0ZSBpdCBpbnNp
ZGUgcGFyZW50aGVzaXMgdG8gZ2V0IHRoZSBmdW5jdGlvbiB2YWx1ZS4KLSAgICAgICAgICAgIGxl
dCBmdW5jdGlvblZhbHVlID0gZXZhbHVhdGUoIihhc3luYyAiICsgZnVuY3Rpb25TdHJpbmcgKyAi
KSIpOworICAgICAgICAgICAgbGV0IGZ1bmN0aW9uVmFsdWUgPSBldmFsdWF0ZShwcmVmaXggKyAi
KGFzeW5jICIgKyBmdW5jdGlvblN0cmluZyArICIpIik7CiAgICAgICAgICAgICBpZiAodHlwZW9m
IGZ1bmN0aW9uVmFsdWUgIT09ICJmdW5jdGlvbiIpCiAgICAgICAgICAgICAgICAgcmVqZWN0KG5l
dyBUeXBlRXJyb3IoIlNjcmlwdCBkaWQgbm90IGV2YWx1YXRlIHRvIGEgZnVuY3Rpb24uIikpOwog
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>