<?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>79861</bug_id>
          
          <creation_ts>2012-02-28 20:04:28 -0800</creation_ts>
          <short_desc>DragData::asFilenames push same file to result in windows platform</short_desc>
          <delta_ts>2012-06-26 21:23:10 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="huangxueqing">huangxueqing</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>anilnamde</cc>
    
    <cc>ap</cc>
    
    <cc>enrica</cc>
    
    <cc>jonlee</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>567336</commentid>
    <comment_count>0</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-02-28 20:04:28 -0800</bug_when>
    <thetext>It seems like a careless error in DragDataWin.cpp, DragData::asFilenames call windows api
        for (unsigned i = 0; i &lt; numFiles; i++) {
            if (!DragQueryFileW(hdrop, 0, filename, WTF_ARRAY_LENGTH(filename)))
                continue;
            result.append((UChar*)filename);
        }
which always push 0-index file to result. If you drag some files to WinLauncher, thie filelist return same file name.
IMO, use DragQueryFileW(hdrop, i, filename, WTF_ARRAY_LENGTH(filename).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567340</commentid>
    <comment_count>1</comment_count>
      <attachid>129379</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-02-28 20:22:43 -0800</bug_when>
    <thetext>Created attachment 129379
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567733</commentid>
    <comment_count>2</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-02-29 10:53:49 -0800</bug_when>
    <thetext>I find this bug odd, because it has been lingering around for a really long time. A scrub through the file shows that this code still existed back in 2007.

But the fix makes sense. Unfortunately, I&apos;m not a reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567734</commentid>
    <comment_count>3</comment_count>
      <attachid>129379</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-29 10:55:23 -0800</bug_when>
    <thetext>Comment on attachment 129379
patch

Can we add a test for this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568225</commentid>
    <comment_count>4</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-02-29 19:11:56 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; I find this bug odd, because it has been lingering around for a really long time. A scrub through the file shows that this code still existed back in 2007.
&gt; 
&gt; But the fix makes sense. Unfortunately, I&apos;m not a reviewer.

Actually, this function only be called while drag more than one files to &lt;input type=&quot;file&quot; multiply=&quot;&quot;&gt; element without webkit2 since safari use webkit2 retrive files name from m_dragDataMap. Which maybe the reason why this bug did not be fixed long times. 
We use webkit without webkit2 in windows port, I had fixed this in our browser, therefore, i think we should fixed it even though only windows port without webkit2 will use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>568227</commentid>
    <comment_count>5</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-02-29 19:20:15 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 129379 [details])
&gt; Can we add a test for this?

As you know, asFilenames was only called by WebView::drop, which actually was windows OLE dragdrop, I could not provide a proper LayoutTest case to simulate drag more than one files to &lt;input type=&quot;file&quot; multiply=&quot;&quot;&gt;, which was tested  manually with WinLauncher and it&apos;s fine. I can provide a test page  for manually if you think it&apos;s necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569908</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-02 13:49:20 -0800</bug_when>
    <thetext>*** Bug 54214 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569909</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-03-02 13:50:12 -0800</bug_when>
    <thetext>&lt;rdar://problem/8988693&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>606031</commentid>
    <comment_count>8</comment_count>
      <attachid>129379</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-04-19 15:47:46 -0700</bug_when>
    <thetext>Comment on attachment 129379
patch

How do we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607664</commentid>
    <comment_count>9</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-04-23 07:37:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 129379 [details])
&gt; How do we test this?
The test case as:

&lt;body&gt;
&lt;script&gt;
function handleFiles()
{
    var inputelement = document.getElementById(&quot;fileinput&quot;);
    var files = inputelement.files;
    for (var i=0; i&lt;inputelement.files.length; ++i)
    {
        var newElement = document.createElement(&quot;div&quot;);
        newElement.innerHTML = inputelement.files[i].name;
        document.body.appendChild(newElement);
    }
}
&lt;/script&gt;

&lt;input id=&quot;fileinput&quot; type=file multiple=&quot;true&quot; onchange=&quot;handleFiles()&quot;&gt;
&lt;p&gt;
You should see files you dragged into input element as below:
&lt;/p&gt;

&lt;/body&gt;

