<?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>128080</bug_id>
          
          <creation_ts>2014-02-02 12:55:15 -0800</creation_ts>
          <short_desc>WebKit Bot Watcher&apos;s Dashboard: Teach JSON.load() to interpret third argument as either an option dictionary or a failure callback</short_desc>
          <delta_ts>2014-02-03 10:04:18 -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>Tools / Tests</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>974816</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-02-02 12:55:15 -0800</bug_when>
    <thetext>For convenience JSON.load() should accept either a Function object or an Object for the data type of the third argument of JSON.load() such that we can call JSON.load() with following forms:

1. JSON.load(&quot;http://www.apple.com&quot;, function() {/* success */})
2. JSON.load(&quot;http://www.apple.com&quot;, function() {/* success */}, {withCredentials: true, ...});
3. JSON.load(&quot;http://www.apple.com&quot;, function() {/* success */}, function() { /* failure */ })
4. JSON.load(&quot;http://www.apple.com&quot;, function() {/* success */}, function() {/* failure */}, {withCredentials: true, ...})

Currently JSON.load() can be called with forms: (1), (3), and (4).

As implied above, form (2) makes using JSON.load() more convenient when a failure callback function isn&apos;t necessary, but a person wants to pass an option dictionary because a person doesn&apos;t need to explicitly pass null or a reference to an empty function for the value of the third argument.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974820</commentid>
    <comment_count>1</comment_count>
      <attachid>222936</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-02-02 13:04:08 -0800</bug_when>
    <thetext>Created attachment 222936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>975909</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-02-03 10:04:18 -0800</bug_when>
    <thetext>Committed r163313: &lt;http://trac.webkit.org/changeset/163313&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222936</attachid>
            <date>2014-02-02 13:04:08 -0800</date>
            <delta_ts>2014-02-02 21:03:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128080-20140202130409.patch</filename>
            <type>text/plain</type>
            <size>2836</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzMjY5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTU2MzA5N2NmMTllMDBhYjJkMjM4MmY1OTgzNWU4Zjcy
ZTNiMjU4NS4uMTIzZmI0NDMyNjViYzcwYjVkYzdiZWI4NTA0MjY0MzUyN2JhNWFkNSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIx
IEBACiAyMDE0LTAyLTAyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAorICAg
ICAgICBXZWJLaXQgQm90IFdhdGNoZXIncyBEYXNoYm9hcmQ6IFRlYWNoIEpTT04ubG9hZCgpIHRv
IGludGVycHJldCB0aGlyZCBhcmd1bWVudCBhcyBlaXRoZXIgYW4KKyAgICAgICAgb3B0aW9uIGRp
Y3Rpb25hcnkgb3IgYSBmYWlsdXJlIGNhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHkgSlNPTi5sb2FkKCkgdGFrZXMgYSBmYWls
dXJlIGNhbGxiYWNrIGZ1bmN0aW9uIGFzIGl0cyB0aGlyZCBhcmd1bWVudCBhbmQKKyAgICAgICAg
YW4gb3B0aW9uIGRpY3Rpb25hcnkgYXMgaXRzIGZvdXJ0aCBhcmd1bWVudC4gU28sIGEgY2FsbGVy
IHRoYXQgd2FudHMgdG8gaWdub3JlIGVycm9ycworICAgICAgICBhbmQgcGFzcyBhbiBvcHRpb24g
ZGljdGlvbmFyeSBtdXN0IHBhc3MgbnVsbCBvciBhIHJlZmVyZW5jZSB0byBhbiBlbXB0eSBmdW5j
dGlvbiBmb3IKKyAgICAgICAgdGhlIHZhbHVlIG9mIHRoaXJkIGFyZ3VtZW50LiBJbnN0ZWFkLCB3
ZSBzaG91bGQgbWFrZSB0aGUgdGhpcmQgYXJndW1lbnQgcG9seW1vcnBoaWMgZm9yCisgICAgICAg
IGNvbnZlbmllbmNlLiBUaGVuIGEgY2FsbGVyIGNhbiBlaXRoZXIgcGFzcyBhIGZhaWx1cmUgY2Fs
bGJhY2sgZnVuY3Rpb24gb3IgYW4gb3B0aW9uIGRpY3Rpb25hcnkuCisKKyAgICAgICAgKiBCdWls
ZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9h
cmQvU2NyaXB0cy9VdGlsaXRpZXMuanM6CisKKzIwMTQtMDItMDIgIERhbmllbCBCYXRlcyAgPGRh
YmF0ZXNAYXBwbGUuY29tPgorCiAgICAgICAgIFdlYktpdCBCb3QgV2F0Y2hlcidzIERhc2hib2Fy
ZDogQWNjZXNzIHJlc3RyaWN0ZWQgcXVldWUgc2hvdWxkIG9ubHkgcHJvbXB0IGZvciBIVFRQIGNy
ZWRlbnRpYWxzIG9uY2UgcGVyIHBhZ2UgbG9hZAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3ODQ5CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9T
Y3JpcHRzL1V0aWxpdGllcy5qcyBiL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL3B1YmxpY19odG1sL2Rhc2hib2FyZC9TY3JpcHRzL1V0aWxpdGllcy5qcwpp
bmRleCAwZTJhNzJkODU5MjQwMTA3OWZkZTU3ZjMwMjVhNTZiNWIzZmFjYTc5Li5lYjI4YjY3MjA2
NzUyZDE1YzM0YmQ1OTZlYzM0M2E1YmFhMWUzZWFiIDEwMDY0NAotLS0gYS9Ub29scy9CdWlsZFNs
YXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9wdWJsaWNfaHRtbC9kYXNoYm9hcmQv
U2NyaXB0cy9VdGlsaXRpZXMuanMKKysrIGIvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQu
d2Via2l0Lm9yZy1jb25maWcvcHVibGljX2h0bWwvZGFzaGJvYXJkL1NjcmlwdHMvVXRpbGl0aWVz
LmpzCkBAIC0yNiw2ICsyNiwxNSBAQAogSlNPTi5Mb2FkRXJyb3IgPSAiSlNPTkxvYWRFcnJvciI7
CiBKU09OLlBhcnNlRXJyb3IgPSAiSlNPTlBhcnNlRXJyb3IiOwogCisvLyBKU09OLmxvYWQoKSBt
YXkgYmUgY2FsbGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgZm9ybXM6CisvLworLy8gSlNPTi5sb2Fk
KCJodHRwOi8vd3d3LmFwcGxlLmNvbSIsIGZ1bmN0aW9uKCkgey8qIHN1Y2Nlc3MgKi99KQorLy8g
T1IKKy8vIEpTT04ubG9hZCgiaHR0cDovL3d3dy5hcHBsZS5jb20iLCBmdW5jdGlvbigpIHsvKiBz
dWNjZXNzICovfSwge3dpdGhDcmVkZW50aWFsczogdHJ1ZSwgLi4ufSkKKy8vIE9SCisvLyBKU09O
LmxvYWQoImh0dHA6Ly93d3cuYXBwbGUuY29tIiwgZnVuY3Rpb24oKSB7Lyogc3VjY2VzcyAqL30s
IGZ1bmN0aW9uKCkgeyAvKiBmYWlsdXJlICovIH0pCisvLyBPUgorLy8gSlNPTi5sb2FkKCJodHRw
Oi8vd3d3LmFwcGxlLmNvbSIsIGZ1bmN0aW9uKCkgey8qIHN1Y2Nlc3MgKi99LCBmdW5jdGlvbigp
IHsvKiBmYWlsdXJlICovfSwge3dpdGhDcmVkZW50aWFsczogdHJ1ZSwgLi4ufSkKIEpTT04ubG9h
ZCA9IGZ1bmN0aW9uKHVybCwgc3VjY2Vzc0NhbGxiYWNrLCBmYWlsdXJlQ2FsbGJhY2ssIG9wdGlv
bnMpCiB7CiAgICAgY29uc29sZS5hc3NlcnQodXJsKTsKQEAgLTMzLDYgKzQyLDkgQEAgSlNPTi5s
b2FkID0gZnVuY3Rpb24odXJsLCBzdWNjZXNzQ2FsbGJhY2ssIGZhaWx1cmVDYWxsYmFjaywgb3B0
aW9ucykKICAgICBpZiAoIShzdWNjZXNzQ2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvbikpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIGlmIChmYWlsdXJlQ2FsbGJhY2sgJiYgdHlwZW9mIGZhaWx1
cmVDYWxsYmFjayA9PT0gIm9iamVjdCIpCisgICAgICAgIG9wdGlvbnMgPSBmYWlsdXJlQ2FsbGJh
Y2s7CisKICAgICBpZiAoIShmYWlsdXJlQ2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvbikpCiAg
ICAgICAgIGZhaWx1cmVDYWxsYmFjayA9IGZ1bmN0aW9uKCkgeyB9OwogCg==
</data>
<flag name="review"
          id="246955"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>