<?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>26505</bug_id>
          
          <creation_ts>2009-06-17 20:45:16 -0700</creation_ts>
          <short_desc>Value of file upload forms for non-multipart methods</short_desc>
          <delta_ts>2009-07-16 21:36:54 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>19264</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>mike</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126646</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-06-17 20:45:16 -0700</bug_when>
    <thetext>According to the current HTML5 spec, UAs have to add filenames for non-multipart form submission.
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#url-encoded-form-data
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#plain-text-form-data

&gt; If the entry&apos;s type is &quot;file&quot;, replace its value with the file&apos;s filename only.

WebKit sets nothing for type=file at this moment. See HTMLInputElement::appendFormData().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130064</commentid>
    <comment_count>1</comment_count>
      <attachid>32336</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-06 17:58:32 -0700</bug_when>
    <thetext>Created attachment 32336
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130154</commentid>
    <comment_count>2</comment_count>
      <attachid>32336</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-07 00:41:42 -0700</bug_when>
    <thetext>Comment on attachment 32336
Proposed patch

Your ChangeLog has boilerplate code in it.  Please read the boilerplate and act on it.

This needs an automated test.  It&apos;s possible to test file drags and file uploads using DumpRenderTree (at least on the mac).  Look at creating an http/ test which uses eventSender.beginDragWithFiles() you could also create a new layoutTestController method which did fileObjectForPath() or similar if you wanted to make test which didn&apos;t require drag and drop but still used File objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130170</commentid>
    <comment_count>3</comment_count>
      <attachid>32368</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-07 01:59:46 -0700</bug_when>
    <thetext>Created attachment 32368
Proposed patch (rev.2)

Eric,
Thank you for the advice.  I have updated the ChangeLog, made an automated test, and removed the manual test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>130171</commentid>
    <comment_count>4</comment_count>
      <attachid>32369</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-07 02:05:05 -0700</bug_when>
    <thetext>Created attachment 32369
Proposed patch (rev.3)

Oops, removed unnecessary JavaScript code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132076</commentid>
    <comment_count>5</comment_count>
      <attachid>32369</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-07-15 16:17:09 -0700</bug_when>
    <thetext>Comment on attachment 32369
Proposed patch (rev.3)

This looks fine to me.  Ideally Sam would comment before you land.  But I think this is good to go as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132343</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 14:18:59 -0700</bug_when>
    <thetext>Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132358</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 15:02:57 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/forms/get-file-upload-expected.txt
	A	LayoutTests/fast/forms/get-file-upload.html
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLInputElement.cpp
Committed r45987
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLInputElement.cpp
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/forms/get-file-upload.html
	A	LayoutTests/fast/forms/get-file-upload-expected.txt