When you drag and drop more than one files such as file1, file2 and file3 to input element, the result in page was: file1 file1 file1.
I have no idear how to add this case to LayoutTests since it needs user manually test, do you think should i add it to ManualTests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>607794</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-23 10:22:12 -0700</bug_when>
    <thetext>Sounds like this should be testable in DumpRenderTree with eventSender.beginDragWithFiles().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608322</commentid>
    <comment_count>11</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-04-23 20:04:18 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Sounds like this should be testable in DumpRenderTree with eventSender.beginDragWithFiles().

It seems like that eventSender.beginDragWithFiles() only be implemented in Chromium port, while this bug was in windows, and the drag&amp;drop have different implementation in Chromium and windows port, maybe this case cannot be tested by this method?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608365</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-04-23 22:44:59 -0700</bug_when>
    <thetext>Well, it&apos;s implemented for multiple ports, but not Windows indeed. Perhaps adding an implementation should be a requirement for this fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>608387</commentid>
    <comment_count>13</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-04-23 23:42:39 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Well, it&apos;s implemented for multiple ports, but not Windows indeed. Perhaps adding an implementation should be a requirement for this fix.

All right, I will file another bug to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640156</commentid>
    <comment_count>14</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-06-03 00:23:56 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Well, it&apos;s implemented for multiple ports, but not Windows indeed. Perhaps adding an implementation should be a requirement for this fix.

eventSender.beginDragWithFiles had been implemented in bug#86296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>640159</commentid>
    <comment_count>15</comment_count>
      <attachid>145477</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-06-03 01:05:18 -0700</bug_when>
    <thetext>Created attachment 145477
patch with a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641803</commentid>
    <comment_count>16</comment_count>
      <attachid>145477</attachid>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2012-06-05 12:28:55 -0700</bug_when>
    <thetext>Comment on attachment 145477
patch with a test

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

&gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:1
&gt; +&lt;body&gt;

Instead of using custom output for the expected file, please use the js-test-{pre,post}.js pattern (see any of the tests in fast/forms/file/ as an example).

Because this test does not test the drag event, this should really be in fast/forms/file. And is there any reason why this has to be windows-specific, instead of all platforms?

&gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:6
&gt; +    layoutTestController.dumpAsText()

Nit: missing semicolon

&gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:16
&gt; +    var targetY = 10;

Why are targetX and targetY being defined twice?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642425</commentid>
    <comment_count>17</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-06-06 06:54:19 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 145477 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=145477&amp;action=review
&gt; 
&gt; &gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:1
&gt; &gt; +&lt;body&gt;
&gt; 
&gt; Instead of using custom output for the expected file, please use the js-test-{pre,post}.js pattern (see any of the tests in fast/forms/file/ as an example).
&gt; 
Done

&gt; Because this test does not test the drag event, this should really be in fast/forms/file. And is there any reason why this has to be windows-specific, instead of all platforms?
OK, i will move it to fast/forms/file.
This bug was only reproduce in webkit1 Windows port, I don&apos;t know whether this test does make sense to other ports.

&gt; 
&gt; &gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:6
&gt; &gt; +    layoutTestController.dumpAsText()
&gt; 
&gt; Nit: missing semicolon
As you said, i will use js-test-{pre,post}.js rather than custom expected file. BTW, this js was a wonderful tool to write test case.

&gt; 
&gt; &gt; LayoutTests/platform/win/fast/events/drag-and-drop-files.html:16
&gt; &gt; +    var targetY = 10;
&gt; 
&gt; Why are targetX and targetY being defined twice?
Typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>642459</commentid>
    <comment_count>18</comment_count>
      <attachid>146028</attachid>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-06-06 07:46:43 -0700</bug_when>
    <thetext>Created attachment 146028
patch with a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>657582</commentid>
    <comment_count>19</comment_count>
    <who name="huangxueqing">huangxueqing</who>
    <bug_when>2012-06-26 06:59:29 -0700</bug_when>
    <thetext>Oop, anyone review it please? Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658319</commentid>
    <comment_count>20</comment_count>
      <attachid>146028</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 21:23:03 -0700</bug_when>
    <thetext>Comment on attachment 146028
patch with a test

Clearing flags on attachment: 146028

