<?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>132494</bug_id>
          
          <creation_ts>2014-05-02 15:07:45 -0700</creation_ts>
          <short_desc>Implement FormData decoding using KeyedDecoder</short_desc>
          <delta_ts>2014-05-02 15:39:12 -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>New Bugs</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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1006176</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-05-02 15:07:45 -0700</bug_when>
    <thetext>Implement FormData decoding using KeyedDecoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006178</commentid>
    <comment_count>1</comment_count>
      <attachid>230706</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-05-02 15:09:44 -0700</bug_when>
    <thetext>Created attachment 230706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006184</commentid>
    <comment_count>2</comment_count>
      <attachid>230706</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-05-02 15:22:48 -0700</bug_when>
    <thetext>Comment on attachment 230706
Patch

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

&gt; Source/WebCore/platform/network/FormData.cpp:679
&gt; +    if (!decoder.decodeObjects(&quot;elements&quot;, data-&gt;m_elements, [](KeyedDecoder&amp; decoder, FormDataElement&amp; element) {
&gt; +        return decodeElement(decoder, element);
&gt; +    }))
&gt; +        return nullptr;

I will note that this looks pretty bizarre.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006188</commentid>
    <comment_count>3</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-05-02 15:39:12 -0700</bug_when>
    <thetext>Committed r168199: &lt;http://trac.webkit.org/changeset/168199&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230706</attachid>
            <date>2014-05-02 15:09:44 -0700</date>
            <delta_ts>2014-05-02 15:22:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132494-20140502220921.patch</filename>
            <type>text/plain</type>
            <size>5320</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjdhZjhiOGE4NjkzOTI4
