<?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>125059</bug_id>
          
          <creation_ts>2013-12-01 20:48:01 -0800</creation_ts>
          <short_desc>jsc: implement a native readFile function</short_desc>
          <delta_ts>2015-12-23 09:58:00 -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>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>125048</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>khakionion</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>955227</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-12-01 20:48:01 -0800</bug_when>
    <thetext>To run tools like JSHint from the standalone jsc executable (i.e., as a check-webkit-style backend), there needs to be a way able to slurp a file into a string.

Rhino has had a function like this called readFile(). It&apos;s pretty simple to implement, as jsc already slurps files and evaluates them with script-exposed run(). I think we can just ignore the character encoding argument, as we don&apos;t have any better idea what it should be (or what to do with it) than WTF::String.

https://github.com/mozilla/rhino/blob/5f1ad11dfbf23b3afcc8caa6c230fa3533b5ffd6/toolsrc/org/mozilla/javascript/tools/shell/Global.java#L778</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955229</commentid>
    <comment_count>1</comment_count>
      <attachid>218138</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-12-01 21:01:32 -0800</bug_when>
    <thetext>Created attachment 218138
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955376</commentid>
    <comment_count>2</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-12-02 07:45:41 -0800</bug_when>
    <thetext>Could you set cq+ as well? Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955384</commentid>
    <comment_count>3</comment_count>
      <attachid>218138</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-02 08:36:11 -0800</bug_when>
    <thetext>Comment on attachment 218138
patch

Clearing flags on attachment: 218138

Committed r159934: &lt;http://trac.webkit.org/changeset/159934&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>955385</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-02 08:36:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1151090</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-12-23 09:58:00 -0800</bug_when>
    <thetext>*** Bug 93702 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218138</attachid>
            <date>2013-12-01 21:01:32 -0800</date>
            <delta_ts>2013-12-02 08:36:10 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug-125059-20131201210130.patch</filename>
            <type>text/plain</type>
            <size>2745</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZTlmY2M2OGE0Mzg3ZDBiNTlmNWJiYzU5NTdmMDhiMmI4ZDlmZTAwLi42NjdjYTM2NDBhMjg5MmU2
NWI0OGFiZjQ1YTA1N2UzOTE3MTY3NmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMy0xMi0wMSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rv
bi5lZHU+CisKKyAgICAgICAganNjOiBpbXBsZW1lbnQgYSBuYXRpdmUgcmVhZEZpbGUgZnVuY3Rp
b24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTA1
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
YWRkcyBhIG5hdGl2ZSByZWFkRmlsZSgpIGZ1bmN0aW9uIHRvIGpzYywgdXNlZCB0byBzbHVycAor
ICAgICAgICBhbiBlbnRpcmUgZmlsZSBpbnRvIGEgSmF2YVNjcmlwdCBzdHJpbmcuCisKKyAgICAg
ICAgKiBqc2MuY3BwOgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbik6IEFk
ZCByZWFkRmlsZSgpIHRvIGdsb2JhbHMuCisgICAgICAgIChmdW5jdGlvblJlYWRGaWxlKTogQWRk
ZWQuCisKIDIwMTMtMTEtMjkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaW5hbGx5IHJlbW92ZSB0aG9zZSBERkdfRU5BQkxFIHRoaW5ncwpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNj
LmNwcAppbmRleCBhYWQ2YmEyMjZhMjUzMmI5OGMwYWRiZjc4ZjA2ZGJmN2E5ZDc2MWQ3Li42ZTBl
NWNhY2FiYjExMDZkOGMzOGY2OTY4MGY5MGY5OTM1MTA2YjhiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvanNjLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNw
cApAQCAtMTA4LDYgKzEwOCw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmN0aW9uRHVtcENhbGxGcmFtZShFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uVmVyc2lvbihFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uUnVuKEV4ZWNTdGF0ZSopOwogc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkKEV4ZWNTdGF0ZSopOwor
c3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25SZWFkRmlsZShFeGVj
U3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ2hl
Y2tTeW50YXgoRXhlY1N0YXRlKik7CiBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvblJlYWRsaW5lKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25QcmVjaXNlVGltZShFeGVjU3RhdGUqKTsKQEAgLTIyNiw2ICsy
MjcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAidmVyc2lvbiIsIGZ1
bmN0aW9uVmVyc2lvbiwgMSk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAicnVuIiwgZnVuY3Rp
b25SdW4sIDEpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImxvYWQiLCBmdW5jdGlvbkxvYWQs
IDEpOworICAgICAgICBhZGRGdW5jdGlvbih2bSwgInJlYWRGaWxlIiwgZnVuY3Rpb25SZWFkRmls
ZSwgMSk7CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiY2hlY2tTeW50YXgiLCBmdW5jdGlvbkNo
ZWNrU3ludGF4LCAxKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJqc2NTdGFjayIsIGZ1bmN0
aW9uSlNDU3RhY2ssIDEpOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgInJlYWRsaW5lIiwgZnVu
Y3Rpb25SZWFkbGluZSwgMCk7CkBAIC00MjEsNiArNDIzLDE2IEBAIEVuY29kZWRKU1ZhbHVlIEpT
Q19IT1NUX0NBTEwgZnVuY3Rpb25Mb2FkKEV4ZWNTdGF0ZSogZXhlYykKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKK0VuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwg
ZnVuY3Rpb25SZWFkRmlsZShFeGVjU3RhdGUqIGV4ZWMpCit7CisgICAgU3RyaW5nIGZpbGVOYW1l
ID0gZXhlYy0+YXJndW1lbnQoMCkudG9TdHJpbmcoZXhlYyktPnZhbHVlKGV4ZWMpOworICAgIFZl
Y3RvcjxjaGFyPiBzY3JpcHQ7CisgICAgaWYgKCFmaWxsQnVmZmVyV2l0aENvbnRlbnRzT2ZGaWxl
KGZpbGVOYW1lLCBzY3JpcHQpKQorICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGV4ZWMt
PnZtKCkudGhyb3dFeGNlcHRpb24oZXhlYywgY3JlYXRlRXJyb3IoZXhlYywgIkNvdWxkIG5vdCBv
cGVuIGZpbGUuIikpKTsKKworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNTdHJpbmcoZXhl
Yywgc3RyaW5nRnJvbVVURihzY3JpcHQuZGF0YSgpKSkpOworfQorCiBFbmNvZGVkSlNWYWx1ZSBK
U0NfSE9TVF9DQUxMIGZ1bmN0aW9uQ2hlY2tTeW50YXgoRXhlY1N0YXRlKiBleGVjKQogewogICAg
IFN0cmluZyBmaWxlTmFtZSA9IGV4ZWMtPmFyZ3VtZW50KDApLnRvU3RyaW5nKGV4ZWMpLT52YWx1
ZShleGVjKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>