Committed r121319: &lt;http://trac.webkit.org/changeset/121319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658320</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-26 21:23:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129379</attachid>
            <date>2012-02-28 20:22:43 -0800</date>
            <delta_ts>2012-06-06 07:46:43 -0700</delta_ts>
            <desc>patch</desc>
            <filename>dragfile.patch</filename>
            <type>text/plain</type>
            <size>1461</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTE4MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTI4ICB4dWVxaW5n
IGh1YW5nICA8aHVhbmd4dWVxaW5nQGJhaWR1LmNvbT4KKworICAgICAgICBEcmFnRGF0YTo6YXNG
aWxlbmFtZXMgcHVzaCBzYW1lIGZpbGUgdG8gcmVzdWx0IGluIHdpbmRvd3MgcGxhdGZvcm0KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5ODYxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgd2FzIG5v
dCBhIHByb3BlciBjYXNlIHRvIHRlc3QgZHJhZyBmaWxlcyB0byBXaW5MYXVuY2hlci4KKyAKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RHJhZ0RhdGE6OmFzRmlsZW5hbWVzKToKKwogMjAxMi0wMi0yOCAgQW5kZXJzIENhcmxzc29uICA8
YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFdpdGggdGlsZWQgZHJhd2luZyBlbmFibGVk
LCBwcmVzc2luZyBEb3duIGFycm93IGFmdGVyIHNjcm9sbGluZyB2aWEgbW91c2UgZ2VzdHVyZSBj
YXVzZXMgcGFnZSB0byBqdW1wIGJhY2sgdXAgdG8gdG9wCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHAJKHJldmlzaW9uIDEwOTE4MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTEzMCw3ICsxMzAsNyBAQCB2b2lkIERyYWdEYXRhOjphc0ZpbGVuYW1lcyhWZWN0b3I8U3RyaW5n
CiAKICAgICAgICAgY29uc3QgdW5zaWduZWQgbnVtRmlsZXMgPSBEcmFnUXVlcnlGaWxlVyhoZHJv
cCwgMHhGRkZGRkZGRiwgMCwgMCk7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBu
dW1GaWxlczsgaSsrKSB7Ci0gICAgICAgICAgICBpZiAoIURyYWdRdWVyeUZpbGVXKGhkcm9wLCAw
LCBmaWxlbmFtZSwgV1RGX0FSUkFZX0xFTkdUSChmaWxlbmFtZSkpKQorICAgICAgICAgICAgaWYg
KCFEcmFnUXVlcnlGaWxlVyhoZHJvcCwgaSwgZmlsZW5hbWUsIFdURl9BUlJBWV9MRU5HVEgoZmls
ZW5hbWUpKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIHJlc3VsdC5h
cHBlbmQoKFVDaGFyKilmaWxlbmFtZSk7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="132068"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145477</attachid>
            <date>2012-06-03 01:05:18 -0700</date>
            <delta_ts>2012-06-06 07:46:43 -0700</delta_ts>
            <desc>patch with a test</desc>
            <filename>asFilenames.patch</filename>
            <type>text/plain</type>
            <size>4522</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTE5MzU2KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxMyBAQA0KKzIwMTItMDYtMDMgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIERyYWdEYXRhOjphc0ZpbGVu
