<?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>180350</bug_id>
          
          <creation_ts>2017-12-04 04:21:12 -0800</creation_ts>
          <short_desc>WebDriver: evaluateJavaScriptFunction should return null when return value is undefined</short_desc>
          <delta_ts>2018-01-29 22:33:42 -0800</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>
          
          
          <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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bburg</cc>
    
    <cc>clopez</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377656</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-12-04 04:21:12 -0800</bug_when>
    <thetext>undefined can&apos;t be converted to JSON string, in which case JSON.stringify() returns undefined and we handle that case to return an empty string. We currently handle this case for execute script commands, but not in all other cases where we use evaluateJavaScriptFunction. It would be simpler if evaluateJavaScriptFunction returned null, because in that case we wouldn&apos;t need to handle it as a special case.

15.2 Executing Script
https://w3c.github.io/webdriver/webdriver-spec.html#dfn-json-clone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377658</commentid>
    <comment_count>1</comment_count>
      <attachid>328341</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-12-04 04:27:50 -0800</bug_when>
    <thetext>Created attachment 328341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1389885</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-16 22:41:00 -0800</bug_when>
    <thetext>Brian, could you check if this affects safari driver? Maybe you need to adapt the driver implementation, like I did.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394302</commentid>
    <comment_count>3</comment_count>
      <attachid>328341</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2018-01-29 15:40:02 -0800</bug_when>
    <thetext>Comment on attachment 328341
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=328341&amp;action=review

This does not seem to regress any safaridriver tests, feel free to land as you please.

&gt; Source/WebDriver/ChangeLog:8
&gt; +        Stop handling the empty string a as a special case of evaluateJavaScriptFunction result.