r45987 = fd7fd50f8f394c89fe0fd7b59661aff6d249ab9d (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/45987</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132417</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 17:17:50 -0700</bug_when>
    <thetext>Re-opening.  Tests did not pass on Windows.  Reverted in r45999.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132454</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-16 21:00:57 -0700</bug_when>
    <thetext>In Windows, the console had:
  CONSOLE MESSAGE: line 29: TypeError: Result of expression &apos;eventSender.beginDragWithFiles&apos; [undefined] is not a function.
  FAIL: Timed out waiting for notifyDone to be called

Does Windows have no beginDragWithFiles?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132458</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-16 21:18:44 -0700</bug_when>
    <thetext>I have found other tests with beginDragWithFiles() are disabled for non-Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132459</commentid>
    <comment_count>11</comment_count>
      <attachid>32914</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2009-07-16 21:25:30 -0700</bug_when>
    <thetext>Created attachment 32914
Proposed patch (rev.4)

Disables the test for non-Mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132461</commentid>
    <comment_count>12</comment_count>
      <attachid>32914</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 21:30:54 -0700</bug_when>
    <thetext>Comment on attachment 32914
Proposed patch (rev.4)

Thanks for updating the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132462</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 21:31:26 -0700</bug_when>
    <thetext>Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132463</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-07-16 21:36:54 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/forms/get-file-upload-expected.txt
	A	LayoutTests/fast/forms/get-file-upload.html
	M	LayoutTests/platform/gtk/Skipped
	M	LayoutTests/platform/qt/Skipped
	M	LayoutTests/platform/win/Skipped
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLInputElement.cpp
Committed r46006
	M	WebCore/ChangeLog
	M	WebCore/html/HTMLInputElement.cpp
	M	LayoutTests/platform/qt/Skipped
	M	LayoutTests/platform/gtk/Skipped
	M	LayoutTests/platform/win/Skipped
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/forms/get-file-upload.html
	A	LayoutTests/fast/forms/get-file-upload-expected.txt
r46006 = ba2185d36b7a2858015ae99f9dae0a5b13e62071 (trunk)
No changes between current HEAD and refs/remotes/trunk
Resetting to the latest refs/remotes/trunk
http://trac.webkit.org/changeset/46006</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32336</attachid>
            <date>2009-07-06 17:58:32 -0700</date>
            <delta_ts>2009-07-07 01:59:46 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>file-nonmultipart.diff</filename>
            <type>text/plain</type>
            <size>3629</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU3NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMDktMDctMDYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bmRzIHRoZSBiYXNlbmFtZSBvZiBhIHNlbGVjdGVkIGZpbGUgZm9yIG5vbi1tdWx0aXBhcnQgZm9y
bSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI2NTA1PgorCisgICAgICAgIERFVEFJTEVEIERFU0NSSVBUSU9OIE9GIFRIRSBDSEFO
R0VTIEdPRVMgSEVSRS4gKE9PUFMhKSBTRUU6CisgICAgICAgIGh0dHA6Ly93ZWJraXQub3JnL2Nv
ZGluZy9jb250cmlidXRpbmcuaHRtbCBGT1IgTU9SRSBJTkZPUk1BVElPTgorCisgICAgICAgIExJ
U1QgT0YgVEVTVFMsIE9SIEVYUExBTkFUSU9OIFdIWSBURVNUSU5HIElTIElNUE9TU0lCTEUgR09F
UyBIRVJFIChPT1BTISkKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisgICAg
ICAgICogbWFudWFsLXRlc3RzL2dldC1maWxlLXVwbG9hZC5odG1sOiBBZGRlZC4KKwogMjAwOS0w
Ny0wNiAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA0NTU3NSkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtODM4LDEzICs4MzgsMjUgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50
OjphcHBlbmRGb3JtRGF0YShGbwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBG
SUxFOiB7Ci0gICAgICAgICAgICAvLyBDYW4ndCBzdWJtaXQgZmlsZSBvbiBHRVQuCi0gICAgICAg
ICAgICBpZiAoIW11bHRpcGFydCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
ICAgICAgICB1bnNpZ25lZCBudW1GaWxlcyA9IG1fZmlsZUxpc3QtPmxlbmd0aCgpOworICAgICAg
ICAgICAgaWYgKCFtdWx0aXBhcnQpIHsKKyAgICAgICAgICAgICAgICAvLyBTZW5kIG9ubHkgdGhl
IGJhc2VuYW1lcy4KKyAgICAgICAgICAgICAgICAvLyA0LjEwLjE2LjQgYW5kIDQuMTAuMTYuNiBz
ZWN0aW9ucyBpbiBIVE1MNS4KKworICAgICAgICAgICAgICAgIC8vIFVubGlrZSB0aGUgbXVsdGlw
YXJ0IGNhc2UsIHdlIGhhdmUgbm8gc3BlY2lhbAorICAgICAgICAgICAgICAgIC8vIGhhbmRsaW5n
IGZvciB0aGUgZW1wdHkgZmlsZUxpc3QgYmVjYXVzZSBOZXRzY2FwZQorICAgICAgICAgICAgICAg
IC8vIGRvZXNuJ3Qgc3VwcG9ydCBmb3Igbm9uLW11bHRpcGFydCBzdWJtaXNzaW9uIG9mCisgICAg
ICAgICAgICAgICAgLy8gZmlsZSBpbnB1dHMsIGFuZCBGaXJlZm94IGRvZXNuJ3QgYWRkICJuYW1l
PSIgcXVlcnkKKyAgICAgICAgICAgICAgICAvLyBwYXJhbWV0ZXIuCisKKyAgICAgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtRmlsZXM7ICsraSkgeworICAgICAgICAgICAg
ICAgICAgICBlbmNvZGluZy5hcHBlbmREYXRhKG5hbWUoKSwgbV9maWxlTGlzdC0+aXRlbShpKS0+
ZmlsZU5hbWUoKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAvLyBJZiBubyBmaWxlbmFtZSBhdCBh
bGwgaXMgZW50ZXJlZCwgcmV0dXJuIHN1Y2Nlc3NmdWwgYnV0IGVtcHR5LgogICAgICAgICAgICAg
Ly8gTnVsbCB3b3VsZCBiZSBtb3JlIGxvZ2ljYWwsIGJ1dCBOZXRzY2FwZSBwb3N0cyBhbiBlbXB0
eSBmaWxlLiBBcmdoLgotICAgICAgICAgICAgdW5zaWduZWQgbnVtRmlsZXMgPSBtX2ZpbGVMaXN0
LT5sZW5ndGgoKTsKICAgICAgICAgICAgIGlmICghbnVtRmlsZXMpIHsKICAgICAgICAgICAgICAg
ICBlbmNvZGluZy5hcHBlbmRGaWxlKG5hbWUoKSwgRmlsZTo6Y3JlYXRlKCIiKSk7CiAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CkluZGV4OiBXZWJDb3JlL21hbnVhbC10ZXN0cy9nZXQtZmls
ZS11cGxvYWQuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL21hbnVhbC10ZXN0cy9nZXQtZmls
ZS11cGxvYWQuaHRtbAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvbWFudWFsLXRlc3RzL2dldC1m
aWxlLXVwbG9hZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorZnVuY3Rpb24gbG9nKG1lc3Nh
Z2UpCit7CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtZXNzYWdlICsgIlxuIikpOworfQorICAgICAgICAg
ICAgCitmdW5jdGlvbiB2ZXJpZnkoKQoreworICAgIHZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlv
bi5zZWFyY2g7CisgICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ3N1Ym1pdHRlZD10cnVlJykgIT0gLTEp
IHsKKyAgICAgICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ2ZpbGU9JykgIT0gLTEpCisgICAgICAgICAg
ICBsb2coIlRlc3QgUGFzc2VkIik7CisgICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coIlRl
c3QgRmFpbGVkIik7CisgICAgIH0KK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2Fk
PSJ2ZXJpZnkoKSI+Cis8cD5UaGlzIHRlc3RzIHRoYXQgdGhlIGZpbGUgdXBsb2FkIGNvbnRyb2wg
c2VuZHMgdGhlIGJhc2VuYW1lIG9mIHRoZSBzZWxlY3RlZAorZmlsZSBmb3Igbm9uLW11bHRpcGFy
dCBmb3JtIHN1Ym1pc3Npb24uICBUaGlzIHRlc3QgY2FuIHdvcmsgbG9jYWxseS4KKzwvcD4KKzxw
PlNlbGVjdCBhbnkgZmlsZSBmb3IgdGhlIGZpbGUgdXBsb2FkIGNvbnRyb2wgYmVsb3csIGFuZCBz
dWJtaXQgdGhlIGZvcm0uCitZb3UnbGwgc2VlIGEgIlRlc3QgUGFzc2VkIiBvciBhICJUZXN0IEZh
aWxlZCIgbWVzc2FnZS4KKzwvcD4KKworPGZvcm0gbWV0aG9kPSJHRVQiIGVuY3R5cGU9ImFwcGxp
Y2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCIgYWN0aW9uPSIiPgorICA8aW5wdXQgdHlwZT0i
aGlkZGVuIiBuYW1lPSJzdWJtaXR0ZWQiIHZhbHVlPSJ0cnVlIj4KKyAgPGlucHV0IHR5cGU9ImZp
bGUiIG5hbWU9ImZpbGUiPgorICA8aW5wdXQgdHlwZT0ic3VibWl0Ij4KKzwvZm9ybT4KKzxwcmUg
aWQ9J2NvbnNvbGUnPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="16797"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32368</attachid>
            <date>2009-07-07 01:59:46 -0700</date>
            <delta_ts>2009-07-07 02:05:05 -0700</delta_ts>
            <desc>Proposed patch (rev.2)</desc>
            <filename>file-nonmultipart-2.diff</filename>
            <type>text/plain</type>
            <size>4534</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMDcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bmRzIHRoZSBiYXNlbmFtZSBvZiBhIHNlbGVjdGVkIGZpbGUgZm9yIG5vbi1tdWx0aXBhcnQgZm9y
bSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI2NTA1PgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2Fk
Lmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisKIDIwMDktMDctMDYg
IEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDQ1NTc1KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04MzgsMTMgKzgzOCwyNSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OmFwcGVuZEZvcm1EYXRhKEZvCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIEZJ
TEU6IHsKLSAgICAgICAgICAgIC8vIENhbid0IHN1Ym1pdCBmaWxlIG9uIEdFVC4KLSAgICAgICAg
ICAgIGlmICghbXVsdGlwYXJ0KQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIG51bUZpbGVzID0gbV9maWxlTGlzdC0+bGVuZ3RoKCk7CisgICAgICAg
ICAgICBpZiAoIW11bHRpcGFydCkgeworICAgICAgICAgICAgICAgIC8vIFNlbmQgb25seSB0aGUg
YmFzZW5hbWVzLgorICAgICAgICAgICAgICAgIC8vIDQuMTAuMTYuNCBhbmQgNC4xMC4xNi42IHNl
Y3Rpb25zIGluIEhUTUw1LgorCisgICAgICAgICAgICAgICAgLy8gVW5saWtlIHRoZSBtdWx0aXBh
cnQgY2FzZSwgd2UgaGF2ZSBubyBzcGVjaWFsCisgICAgICAgICAgICAgICAgLy8gaGFuZGxpbmcg
Zm9yIHRoZSBlbXB0eSBmaWxlTGlzdCBiZWNhdXNlIE5ldHNjYXBlCisgICAgICAgICAgICAgICAg
Ly8gZG9lc24ndCBzdXBwb3J0IGZvciBub24tbXVsdGlwYXJ0IHN1Ym1pc3Npb24gb2YKKyAgICAg
ICAgICAgICAgICAvLyBmaWxlIGlucHV0cywgYW5kIEZpcmVmb3ggZG9lc24ndCBhZGQgIm5hbWU9
IiBxdWVyeQorICAgICAgICAgICAgICAgIC8vIHBhcmFtZXRlci4KKworICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1GaWxlczsgKytpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGVuY29kaW5nLmFwcGVuZERhdGEobmFtZSgpLCBtX2ZpbGVMaXN0LT5pdGVtKGkpLT5m
aWxlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElmIG5vIGZpbGVuYW1lIGF0IGFs
bCBpcyBlbnRlcmVkLCByZXR1cm4gc3VjY2Vzc2Z1bCBidXQgZW1wdHkuCiAgICAgICAgICAgICAv
LyBOdWxsIHdvdWxkIGJlIG1vcmUgbG9naWNhbCwgYnV0IE5ldHNjYXBlIHBvc3RzIGFuIGVtcHR5
IGZpbGUuIEFyZ2guCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1GaWxlcyA9IG1fZmlsZUxpc3Qt
Pmxlbmd0aCgpOwogICAgICAgICAgICAgaWYgKCFudW1GaWxlcykgewogICAgICAgICAgICAgICAg
IGVuY29kaW5nLmFwcGVuZEZpbGUobmFtZSgpLCBGaWxlOjpjcmVhdGUoIiIpKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1NTg3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDct
MDcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgdGVzdCBmb3IgZm9yIG5vbi1tdWx0aXBh
cnQgZmlsZSB1cGxvYWQgZm9ybSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTA1PgorCisgICAgICAgICogZmFzdC9mb3Jtcy9n
ZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2dldC1maWxlLXVwbG9hZC5odG1sOiBBZGRlZC4KKwogMjAwOS0wNy0wNiAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBG
cmFzZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11
cGxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9nZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMg
QEAKKworUEFTUzogP2ZpbGU9Z2V0LWZpbGUtdXBsb2FkLmh0bWwmc3VibWl0dGVkPXRydWUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPGZvcm0gbWV0aG9kPSJHRVQiIGFjdGlvbj0iZ2V0LWZpbGUtdXBsb2FkLmh0bWwiIGVu
Y3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CisgIDxpbnB1dCB0eXBl
PSJmaWxlIiBuYW1lPSJmaWxlIiBpZD0iZmlsZSI+CisgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h
bWU9InN1Ym1pdHRlZCIgdmFsdWU9InRydWUiPgorPC9mb3JtPgorPHByZSBpZD0nY29uc29sZSc+
PC9wcmU+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7Cit9CisgICAgICAgICAgICAKK2Z1bmN0aW9uIHN0YXJ0
T3JWZXJpZnkoKQoreworICAgIHZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7Cisg
ICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ3N1Ym1pdHRlZD10cnVlJykgIT0gLTEpIHsKKyAgICAgICAg
Ly8gVmVyaWZ5IHRoZSByZXN1bHQKKyAgICAgICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ2ZpbGU9Jykg
IT0gLTEpCisgICAgICAgICAgICBsb2coJ1BBU1M6ICcgKyBxdWVyeSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGxvZygnRkFJTDogJyArIHF1ZXJ5KTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gU3RhcnQgdGhlIHRlc3QKKyAgICAg
ICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKFsnZ2V0LWZpbGUtdXBsb2FkLmh0bWwn
XSk7CisgICAgICAgIHZhciBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdmaWxlJyk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwLCAxMCk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgZG9jdW1lbnQuZm9ybXNbMF0uc3VibWl0KCk7CisgICAg
fQorfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBzdGFydE9yVmVyaWZ5Owor
fQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32369</attachid>
            <date>2009-07-07 02:05:05 -0700</date>
            <delta_ts>2009-07-16 21:25:30 -0700</delta_ts>
            <desc>Proposed patch (rev.3)</desc>
            <filename>file-nonmultipart-2.diff</filename>
            <type>text/plain</type>
            <size>4483</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NTU4NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMDcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bmRzIHRoZSBiYXNlbmFtZSBvZiBhIHNlbGVjdGVkIGZpbGUgZm9yIG5vbi1tdWx0aXBhcnQgZm9y
bSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI2NTA1PgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2Fk
Lmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisKIDIwMDktMDctMDYg
IEFsYmVydCBKLiBXb25nICA8YWp3b25nQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBNYWNpZWogU3RhY2hvd2lhay4KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVt
ZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJ
KHJldmlzaW9uIDQ1NTc1KQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC04MzgsMTMgKzgzOCwyNSBAQCBib29sIEhUTUxJbnB1dEVsZW1lbnQ6
OmFwcGVuZEZvcm1EYXRhKEZvCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICBjYXNlIEZJ
TEU6IHsKLSAgICAgICAgICAgIC8vIENhbid0IHN1Ym1pdCBmaWxlIG9uIEdFVC4KLSAgICAgICAg
ICAgIGlmICghbXVsdGlwYXJ0KQotICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIG51bUZpbGVzID0gbV9maWxlTGlzdC0+bGVuZ3RoKCk7CisgICAgICAg
ICAgICBpZiAoIW11bHRpcGFydCkgeworICAgICAgICAgICAgICAgIC8vIFNlbmQgb25seSB0aGUg
YmFzZW5hbWVzLgorICAgICAgICAgICAgICAgIC8vIDQuMTAuMTYuNCBhbmQgNC4xMC4xNi42IHNl
Y3Rpb25zIGluIEhUTUw1LgorCisgICAgICAgICAgICAgICAgLy8gVW5saWtlIHRoZSBtdWx0aXBh
cnQgY2FzZSwgd2UgaGF2ZSBubyBzcGVjaWFsCisgICAgICAgICAgICAgICAgLy8gaGFuZGxpbmcg
Zm9yIHRoZSBlbXB0eSBmaWxlTGlzdCBiZWNhdXNlIE5ldHNjYXBlCisgICAgICAgICAgICAgICAg
Ly8gZG9lc24ndCBzdXBwb3J0IGZvciBub24tbXVsdGlwYXJ0IHN1Ym1pc3Npb24gb2YKKyAgICAg
ICAgICAgICAgICAvLyBmaWxlIGlucHV0cywgYW5kIEZpcmVmb3ggZG9lc24ndCBhZGQgIm5hbWU9
IiBxdWVyeQorICAgICAgICAgICAgICAgIC8vIHBhcmFtZXRlci4KKworICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBudW1GaWxlczsgKytpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGVuY29kaW5nLmFwcGVuZERhdGEobmFtZSgpLCBtX2ZpbGVMaXN0LT5pdGVtKGkpLT5m
aWxlTmFtZSgpKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIElmIG5vIGZpbGVuYW1lIGF0IGFs
bCBpcyBlbnRlcmVkLCByZXR1cm4gc3VjY2Vzc2Z1bCBidXQgZW1wdHkuCiAgICAgICAgICAgICAv
LyBOdWxsIHdvdWxkIGJlIG1vcmUgbG9naWNhbCwgYnV0IE5ldHNjYXBlIHBvc3RzIGFuIGVtcHR5
IGZpbGUuIEFyZ2guCi0gICAgICAgICAgICB1bnNpZ25lZCBudW1GaWxlcyA9IG1fZmlsZUxpc3Qt
Pmxlbmd0aCgpOwogICAgICAgICAgICAgaWYgKCFudW1GaWxlcykgewogICAgICAgICAgICAgICAg
IGVuY29kaW5nLmFwcGVuZEZpbGUobmFtZSgpLCBGaWxlOjpjcmVhdGUoIiIpKTsKICAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ1NTg3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDktMDct
MDcgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEEgdGVzdCBmb3IgZm9yIG5vbi1tdWx0aXBh
cnQgZmlsZSB1cGxvYWQgZm9ybSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTA1PgorCisgICAgICAgICogZmFzdC9mb3Jtcy9n
ZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Zvcm1z
L2dldC1maWxlLXVwbG9hZC5odG1sOiBBZGRlZC4KKwogMjAwOS0wNy0wNiAgRXJpYyBDYXJsc29u
ICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBG
cmFzZXIuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11
cGxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jt
cy9nZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMg
QEAKKworUEFTUzogP2ZpbGU9Z2V0LWZpbGUtdXBsb2FkLmh0bWwmc3VibWl0dGVkPXRydWUKKwpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQuaHRtbAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxi
b2R5PgorPGZvcm0gbWV0aG9kPSJHRVQiIGFjdGlvbj0iZ2V0LWZpbGUtdXBsb2FkLmh0bWwiIGVu
Y3R5cGU9ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCI+CisgIDxpbnB1dCB0eXBl
PSJmaWxlIiBuYW1lPSJmaWxlIiBpZD0iZmlsZSI+CisgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5h
bWU9InN1Ym1pdHRlZCIgdmFsdWU9InRydWUiPgorPC9mb3JtPgorPHByZSBpZD0nY29uc29sZSc+
PC9wcmU+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBsb2cobWVzc2FnZSkKK3sKKyAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1lc3NhZ2UgKyAiXG4iKSk7Cit9CisgICAgICAgICAgICAKK2Z1bmN0aW9uIHN0YXJ0
T3JWZXJpZnkoKQoreworICAgIHZhciBxdWVyeSA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2g7Cisg
ICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ3N1Ym1pdHRlZD10cnVlJykgIT0gLTEpIHsKKyAgICAgICAg
Ly8gVmVyaWZ5IHRoZSByZXN1bHQKKyAgICAgICAgaWYgKHF1ZXJ5LmluZGV4T2YoJ2ZpbGU9Jykg
IT0gLTEpCisgICAgICAgICAgICBsb2coJ1BBU1M6ICcgKyBxdWVyeSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGxvZygnRkFJTDogJyArIHF1ZXJ5KTsKKyAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgLy8gU3RhcnQgdGhlIHRlc3QKKyAgICAg
ICAgZXZlbnRTZW5kZXIuYmVnaW5EcmFnV2l0aEZpbGVzKFsnZ2V0LWZpbGUtdXBsb2FkLmh0bWwn
XSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKDEwLCAxMCk7CisgICAgICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAgICAgICAgZG9jdW1lbnQuZm9ybXNbMF0uc3VibWl0KCk7
CisgICAgfQorfQorCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIHdpbmRvdy5vbmxvYWQgPSBzdGFydE9yVmVy
aWZ5OworfQorPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="16823"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32914</attachid>
            <date>2009-07-16 21:25:30 -0700</date>
            <delta_ts>2009-07-16 21:30:53 -0700</delta_ts>
            <desc>Proposed patch (rev.4)</desc>
            <filename>file-nonmultipart-4.diff</filename>
            <type>text/plain</type>
            <size>6305</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0NjAwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMDktMDctMTYgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNl
bmRzIHRoZSBiYXNlbmFtZSBvZiBhIHNlbGVjdGVkIGZpbGUgZm9yIG5vbi1tdWx0aXBhcnQgZm9y
bSBzdWJtaXNzaW9uLgorICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI2NTA1PgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2Fk
Lmh0bWwKKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3JtRGF0YSk6CisKIDIwMDktMDctMTYg
IERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBT
aW1vbiBGcmFzZXIuCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCShyZXZpc2lvbiA0
NjAwMikKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODM4LDEzICs4MzgsMjUgQEAgYm9vbCBIVE1MSW5wdXRFbGVtZW50OjphcHBlbmRGb3Jt
RGF0YShGbwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBGSUxFOiB7Ci0gICAg
ICAgICAgICAvLyBDYW4ndCBzdWJtaXQgZmlsZSBvbiBHRVQuCi0gICAgICAgICAgICBpZiAoIW11
bHRpcGFydCkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB1bnNp
Z25lZCBudW1GaWxlcyA9IG1fZmlsZUxpc3QtPmxlbmd0aCgpOworICAgICAgICAgICAgaWYgKCFt
dWx0aXBhcnQpIHsKKyAgICAgICAgICAgICAgICAvLyBTZW5kIG9ubHkgdGhlIGJhc2VuYW1lcy4K
KyAgICAgICAgICAgICAgICAvLyA0LjEwLjE2LjQgYW5kIDQuMTAuMTYuNiBzZWN0aW9ucyBpbiBI
VE1MNS4KKworICAgICAgICAgICAgICAgIC8vIFVubGlrZSB0aGUgbXVsdGlwYXJ0IGNhc2UsIHdl
IGhhdmUgbm8gc3BlY2lhbAorICAgICAgICAgICAgICAgIC8vIGhhbmRsaW5nIGZvciB0aGUgZW1w
dHkgZmlsZUxpc3QgYmVjYXVzZSBOZXRzY2FwZQorICAgICAgICAgICAgICAgIC8vIGRvZXNuJ3Qg
c3VwcG9ydCBmb3Igbm9uLW11bHRpcGFydCBzdWJtaXNzaW9uIG9mCisgICAgICAgICAgICAgICAg
Ly8gZmlsZSBpbnB1dHMsIGFuZCBGaXJlZm94IGRvZXNuJ3QgYWRkICJuYW1lPSIgcXVlcnkKKyAg
ICAgICAgICAgICAgICAvLyBwYXJhbWV0ZXIuCisKKyAgICAgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbnVtRmlsZXM7ICsraSkgeworICAgICAgICAgICAgICAgICAgICBlbmNv
ZGluZy5hcHBlbmREYXRhKG5hbWUoKSwgbV9maWxlTGlzdC0+aXRlbShpKS0+ZmlsZU5hbWUoKSk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg
ICAgICAgfQogCiAgICAgICAgICAgICAvLyBJZiBubyBmaWxlbmFtZSBhdCBhbGwgaXMgZW50ZXJl
ZCwgcmV0dXJuIHN1Y2Nlc3NmdWwgYnV0IGVtcHR5LgogICAgICAgICAgICAgLy8gTnVsbCB3b3Vs
ZCBiZSBtb3JlIGxvZ2ljYWwsIGJ1dCBOZXRzY2FwZSBwb3N0cyBhbiBlbXB0eSBmaWxlLiBBcmdo
LgotICAgICAgICAgICAgdW5zaWduZWQgbnVtRmlsZXMgPSBtX2ZpbGVMaXN0LT5sZW5ndGgoKTsK
ICAgICAgICAgICAgIGlmICghbnVtRmlsZXMpIHsKICAgICAgICAgICAgICAgICBlbmNvZGluZy5h
cHBlbmRGaWxlKG5hbWUoKSwgRmlsZTo6Y3JlYXRlKCIiKSk7CiAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0NjAwNCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDA5LTA3LTE2ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBIHRlc3QgZm9yIGZvciBub24tbXVsdGlwYXJ0IGZpbGUgdXBs
b2FkIGZvcm0gc3VibWlzc2lvbi4KKyAgICAgICAgVGhpcyB0ZXN0IGlzIGRpc2FibGVkIGZvciBu
b24tTWFjIHBsYXRmb3JtcyBiZWNhdXNlIG9mIGJlZ2luRHJhZ1dpdGhGaWxlcygpLgorICAgICAg
ICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NTA1PgorCisgICAg
ICAgICogZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9Ta2lwcGVkOgorCiAyMDA5LTA3LTE2ICBEYW4gQmVybnN0
ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2Vy
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2Fk
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZ2V0
LWZpbGUtdXBsb2FkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzIEBACisK
K1BBU1M6ID9maWxlPWdldC1maWxlLXVwbG9hZC5odG1sJnN1Ym1pdHRlZD10cnVlCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2FkLmh0bWwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQuaHRtbAkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZ2V0LWZpbGUtdXBsb2FkLmh0bWwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4K
Kzxmb3JtIG1ldGhvZD0iR0VUIiBhY3Rpb249ImdldC1maWxlLXVwbG9hZC5odG1sIiBlbmN0eXBl
PSJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQiPgorICA8aW5wdXQgdHlwZT0iZmls
ZSIgbmFtZT0iZmlsZSIgaWQ9ImZpbGUiPgorICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJz
dWJtaXR0ZWQiIHZhbHVlPSJ0cnVlIj4KKzwvZm9ybT4KKzxwcmUgaWQ9J2NvbnNvbGUnPjwvcHJl
PgorCis8c2NyaXB0PgorZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCit7CisgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShtZXNzYWdlICsgIlxuIikpOworfQorICAgICAgICAgICAgCitmdW5jdGlvbiBzdGFydE9yVmVy
aWZ5KCkKK3sKKyAgICB2YXIgcXVlcnkgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoOworICAgIGlm
IChxdWVyeS5pbmRleE9mKCdzdWJtaXR0ZWQ9dHJ1ZScpICE9IC0xKSB7CisgICAgICAgIC8vIFZl
cmlmeSB0aGUgcmVzdWx0CisgICAgICAgIGlmIChxdWVyeS5pbmRleE9mKCdmaWxlPScpICE9IC0x
KQorICAgICAgICAgICAgbG9nKCdQQVNTOiAnICsgcXVlcnkpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBsb2coJ0ZBSUw6ICcgKyBxdWVyeSk7CisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9u
ZSgpOworICAgIH0gZWxzZSB7CisgICAgICAgIC8vIFN0YXJ0IHRoZSB0ZXN0CisgICAgICAgIGV2
ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxlcyhbJ2dldC1maWxlLXVwbG9hZC5odG1sJ10pOwor
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxMCwgMTApOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZVVwKCk7CisgICAgICAgIGRvY3VtZW50LmZvcm1zWzBdLnN1Ym1pdCgpOworICAg
IH0KK30KKworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICB3aW5kb3cub25sb2FkID0gc3RhcnRPclZlcmlmeTsK
K30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQJKHJldmlzaW9uIDQ2MDAyKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQJKHdvcmtpbmcgY29weSkKQEAgLTE3MzgsNiArMTczOCw3IEBAIGZhc3QvZm9ybXMvZm9jdXMt
Y29udHJvbC10by1wYWdlLmh0bWwKIGZhc3QvZm9ybXMvZm9jdXMtc2VsZWN0aW9uLWlucHV0Lmh0
bWwKIGZhc3QvZm9ybXMvZm9jdXMtc2VsZWN0aW9uLXRleHRhcmVhLmh0bWwKIGZhc3QvZm9ybXMv
Zm9ybS1hbmQtZnJhbWUtaW50ZXJhY3Rpb24tcmV0YWlucy12YWx1ZXMuaHRtbAorZmFzdC9mb3Jt
cy9nZXQtZmlsZS11cGxvYWQuaHRtbAogZmFzdC9mb3Jtcy9pbnB1dC1yYWRpby1jaGVja2VkLXRh
Yi5odG1sCiBmYXN0L2Zvcm1zL2lucHV0LXNlbGVjdC1vbi1jbGljay5odG1sCiBmYXN0L2Zvcm1z
L2lucHV0LXR5cGUtY2hhbmdlLWluLW9uZm9jdXMta2V5Ym9hcmQuaHRtbApJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCShyZXZpc2lvbiA0NjAwMikKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTE4LDYgKzE4LDcgQEAgZmFzdC90ZXh0L2Zp
bmQtaGlkZGVuLXRleHQuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkL2ZpbGUtaW5wdXQtZmlsZXMt
YWNjZXNzLmh0bWwKIGZhc3QvZXZlbnRzL2RyYWctdG8tbmF2aWdhdGUuaHRtbAogZmFzdC9ldmVu
dHMvcHJldmVudC1kcmFnLXRvLW5hdmlnYXRlLmh0bWwKK2Zhc3QvZm9ybXMvZ2V0LWZpbGUtdXBs
b2FkLmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFj
Y2Vzcy5odG1sCiAKICMgLS0tLS0tLSBmYWlsaW5nIGVkaXRpbmcgdGVzdHMKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9Ta2lwcGVkCShyZXZpc2lvbiA0NjAwMikKKysrIExheW91dFRlc3RzL3BsYXRm
b3JtL3dpbi9Ta2lwcGVkCSh3b3JraW5nIGNvcHkpCkBAIC0xODUsNiArMTg1LDcgQEAgaHR0cC90
ZXN0cy93ZWJhcmNoaXZlCiBlZGl0aW5nL3Bhc3RlYm9hcmQvZmlsZS1pbnB1dC1maWxlcy1hY2Nl
c3MuaHRtbAogZmFzdC9ldmVudHMvZHJhZy10by1uYXZpZ2F0ZS5odG1sCiBmYXN0L2V2ZW50cy9w
cmV2ZW50LWRyYWctdG8tbmF2aWdhdGUuaHRtbAorZmFzdC9mb3Jtcy9nZXQtZmlsZS11cGxvYWQu
aHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNz
Lmh0bWwKIAogIyBOZWVkIHRvIGFkZCBmdW5jdGlvbmFsaXR5IHRvIER1bXBSZW5kZXJUcmVlIHRv
IHRlc3QgSUROIDxyZGFyOi8vcHJvYmxlbS81MzAxOTU0Pgo=
</data>
<flag name="review"
          id="17262"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
      

    </bug>

</bugzilla>