YW1lcyBzaG91bGQgbm90IHB1c2ggc2FtZSBmaWxlIG5hbWUgdG8gcmVzdWx0IGluIFdpbmRvd3Mu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTg2MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZv
cm0vd2luL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZmlsZXMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1maWxl
cy5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wMyAgVmFydW4gSmFpbiAgPHZhcnVuamFpbkBnb29n
bGUuY29tPgogCiAgICAgICAgIFtjaHJvbWl1bV0gQWRkIG5ldyBnZXN0dXJlIHR5cGUgKHR3byBm
aW5nZXIgdGFwKSB0aGF0IHRyaWdnZXJzIGNvbnRleHQgbWVudS4KSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWZpbGVzLWV4cGVjdGVkLnR4
dA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0L2V2ZW50cy9k
cmFnLWFuZC1kcm9wLWZpbGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS93aW4vZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC1maWxlcy1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDUgQEANCisKK2dvdC1maWxlLXVwbG9hZC0x
Lmh0bWwKK2dvdC1maWxlLXVwbG9hZC0yLmh0bWwKK2dvdC1maWxlLXVwbG9hZC0zLmh0bWwKKwpJ
bmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3At
ZmlsZXMuaHRtbA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9mYXN0
L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWZpbGVzLmh0bWwJKHJldmlzaW9uIDApDQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZmlsZXMuaHRtbAko
cmV2aXNpb24gMCkNCkBAIC0wLDAgKzEsMzcgQEANCis8Ym9keT4NCis8aW5wdXQgaWQ9ImZpbGVJ
bnB1dCIgdHlwZT0iZmlsZSIgbXVsdGlwbGU9InRydWUiIG9uY2hhbmdlPSJkaXNwbGF5RmlsZXMo
KSI+PC9pbnB1dD4NCis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2Pg0KKzxzY3JpcHQ+DQoraWYgKHdp
bmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgew0KKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wQXNUZXh0KCkNCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOw0K
K30NCisNCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7DQorICAgIHZhciBpbnB1dEVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZUlucHV0Iik7IA0KKyAgICB2YXIgZmlsZVJl
Y3QgPSBpbnB1dEVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKVswXTsNCisgICAgdmFyIHRhcmdldFgg
PSBmaWxlUmVjdC5sZWZ0ICsgZmlsZVJlY3Qud2lkdGggLyAyOw0KKyAgICB2YXIgdGFyZ2V0WSA9
IGZpbGVSZWN0LnRvcCArIGZpbGVSZWN0LmhlaWdodCAvIDI7DQorICAgIHZhciB0YXJnZXRYID0g
MTA7DQorICAgIHZhciB0YXJnZXRZID0gMTA7DQorICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dp
dGhGaWxlcyhbJ2dvdC1maWxlLXVwbG9hZC0xLmh0bWwnLCAnZ290LWZpbGUtdXBsb2FkLTIuaHRt
bCcsICdnb3QtZmlsZS11cGxvYWQtMy5odG1sJ10pOw0KKyAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyh0YXJnZXRYLCB0YXJnZXRZKTsNCisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOw0KK30N
CisNCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQ0KKyAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ub3RpZnlEb25lKCk7DQorDQorZnVuY3Rpb24gZGlzcGxheUZpbGVzKCkNCit7DQor
ICAgIHZhciBmaWxlSW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZUlucHV0Iik7
DQorICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZmlsZUlucHV0LmZpbGVzLmxlbmd0aDsgaSsrKQ0K
KyAgICB7DQorICAgICAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
c3VsdCIpOw0KKyAgICAgICAgcmVzdWx0LmlubmVySFRNTCArPSBmaWxlSW5wdXQuZmlsZXNbaV0u
bmFtZTsNCisgICAgICAgIHJlc3VsdC5pbm5lckhUTUwgKz0gIjxicj4iOw0KKyAgICB9DQorfQ0K
Kzwvc2NyaXB0Pg0KKw0KKzwvYm9keT4NClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5MzU0KQ0KKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxNSBAQA0KKzIwMTItMDYtMDIgIFh1ZXFp
bmcgSHVhbmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIERyYWdEYXRhOjph
c0ZpbGVuYW1lcyBzaG91bGQgbm90IHB1c2ggc2FtZSBmaWxlIG5hbWUgdG8gcmVzdWx0IGluIFdp
bmRvd3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
OTg2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3Q6IHBsYXRmb3JtL3dpbi9mYXN0L2V2ZW50L2RyYWctYW5kLWRyb3AtZmlsZXMuaHRtbCAKKwor
ICAgICAgICAqIHBsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpEcmFnRGF0YTo6YXNGaWxlbmFtZXMpOgorCiAyMDEyLTA2LTAyICBBbmR5IEVzdGVzICA8YWVz
dGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBfX1pOSzdXZWJDb3JlNE5vZGUyN3RyYXZlcnNlTmV4
dEFuY2VzdG9yU2libGluZ0V2IHNob3VsZCBiZSBleHBvcnRlZCBldmVuIGlmIEVOQUJMRShGVUxM
U0NSRUVOX0FQSSkgaXMgZmFsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9E
cmFnRGF0YVdpbi5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vRHJhZ0RhdGFXaW4uY3BwCShyZXZpc2lvbiAxMTkyMjYpDQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vd2luL0RyYWdEYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTE0MCwxNyAr
MTQwLDE3IEBADQogICAgICAgICBTVEdNRURJVU0gbWVkaXVtOwogICAgICAgICBpZiAoRkFJTEVE
KG1fcGxhdGZvcm1EcmFnRGF0YS0+R2V0RGF0YShjZkhEcm9wRm9ybWF0KCksICZtZWRpdW0pKSkK
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAKKyAgICAgICAgSERST1AgaGRyb3AgPSByZWlu
dGVycHJldF9jYXN0PEhEUk9QPihHbG9iYWxMb2NrKG1lZGl1bS5oR2xvYmFsKSk7IAogICAgICAg
ICAKLSAgICAgICAgSERST1AgaGRyb3AgPSAoSERST1ApR2xvYmFsTG9jayhtZWRpdW0uaEdsb2Jh
bCk7Ci0gICAgICAgIAogICAgICAgICBpZiAoIWhkcm9wKQogICAgICAgICAgICAgcmV0dXJuOwog
CiAgICAgICAgIGNvbnN0IHVuc2lnbmVkIG51bUZpbGVzID0gRHJhZ1F1ZXJ5RmlsZVcoaGRyb3As
IDB4RkZGRkZGRkYsIDAsIDApOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVt
RmlsZXM7IGkrKykgewotICAgICAgICAgICAgaWYgKCFEcmFnUXVlcnlGaWxlVyhoZHJvcCwgMCwg
ZmlsZW5hbWUsIFdURl9BUlJBWV9MRU5HVEgoZmlsZW5hbWUpKSkKKyAgICAgICAgICAgIGlmICgh
RHJhZ1F1ZXJ5RmlsZVcoaGRyb3AsIGksIGZpbGVuYW1lLCBXVEZfQVJSQVlfTEVOR1RIKGZpbGVu
YW1lKSkpCiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICByZXN1bHQuYXBw
ZW5kKChVQ2hhciopZmlsZW5hbWUpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdGF0aWNf
Y2FzdDxVQ2hhcio+KGZpbGVuYW1lKSk7IAogICAgICAgICB9CiAKICAgICAgICAgLy8gRnJlZSB1
cCBtZW1vcnkgZnJvbSBkcmFnCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>146028</attachid>
            <date>2012-06-06 07:46:43 -0700</date>
            <delta_ts>2012-06-26 21:23:03 -0700</delta_ts>
            <desc>patch with a test</desc>
            <filename>asFilenames2.patch</filename>
            <type>text/plain</type>
            <size>4801</size>
            <attacher name="huangxueqing">huangxueqing</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIExheW91dFRlc3Rz