Nit: &apos;a as a&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394431</commentid>
    <comment_count>4</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-29 22:31:40 -0800</bug_when>
    <thetext>(In reply to Brian Burg from comment #3)
&gt; Comment on attachment 328341 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=328341&amp;action=review
&gt; 
&gt; This does not seem to regress any safaridriver tests, feel free to land as
&gt; you please.

Cool, thanks!

&gt; &gt; Source/WebDriver/ChangeLog:8
&gt; &gt; +        Stop handling the empty string a as a special case of evaluateJavaScriptFunction result.
&gt; 
&gt; Nit: &apos;a as a&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394432</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-01-29 22:32:46 -0800</bug_when>
    <thetext>Committed r227773: &lt;https://trac.webkit.org/changeset/227773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394433</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-29 22:33:42 -0800</bug_when>
    <thetext>&lt;rdar://problem/37016996&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328341</attachid>
            <date>2017-12-04 04:27:50 -0800</date>
            <delta_ts>2018-01-16 03:39:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wd-js-undefined.diff</filename>
            <type>text/plain</type>
            <size>3578</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJEcml2ZXIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkRyaXZl
ci9DaGFuZ2VMb2cKaW5kZXggNjYxYzA4YThkZDAuLjhjN2U1NTY2MDBmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViRHJpdmVyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDE3LTEyLTA0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBXZWJEcml2ZXI6IGV2YWx1YXRlSmF2YVNjcmlw
dEZ1bmN0aW9uIHNob3VsZCByZXR1cm4gbnVsbCB3aGVuIHJldHVybiB2YWx1ZSBpcyB1bmRlZmlu
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM1
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0b3Ag
aGFuZGxpbmcgdGhlIGVtcHR5IHN0cmluZyBhIGFzIGEgc3BlY2lhbCBjYXNlIG9mIGV2YWx1YXRl
SmF2YVNjcmlwdEZ1bmN0aW9uIHJlc3VsdC4KKworICAgICAgICAqIFNlc3Npb24uY3BwOgorICAg
ICAgICAoV2ViRHJpdmVyOjpTZXNzaW9uOjpleGVjdXRlU2NyaXB0KToKKwogMjAxNy0xMi0wNCAg
Q2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgV2Vi
RHJpdmVyOiBpbXBsZW1lbnQgZWxlbWVudCBwcm9wZXJ0eSBjb21tYW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViRHJpdmVyL1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNw
cAppbmRleCA5ODczM2Y3NWExNC4uZTUyZDg2YzYzMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJE
cml2ZXIvU2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkRyaXZlci9TZXNzaW9uLmNwcApAQCAt
MTcyMywxMCArMTcyMyw2IEBAIHZvaWQgU2Vzc2lvbjo6ZXhlY3V0ZVNjcmlwdChjb25zdCBTdHJp
bmcmIHNjcmlwdCwgUmVmUHRyPEpTT046OkFycmF5PiYmIGFyZ3VtZW50CiAgICAgICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoQ29tbWFuZFJlc3VsdDo6ZmFpbChDb21tYW5kUmVzdWx0OjpF
cnJvckNvZGU6OlVua25vd25FcnJvcikpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIGlmICh2YWx1ZVN0cmluZy5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihDb21tYW5kUmVzdWx0OjpzdWNjZXNzKCkpOwot
ICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KICAgICAgICAgICAgIFJlZlB0
cjxKU09OOjpWYWx1ZT4gcmVzdWx0VmFsdWU7CiAgICAgICAgICAgICBpZiAoIUpTT046OlZhbHVl
OjpwYXJzZUpTT04odmFsdWVTdHJpbmcsIHJlc3VsdFZhbHVlKSkgewogICAgICAgICAgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKENvbW1hbmRSZXN1bHQ6OmZhaWwoQ29tbWFuZFJlc3VsdDo6RXJy
b3JDb2RlOjpVbmtub3duRXJyb3IpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTVjNTEwMWFmZmQuLmNhYWFjMTk1
MzQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTEyLTA0ICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBXZWJEcml2ZXI6IGV2YWx1
YXRlSmF2YVNjcmlwdEZ1bmN0aW9uIHNob3VsZCByZXR1cm4gbnVsbCB3aGVuIHJldHVybiB2YWx1
ZSBpcyB1bmRlZmluZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MDM1MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIHVuZGVmaW5lZCBjYW4ndCBiZSBjb252ZXJ0ZWQgdG8gSlNPTiBzdHJpbmcsIGluIHdo
aWNoIGNhc2UgSlNPTi5zdHJpbmdpZnkoKSByZXR1cm5zIHVuZGVmaW5lZCBhbmQgd2UgaGFuZGxl
IHRoYXQKKyAgICAgICAgY2FzZSB0byByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLiBXZSBjdXJyZW50
bHkgaGFuZGxlIHRoaXMgY2FzZSBmb3IgZXhlY3V0ZSBzY3JpcHQgY29tbWFuZHMsIGJ1dCBub3Qg
aW4gYWxsIG90aGVyCisgICAgICAgIGNhc2VzIHdoZXJlIHdlIHVzZSBldmFsdWF0ZUphdmFTY3Jp
cHRGdW5jdGlvbi4gSXQgd291bGQgYmUgc2ltcGxlciBpZiBldmFsdWF0ZUphdmFTY3JpcHRGdW5j
dGlvbiByZXR1cm5lZCBudWxsLAorICAgICAgICBiZWNhdXNlIGluIHRoYXQgY2FzZSB3ZSB3b3Vs
ZG4ndCBuZWVkIHRvIGhhbmRsZSBpdCBhcyBhIHNwZWNpYWwgY2FzZS4KKworICAgICAgICAxNS4y
IEV4ZWN1dGluZyBTY3JpcHQKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZl
ci93ZWJkcml2ZXItc3BlYy5odG1sI2Rmbi1qc29uLWNsb25lCisKKyAgICAgICAgRml4ZXM6IGlt
cG9ydGVkL3czYy93ZWJkcml2ZXIvdGVzdHMvc3RhdGUvZ2V0X2VsZW1lbnRfcHJvcGVydHkucHk6
OnRlc3RfZWxlbWVudF9ub25fZXhpc3RlbnQKKworICAgICAgICAqIFdlYlByb2Nlc3MvQXV0b21h
dGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvblByb3h5LmpzOgorICAgICAgICAobGV0LkF1dG9tYXRp
b25TZXNzaW9uUHJveHkucHJvdG90eXBlLl9qc29uU3RyaW5naWZ5KTogUmV0dXJuICJudWxsIiBp
bnN0ZWFkIG9mICIiIHdoZW4gdW5kZWZpbmVkIGlzIGdpdmVuLgorCiAyMDE3LTEyLTAzICBZdXN1
a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFdURiBzaG91bGRu
J3QgaGF2ZSBib3RoIFRocmVhZCBhbmQgVGhyZWFkSWRlbnRpZmllcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb25Qcm94
eS5qcyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uUHJveHkuanMKaW5kZXggODBjNmJiZDQ0N2QuLmUxNDVlNzRlZDc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lv
blByb3h5LmpzCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1
dG9tYXRpb25TZXNzaW9uUHJveHkuanMKQEAgLTg4LDcgKzg4LDcgQEAgbGV0IEF1dG9tYXRpb25T
ZXNzaW9uUHJveHkgPSBjbGFzcyBBdXRvbWF0aW9uU2Vzc2lvblByb3h5CiAKICAgICBfanNvblN0
cmluZ2lmeShvcmlnaW5hbCkKICAgICB7Ci0gICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShv
cmlnaW5hbCwgKGtleSwgdmFsdWUpID0+IHRoaXMuX3JlcGxhY2VKU09OVmFsdWUoa2V5LCB2YWx1
ZSkpIHx8ICIiOworICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob3JpZ2luYWwsIChrZXks
IHZhbHVlKSA9PiB0aGlzLl9yZXBsYWNlSlNPTlZhbHVlKGtleSwgdmFsdWUpKSB8fCAibnVsbCI7
CiAgICAgfQogCiAgICAgX3Jldml2ZUpTT05WYWx1ZShrZXksIHZhbHVlKQo=
</data>
<flag name="review"
          id="347519"
          type_id="1"
          status="+"
          setter="clopez"
    />
          </attachment>
      

    </bug>

</bugzilla>