NjBmODM4NTE2MDRjN2QxNmI4OWYyYmNhNi4uODljMWQ0ZTQzOWNjZDg2N2JmZTBkYWYzZWY2YjAw
OTk5YjA1NzE1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE5IEBACiAyMDE0LTA1LTAyICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKKyAgICAgICAgSW1wbGVtZW50IEZv
cm1EYXRhIGRlY29kaW5nIHVzaW5nIEtleWVkRGVjb2RlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMyNDk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9LZXllZENvZGluZy5oOgorICAg
ICAgICAoV2ViQ29yZTo6S2V5ZWREZWNvZGVyOjpkZWNvZGVFbnVtKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmRlY29kZUVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6Rm9ybURhdGE6OmRlY29kZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oOgorCisyMDE0LTA1LTAyICBBbmRlcnMgQ2FybHNzb24g
IDxhbmRlcnNjYUBhcHBsZS5jb20+CisKICAgICAgICAgQ2xlYW4gdXAgRm9ybURhdGFFbGVtZW50
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzI0ODMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5ZWRDb2RpbmcuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0tleWVkQ29kaW5nLmgKaW5kZXggMzc1OTk1OGYxOTNhMTVi
ZjBlYjUwYjAwYTFhNDlhOGRkNTI3YjYyNC4uMmM0YjE3ODM2MGU2ZDljMWM4MDk0NGI4MDRjNmQw
MWIzMTBlNjdlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vS2V5ZWRDb2Rp
bmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9LZXllZENvZGluZy5oCkBAIC03Miw3
ICs3Miw3IEBAIHB1YmxpYzoKICAgICAgICAgaWYgKCFkZWNvZGVJbnQ2NChrZXksIGludFZhbHVl
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBpZiAoIWlzVmFsaWRFbnVt
RnVuY3Rpb24oaW50VmFsdWUpKQorICAgICAgICBpZiAoIWlzVmFsaWRFbnVtRnVuY3Rpb24oc3Rh
dGljX2Nhc3Q8VD4oaW50VmFsdWUpKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAg
ICAgICB2YWx1ZSA9IHN0YXRpY19jYXN0PFQ+KGludFZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAKaW5kZXggZTExNWE2NjA0YWU2YjliMWJjYjI4
MTk0ZjA0ZWJjYWIzODE2NjhkZS4uZTU2N2Y2YTlhOTI3ZTc4Yzk3Mjk4ZWRhM2U3NWQyN2FjYzBm
NTRhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5jcHAK
QEAgLTU0Myw2ICs1NDMsNjQgQEAgc3RhdGljIGJvb2wgZGVjb2RlRWxlbWVudChEZWNvZGVyJiBk
ZWNvZGVyLCBGb3JtRGF0YUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgcmV0dXJuIGZhbHNlOwogfQog
CitzdGF0aWMgYm9vbCBkZWNvZGVFbGVtZW50KEtleWVkRGVjb2RlciYgZGVjb2RlciwgRm9ybURh
dGFFbGVtZW50JiBlbGVtZW50KQoreworICAgIGlmICghZGVjb2Rlci5kZWNvZGVFbnVtKCJ0eXBl
IiwgZWxlbWVudC5tX3R5cGUsIFtdKEZvcm1EYXRhRWxlbWVudDo6VHlwZSB0eXBlKSB7CisgICAg
ICAgIHN3aXRjaCAodHlwZSkgeworICAgICAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6VHlwZTo6
RGF0YToKKyAgICAgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6OlR5cGU6OkVuY29kZWRGaWxlOgor
I2lmIEVOQUJMRShCTE9CKQorICAgICAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6VHlwZTo6RW5j
b2RlZEJsb2I6CisjZW5kaWYKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisK
KyAgICBzd2l0Y2ggKGVsZW1lbnQubV90eXBlKSB7CisgICAgY2FzZSBGb3JtRGF0YUVsZW1lbnQ6
OlR5cGU6OkRhdGE6CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVCeXRlcygiZGF0YSIsIGVs
ZW1lbnQubV9kYXRhKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgYnJlYWs7
CisKKyAgICBjYXNlIEZvcm1EYXRhRWxlbWVudDo6VHlwZTo6RW5jb2RlZEZpbGU6CisgICAgICAg
IGlmICghZGVjb2Rlci5kZWNvZGVTdHJpbmcoImZpbGVuYW1lIiwgZWxlbWVudC5tX2ZpbGVuYW1l
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZVN0cmluZygiZ2VuZXJhdGVkRmlsZW5hbWUiLCBlbGVtZW50Lm1fZ2VuZXJhdGVkRmlsZW5hbWUp
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
Qm9vbCgic2hvdWxkR2VuZXJhdGVGaWxlIiwgZWxlbWVudC5tX3Nob3VsZEdlbmVyYXRlRmlsZSkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjaWYgRU5BQkxFKEJMT0IpCisgICAgICAgIGlm
ICghZGVjb2Rlci5kZWNvZGVJbnQ2NCgiZmlsZVN0YXJ0IiwgZWxlbWVudC5tX2ZpbGVTdGFydCkp
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmIChlbGVtZW50Lm1fZmlsZVN0
YXJ0IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZUludDY0KCJmaWxlTGVuZ3RoIiwgZWxlbWVudC5tX2ZpbGVMZW5ndGgpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpZiAoZWxlbWVudC5tX2ZpbGVMZW5ndGggIT0g
QmxvYkRhdGFJdGVtOjp0b0VuZE9mRmlsZSAmJiBlbGVtZW50Lm1fZmlsZUxlbmd0aCA8IGVsZW1l
bnQubV9maWxlU3RhcnQpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGVEb3VibGUoImV4cGVjdGVkRmlsZU1vZGlmaWNhdGlvblRpbWUiLCBlbGVt
ZW50Lm1fZXhwZWN0ZWRGaWxlTW9kaWZpY2F0aW9uVGltZSkpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKKyAgICAgICAgYnJlYWs7CisKKyNpZiBFTkFCTEUoQkxPQikKKyAgICBj
YXNlIEZvcm1EYXRhRWxlbWVudDo6VHlwZTo6RW5jb2RlZEJsb2I6IHsKKyAgICAgICAgU3RyaW5n
IGJsb2JVUkxTdHJpbmc7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGVTdHJpbmcoInVybCIs
IGJsb2JVUkxTdHJpbmcpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGVs
ZW1lbnQubV91cmwgPSBVUkwoVVJMKCksIGJsb2JVUkxTdHJpbmcpOworICAgICAgICBicmVhazsK
KyAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBGb3Jt
RGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7CiAgICAgZW5jb2Rlci5lbmNv
ZGVCb29sKG1fYWx3YXlzU3RyZWFtKTsKQEAgLTYwNSw0ICs2NjMsMjUgQEAgUGFzc1JlZlB0cjxG
b3JtRGF0YT4gRm9ybURhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQogICAgIHJldHVybiBk
YXRhLnJlbGVhc2UoKTsKIH0KIAorUGFzc1JlZlB0cjxGb3JtRGF0YT4gRm9ybURhdGE6OmRlY29k
ZShLZXllZERlY29kZXImIGRlY29kZXIpCit7CisgICAgUmVmUHRyPEZvcm1EYXRhPiBkYXRhID0g
Rm9ybURhdGE6OmNyZWF0ZSgpOworCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUJvb2woImFsd2F5
c1N0cmVhbSIsIGRhdGEtPm1fYWx3YXlzU3RyZWFtKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlQnl0ZXMoImJvdW5kYXJ5IiwgZGF0YS0+bV9ib3Vu
ZGFyeSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZU9iamVjdHMoImVsZW1lbnRzIiwgZGF0YS0+bV9lbGVtZW50cywgW10oS2V5ZWREZWNvZGVyJiBk
ZWNvZGVyLCBGb3JtRGF0YUVsZW1lbnQmIGVsZW1lbnQpIHsKKyAgICAgICAgcmV0dXJuIGRlY29k
ZUVsZW1lbnQoZGVjb2RlciwgZWxlbWVudCk7CisgICAgfSkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZUludDY0KCJpZGVudGlmaWVyIiwgZGF0YS0+
bV9pZGVudGlmaWVyKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gZGF0
YS5yZWxlYXNlKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaAppbmRleCA3NGQ5ZDk2MjEyYjA5Njc3Mjc0Y2Vj
ZjE0OGU2MzBmZGE2N2YzMzM3Li4yYjFmYmU4ODUxZTViYTdiYjY1MmZiMmQ5OWJiYmE4MWU2ZmMw
OGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oCkBAIC0z
MCw2ICszMCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBGb3JtRGF0YUxpc3Q7CitjbGFzcyBLZXllZERlY29kZXI7CiBjbGFzcyBLZXllZEVuY29kZXI7
CiBjbGFzcyBUZXh0RW5jb2Rpbmc7CiAKQEAgLTE0NSw2ICsxNDYsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHZvaWQgZW5jb2RlKEtleWVkRW5jb2Rl
ciYpIGNvbnN0OwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvcm1EYXRhPiBkZWNvZGUoRGVjb2Rl
ciYpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZvcm1EYXRhPiBkZWNvZGUoS2V5ZWREZWNvZGVy
Jik7CiAKICAgICB2b2lkIGFwcGVuZERhdGEoY29uc3Qgdm9pZCogZGF0YSwgc2l6ZV90KTsKICAg
ICB2b2lkIGFwcGVuZEZpbGUoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgYm9vbCBzaG91bGRHZW5l
cmF0ZUZpbGUgPSBmYWxzZSk7Cg==
</data>
<flag name="review"
          id="255091"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>