L0NoYW5nZUxvZwkocmV2aXNpb24gMTE5NTg4KQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQ0KQEAgLTEsMyArMSwxMyBAQA0KKzIwMTItMDYtMDYgIFh1ZXFpbmcgSHVh
bmcgIDxodWFuZ3h1ZXFpbmdAYmFpZHUuY29tPgorCisgICAgICAgIERyYWdEYXRhOjphc0ZpbGVu
YW1lcyBzaG91bGQgbm90IHB1c2ggc2FtZSBmaWxlIG5hbWVzIHRvIHJlc3VsdCBpbiBXaW5kb3dz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk4NjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL3dpbi9mYXN0L2Zvcm1zL2ZpbGUvZHJhZy1hbmQtZHJvcC1maWxlcy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9mYXN0L2Zvcm1zL2ZpbGUvZHJhZy1hbmQt
ZHJvcC1maWxlcy5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0wNiAgSWx5YSBUaWtob25vdnNreSAg
PGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCB1cGRhdGUgY2hyb21p
dW0gdGVzdCBleHBlY3RhdGlvbnMuCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vZmFz
dC9mb3Jtcy9maWxlL2RyYWctYW5kLWRyb3AtZmlsZXMtZXhwZWN0ZWQudHh0DQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
DQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZm9ybXMvZmlsZS9kcmFnLWFuZC1k
cm9wLWZpbGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vZmFzdC9mb3Jtcy9maWxlL2RyYWctYW5kLWRyb3AtZmlsZXMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSwxMiBAQA0KK1Rlc3RzIGRyYWcgbXVsdGktZmlsZXMg
aW50byA8aW5wdXQgdHlwZT0nZmlsZSc+LCBhbmQgY2hlY2sgdGhlIGZpbGVzIG5hbWUgd2VyZSBj
b3JyZWN0LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBmaWxlSW5wdXQu
ZmlsZXNbMF0ubmFtZSBpcyAnZ290LWZpbGUtdXBsb2FkLTAuaHRtbCcKK1BBU1MgZmlsZUlucHV0
LmZpbGVzWzFdLm5hbWUgaXMgJ2dvdC1maWxlLXVwbG9hZC0xLmh0bWwnCitQQVNTIGZpbGVJbnB1
dC5maWxlc1syXS5uYW1lIGlzICdnb3QtZmlsZS11cGxvYWQtMi5odG1sJworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9mYXN0L2Zvcm1zL2ZpbGUvZHJhZy1hbmQtZHJvcC1maWxlcy5odG1sDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL2Zhc3QvZm9ybXMvZmlsZS9k
cmFnLWFuZC1kcm9wLWZpbGVzLmh0bWwJKHJldmlzaW9uIDApDQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd2luL2Zhc3QvZm9ybXMvZmlsZS9kcmFnLWFuZC1kcm9wLWZpbGVzLmh0bWwJKHJldmlz
aW9uIDApDQpAQCAtMCwwICsxLDMwIEBADQorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQorPGJv
ZHk+DQorPGlucHV0IGlkPSJmaWxlSW5wdXQiIHR5cGU9ImZpbGUiIG11bHRpcGxlPSJ0cnVlIiBv
bmNoYW5nZT0iZGlzcGxheUZpbGVzKCkiPjwvaW5wdXQ+DQorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4NCis8c2Ny
aXB0Pg0KK2Rlc2NyaXB0aW9uKCJUZXN0cyBkcmFnIG11bHRpLWZpbGVzIGludG8gJmx0O2lucHV0
IHR5cGU9J2ZpbGUnJmd0OywgYW5kIGNoZWNrIHRoZSBmaWxlcyBuYW1lIHdlcmUgY29ycmVjdC4i
KTsNCisNCitpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7DQorICAgIHZhciBpbnB1dEVsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZmlsZUlucHV0Iik7IA0KKyAgICB2YXIgZmlsZVJl
Y3QgPSBpbnB1dEVsZW1lbnQuZ2V0Q2xpZW50UmVjdHMoKVswXTsNCisgICAgdmFyIHRhcmdldFgg
PSBmaWxlUmVjdC5sZWZ0ICsgZmlsZVJlY3Qud2lkdGggLyAyOw0KKyAgICB2YXIgdGFyZ2V0WSA9
IGZpbGVSZWN0LnRvcCArIGZpbGVSZWN0LmhlaWdodCAvIDI7DQorICAgIGV2ZW50U2VuZGVyLmJl
Z2luRHJhZ1dpdGhGaWxlcyhbJ2dvdC1maWxlLXVwbG9hZC0wLmh0bWwnLCAnZ290LWZpbGUtdXBs
b2FkLTEuaHRtbCcsICdnb3QtZmlsZS11cGxvYWQtMi5odG1sJ10pOw0KKyAgICBldmVudFNlbmRl
ci5tb3VzZU1vdmVUbyh0YXJnZXRYLCB0YXJnZXRZKTsNCisgICAgZXZlbnRTZW5kZXIubW91c2VV
cCgpOw0KK30NCisNCitmdW5jdGlvbiBkaXNwbGF5RmlsZXMoKQ0KK3sNCisgICAgdmFyIGlucHV0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImZpbGVJbnB1dCIpOw0KKyAgICBzaG91bGRCZSgi
ZmlsZUlucHV0LmZpbGVzWzBdLm5hbWUiLCAiJ2dvdC1maWxlLXVwbG9hZC0wLmh0bWwnIik7DQor
ICAgIHNob3VsZEJlKCJmaWxlSW5wdXQuZmlsZXNbMV0ubmFtZSIsICInZ290LWZpbGUtdXBsb2Fk
LTEuaHRtbCciKTsNCisgICAgc2hvdWxkQmUoImZpbGVJbnB1dC5maWxlc1syXS5uYW1lIiwgIidn
b3QtZmlsZS11cGxvYWQtMi5odG1sJyIpOw0KK30NCis8L3NjcmlwdD4NCis8c2NyaXB0IHNyYz0i
Li4vLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4NCisNCis8L2JvZHk+DQorPC9odG1sPg0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
Zw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQ0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE5
NTg4KQ0KKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0KQEAgLTEs
MyArMSwxNSBAQA0KKzIwMTItMDYtMDYgIFh1ZXFpbmcgSHVhbmcgIDxodWFuZ3h1ZXFpbmdAYmFp
ZHUuY29tPgorCisgICAgICAgIERyYWdEYXRhOjphc0ZpbGVuYW1lcyBzaG91bGQgbm90IHB1c2gg
c2FtZSBmaWxlIG5hbWVzIHRvIHJlc3VsdCBpbiBXaW5kb3dzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzk4NjEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS93aW4vZmFzdC9mb3Jt
cy9maWxlL2RyYWctYW5kLWRyb3AtZmlsZXMuaHRtbCAKKworICAgICAgICAqIHBsYXRmb3JtL3dp
bi9EcmFnRGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6YXNGaWxlbmFt
ZXMpOgorCiAyMDEyLTA2LTA2ICBUb3IgQXJuZSBWZXN0YsO4ICA8dG9yLmFybmUudmVzdGJvQG5v
a2lhLmNvbT4KIAogICAgICAgICBGaXggYSBmZXcgc3BlbGxpbmcgbWlzdGFrZXMgaW4gSWNvbkRh
dGFiYXNlIGxvZ2dpbmcKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0
YVdpbi5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0NCi0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJh
Z0RhdGFXaW4uY3BwCShyZXZpc2lvbiAxMTkyMjYpDQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0RyYWdEYXRhV2luLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTE0MCwxNyArMTQwLDE3
IEBADQogICAgICAgICBTVEdNRURJVU0gbWVkaXVtOwogICAgICAgICBpZiAoRkFJTEVEKG1fcGxh
dGZvcm1EcmFnRGF0YS0+R2V0RGF0YShjZkhEcm9wRm9ybWF0KCksICZtZWRpdW0pKSkKICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAKKyAgICAgICAgSERST1AgaGRyb3AgPSByZWludGVycHJl
dF9jYXN0PEhEUk9QPihHbG9iYWxMb2NrKG1lZGl1bS5oR2xvYmFsKSk7IAogICAgICAgICAKLSAg
ICAgICAgSERST1AgaGRyb3AgPSAoSERST1ApR2xvYmFsTG9jayhtZWRpdW0uaEdsb2JhbCk7Ci0g
ICAgICAgIAogICAgICAgICBpZiAoIWhkcm9wKQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAg
ICAgIGNvbnN0IHVuc2lnbmVkIG51bUZpbGVzID0gRHJhZ1F1ZXJ5RmlsZVcoaGRyb3AsIDB4RkZG
RkZGRkYsIDAsIDApOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtRmlsZXM7
IGkrKykgewotICAgICAgICAgICAgaWYgKCFEcmFnUXVlcnlGaWxlVyhoZHJvcCwgMCwgZmlsZW5h
bWUsIFdURl9BUlJBWV9MRU5HVEgoZmlsZW5hbWUpKSkKKyAgICAgICAgICAgIGlmICghRHJhZ1F1
ZXJ5RmlsZVcoaGRyb3AsIGksIGZpbGVuYW1lLCBXVEZfQVJSQVlfTEVOR1RIKGZpbGVuYW1lKSkp
CiAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICByZXN1bHQuYXBwZW5kKChV
Q2hhciopZmlsZW5hbWUpOworICAgICAgICAgICAgcmVzdWx0LmFwcGVuZChzdGF0aWNfY2FzdDxV
Q2hhcio+KGZpbGVuYW1lKSk7IAogICAgICAgICB9CiAKICAgICAgICAgLy8gRnJlZSB1cCBtZW1v
cnkgZnJvbSBkcmFnCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>