<?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>28902</bug_id>
          
          <creation_ts>2009-09-01 21:11:01 -0700</creation_ts>
          <short_desc>Windows DumpRenderTree should properly set the drop effect for a drag-and-drop operation</short_desc>
          <delta_ts>2009-09-29 14:02:26 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>aroben</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>144106</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-01 21:11:01 -0700</bug_when>
    <thetext>The Windows DumpRenderTree (DRT) nullifies the drop effect when simulating a drag-and-drop operation. Such functionality is supported in the Mac OS X DRT. We should support this functionality so that we can test drag-and-drop operations under Windows, such as in the layout tests of bug #24731.

Notice, in UIDelegate::doDragDrop the variable |performedEffect| is set to 0 = DROPEFFECT_NONE (see http://msdn.microsoft.com/en-us/library/ms693457(VS.85).aspx). Instead, we should pass this variable through the drap-and-drop machinery in UIDelegate so that we can set it to the correct drop effect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150344</commentid>
    <comment_count>1</comment_count>
      <attachid>40183</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-26 16:16:57 -0700</bug_when>
    <thetext>Created attachment 40183
Patch

No test case attached because it uses the same test case as included in the patch for bug #24731.

This patch can be applied before the patch for bug #24731, but there will be no noticeable effect because we use a hard-coded value in the Windows drag-and-drop code anyway: &lt;http://trac.webkit.org/browser/trunk/WebKit/win/WebDropSource.cpp?rev=45515#L112&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150346</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-26 16:22:44 -0700</bug_when>
    <thetext>CC&apos;ed Eric as he might be interested in this since he is interested in fixing drag-and-drop support for files in Win DRT (bug #25924).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150347</commentid>
    <comment_count>3</comment_count>
      <attachid>40184</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-26 16:34:42 -0700</bug_when>
    <thetext>Created attachment 40184
Updated test case

I updated the test case to work under Firefox (for comparison). Will merge this test case into the patch after I get something to eat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150348</commentid>
    <comment_count>4</comment_count>
      <attachid>40184</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-26 16:36:24 -0700</bug_when>
    <thetext>Comment on attachment 40184
Updated test case

Oops, attached to the wrong bug (so hungry that I am not thinking straight ;-))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150379</commentid>
    <comment_count>5</comment_count>
      <attachid>40183</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-09-27 07:42:27 -0700</bug_when>
    <thetext>Comment on attachment 40183
Patch

&gt; +            // Reset |didDragEnter| so that another drag started within the same frame works properly.
&gt; +            //
&gt; +            // Notice, WebView::DragEnter (i.e. webViewDropTarget-&gt;DragEnter) initializes the field
&gt; +            // |WebView::m_dragData|, which is checked in WebView::DragOver (i.e. webViewDropTarget-&gt;DragOver).
&gt; +            //
&gt; +            // If |didDragEnter| == false, then |WebView::m_dragData| is uninitialized, and by
&gt; +            // &lt;http://trac.webkit.org/browser/trunk/WebKit/win/WebView.cpp?rev=48754#L4657&gt;
&gt; +            // WebView::DragOver returns the drop effect DROPEFFECT_NONE, which is incorrect.
&gt; +            // Hence, we set |didDragEnter| = false on a mouse up to reset the DRT drag-and-drop
&gt; +            // machinery.

I don&apos;t understand this comment. You say that the behavior of WebView::DragOver &quot;is incorrect&quot;. Is there a bug filed about this incorrectness? If so, it would probably be better to reference that bug instead of the Trac link you have now. What is the correct behavior? Maybe this will all become clear when I see the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150411</commentid>
    <comment_count>6</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-27 12:53:24 -0700</bug_when>
    <thetext>Notice, Win DRT emulates the drag-and-drop event loop implemented in DoDragDrop &lt;http://msdn.microsoft.com/en-us/library/ms678486%28VS.85%29.aspx&gt;. For any drag-and-drop operation that ends with a successful drop on the target, the correct call flow in Win DRT is: webViewDropTarget-&gt;DragEnter, webViewDropTarget-&gt;DragOver, webViewDropTarget-&gt;Drop (*).

Suppose there are two such drag-and-drop operations A, B on the same page. Tracing through the EventSender code, the call flow for A will be: (*) (and will set |didDragEnter| to true). But the call flow for B will be: webViewDropTarget-&gt;DragOver, webViewDropTarget-&gt;Drop (because |didDragEnter| is still true!; that is, it is never set to false after A completes). This is incorrect. The call flow should be the same for both operations and it should be (*).

There is no bug filed about this. A better idea is to file a new bug for this issue with the fix (setting didDragEnter to false), and remove this change from the fix for this bug (#28902). Let me know your thoughts.

(In reply to comment #5)
&gt; (From update of attachment 40183 [details])
&gt; &gt; +            // Reset |didDragEnter| so that another drag started within the same frame works properly.
&gt; &gt; +            //
&gt; &gt; +            // Notice, WebView::DragEnter (i.e. webViewDropTarget-&gt;DragEnter) initializes the field
&gt; &gt; +            // |WebView::m_dragData|, which is checked in WebView::DragOver (i.e. webViewDropTarget-&gt;DragOver).
&gt; &gt; +            //
&gt; &gt; +            // If |didDragEnter| == false, then |WebView::m_dragData| is uninitialized, and by
&gt; &gt; +            // &lt;http://trac.webkit.org/browser/trunk/WebKit/win/WebView.cpp?rev=48754#L4657&gt;
&gt; &gt; +            // WebView::DragOver returns the drop effect DROPEFFECT_NONE, which is incorrect.
&gt; &gt; +            // Hence, we set |didDragEnter| = false on a mouse up to reset the DRT drag-and-drop
&gt; &gt; +            // machinery.
&gt; 
&gt; I don&apos;t understand this comment. You say that the behavior of WebView::DragOver
&gt; &quot;is incorrect&quot;. Is there a bug filed about this incorrectness? If so, it would
&gt; probably be better to reference that bug instead of the Trac link you have now.
&gt; What is the correct behavior? Maybe this will all become clear when I see the
&gt; bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150450</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-09-27 20:03:20 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 40183 [details] [details])
&gt; &gt; &gt; +            // Reset |didDragEnter| so that another drag started within the same frame works properly.
&gt; &gt; &gt; +            //
&gt; &gt; &gt; +            // Notice, WebView::DragEnter (i.e. webViewDropTarget-&gt;DragEnter) initializes the field
&gt; &gt; &gt; +            // |WebView::m_dragData|, which is checked in WebView::DragOver (i.e. webViewDropTarget-&gt;DragOver).
&gt; &gt; &gt; +            //
&gt; &gt; &gt; +            // If |didDragEnter| == false, then |WebView::m_dragData| is uninitialized, and by
&gt; &gt; &gt; +            // &lt;http://trac.webkit.org/browser/trunk/WebKit/win/WebView.cpp?rev=48754#L4657&gt;
&gt; &gt; &gt; +            // WebView::DragOver returns the drop effect DROPEFFECT_NONE, which is incorrect.
&gt; &gt; &gt; +            // Hence, we set |didDragEnter| = false on a mouse up to reset the DRT drag-and-drop
&gt; &gt; &gt; +            // machinery.
&gt; &gt; 
&gt; &gt; I don&apos;t understand this comment. You say that the behavior of WebView::DragOver
&gt; &gt; &quot;is incorrect&quot;. Is there a bug filed about this incorrectness? If so, it would
&gt; &gt; probably be better to reference that bug instead of the Trac link you have now.
&gt; &gt; What is the correct behavior? Maybe this will all become clear when I see the
&gt; &gt; bug.
&gt; 
&gt; Notice, Win DRT emulates the drag-and-drop event loop implemented in DoDragDrop
&gt; &lt;http://msdn.microsoft.com/en-us/library/ms678486%28VS.85%29.aspx&gt;. For any
&gt; drag-and-drop operation that ends with a successful drop on the target, the
&gt; correct call flow in Win DRT is: webViewDropTarget-&gt;DragEnter,
&gt; webViewDropTarget-&gt;DragOver, webViewDropTarget-&gt;Drop (*).
&gt; 
&gt; Suppose there are two such drag-and-drop operations A, B on the same page.
&gt; Tracing through the EventSender code, the call flow for A will be: (*) (and
&gt; will set |didDragEnter| to true). But the call flow for B will be:
&gt; webViewDropTarget-&gt;DragOver, webViewDropTarget-&gt;Drop (because |didDragEnter| is
&gt; still true!; that is, it is never set to false after A completes). This is
&gt; incorrect. The call flow should be the same for both operations and it should
&gt; be (*).

OK, so it sounds like your comment is explaining a bug that currently exists but that will be fixed by this patch. I think a much more concise comment would make this clearer. In fact, I&apos;d recommend just removing everything but the first sentence of the comment you have in your patch.

&gt; There is no bug filed about this. A better idea is to file a new bug for this
&gt; issue with the fix (setting didDragEnter to false), and remove this change from
&gt; the fix for this bug (#28902). Let me know your thoughts.

I think it&apos;s OK to leave this change as part of this patch.

Thanks for clearing this up for me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150451</commentid>
    <comment_count>8</comment_count>
      <attachid>40213</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-27 20:43:17 -0700</bug_when>
    <thetext>Created attachment 40213
Patch

Cleaned up comment based on Adam&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150494</commentid>
    <comment_count>9</comment_count>
      <attachid>40213</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2009-09-28 06:08:10 -0700</bug_when>
    <thetext>Comment on attachment 40213
Patch

&gt; +        * DumpRenderTree/win/DraggingInfo.h: Added field |m_dropEffect| to store performed drop effect.

I haven&apos;t seen this &quot;|variableName|&quot; style in ChangeLogs/comments in WebKit before. I&apos;m not saying I&apos;m opposed, just pointing out that you&apos;re going against the grain here.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150595</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-28 12:00:37 -0700</bug_when>
    <thetext>I&apos;ll change the formatting before I land.

(In reply to comment #9)
&gt; (From update of attachment 40213 [details])
&gt; &gt; +        * DumpRenderTree/win/DraggingInfo.h: Added field |m_dropEffect| to store performed drop effect.
&gt; 
&gt; I haven&apos;t seen this &quot;|variableName|&quot; style in ChangeLogs/comments in WebKit
&gt; before. I&apos;m not saying I&apos;m opposed, just pointing out that you&apos;re going against
&gt; the grain here.
&gt; 
&gt; r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>151038</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2009-09-29 14:02:26 -0700</bug_when>
    <thetext>Committed r48899: &lt;http://trac.webkit.org/changeset/48899&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40183</attachid>
            <date>2009-09-26 16:16:57 -0700</date>
            <delta_ts>2009-09-27 20:43:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug28902_1.patch</filename>
            <type>text/plain</type>
            <size>4478</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ4NzkyKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMjYgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODkwMgor
ICAgICAgICAKKyAgICAgICAgRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGRyb3AgZWZmZWN0IHJl
dHVybmVkIGJ5IFdpbmRvdyBEdW1wIFJlbmRlciBUcmVlIAorICAgICAgICB3YXMgYWx3YXlzIERS
T1BFRkZFQ1RfTk9ORSAoc2luY2UgaXQgd2FzIGhhcmQgY29kZWQgdG8gZG8gc28pLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyBwYXRjaCBjb3JyZWN0cyB0aGlzIGlzc3VlIGJ5IGRldGVybWluaW5n
IHRoZSBhY3R1YWwgZHJvcCBlZmZlY3QgCisgICAgICAgIHBlcmZvcm1lZCBieSB0aGUgY29ycmVz
cG9uZGluZyBkcmFnLWFuZC1kcm9wIG9wZXJhdGlvbiBzbyB0aGF0IHdlIGNhbiAKKyAgICAgICAg
cmV0dXJuIGl0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0RyYWdnaW5nSW5mby5o
OiBBZGRlZCBmaWVsZCB8bV9kcm9wRWZmZWN0fCB0byBzdG9yZSBwZXJmb3JtZWQgZHJvcCBlZmZl
Y3QuCisgICAgICAgIChEcmFnZ2luZ0luZm86OkRyYWdnaW5nSW5mbyk6CisgICAgICAgIChEcmFn
Z2luZ0luZm86OnBlcmZvcm1lZERyb3BFZmZlY3QpOiBBZGRlZCBtZXRob2QuCisgICAgICAgIChE
cmFnZ2luZ0luZm86OnNldFBlcmZvcm1lZERyb3BFZmZlY3QpOiBBZGRlZCBtZXRob2QuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd2luL0V2ZW50U2VuZGVyLmNwcDoKKyAgICAgICAgKGRvTW91
c2VVcCk6IENhbGxzIG1ldGhvZCBEcmFnZ2luZ0luZm86OnNldFBlcmZvcm1lZERyb3BFZmZlY3Qg
d2l0aCBwZXJmb3JtZWQgZHJvcCBlZmZlY3QuCisgICAgICAgIE1vdmVkIGRlbGV0ZSB8ZHJhZ2dp
bmdJbmZvfCB0byBVSURlbGVnYXRlOjpkb0RyYWdEcm9wLgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3dpbi9VSURlbGVnYXRlLmNwcDoKKyAgICAgICAgKFVJRGVsZWdhdGU6OmRvRHJhZ0Ryb3Ap
OiBTZXRzIHxwZXJmb3JtZWREcm9wRWZmZWN0fCB0byBEcmFnZ2luZ0luZm86OnBlcmZvcm1lZERy
b3BFZmZlY3QoKS4KKwogMjAwOS0wOS0yNiAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21h
aWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8gTm9yb25oYS4KSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EcmFnZ2luZ0luZm8uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHJhZ2dpbmdJbmZvLmgJKHJldmlzaW9u
IDQ4NzkyKQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0RyYWdnaW5nSW5mby5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2ICszNiw3IEBAIHB1YmxpYzoKICAgICBEcmFnZ2luZ0lu
Zm8oSURhdGFPYmplY3QqIG9iamVjdCwgSURyb3BTb3VyY2UqIHNvdXJjZSkKICAgICAgICAgOiBt
X29iamVjdChvYmplY3QpCiAgICAgICAgICwgbV9zb3VyY2Uoc291cmNlKQorICAgICAgICAsIG1f
cGVyZm9ybWVkRHJvcEVmZmVjdChEUk9QRUZGRUNUX05PTkUpCiAgICAgewogICAgICAgICBtX29i
amVjdC0+QWRkUmVmKCk7CiAgICAgICAgIG1fc291cmNlLT5BZGRSZWYoKTsKQEAgLTU0LDkgKzU1
LDEzIEBAIHB1YmxpYzoKICAgICBJRGF0YU9iamVjdCogZGF0YU9iamVjdCgpIGNvbnN0IHsgcmV0
dXJuIG1fb2JqZWN0OyB9CiAgICAgSURyb3BTb3VyY2UqIGRyb3BTb3VyY2UoKSBjb25zdCB7IHJl
dHVybiBtX3NvdXJjZTsgfQogCisgICAgRFdPUkQgcGVyZm9ybWVkRHJvcEVmZmVjdCgpIGNvbnN0
IHsgcmV0dXJuIG1fcGVyZm9ybWVkRHJvcEVmZmVjdDsgfQorICAgIHZvaWQgc2V0UGVyZm9ybWVk
RHJvcEVmZmVjdChEV09SRCBlZmZlY3QpIHsgbV9wZXJmb3JtZWREcm9wRWZmZWN0ID0gZWZmZWN0
OyB9CisKIHByaXZhdGU6CiAgICAgSURhdGFPYmplY3QqIG1fb2JqZWN0OwogICAgIElEcm9wU291
cmNlKiBtX3NvdXJjZTsKKyAgICBEV09SRCBtX3BlcmZvcm1lZERyb3BFZmZlY3Q7CiB9OwogCiAj
ZW5kaWYgLy8gIWRlZmluZWQoRHJhZ2dpbmdJbmZvX2gpCkluZGV4OiBXZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS93aW4vRXZlbnRTZW5kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVudFNlbmRlci5jcHAJKHJldmlzaW9uIDQ4NzkyKQorKysg
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0V2ZW50U2VuZGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjE5LDExICsyMTksMjEgQEAgc3RhdGljIHZvaWQgZG9Nb3VzZVVwKE1TRyBtc2cp
CiAgICAgICAgICAgICBpZiAoaHIgPT0gRFJBR0RST1BfU19EUk9QICYmIGVmZmVjdCAhPSBEUk9Q
RUZGRUNUX05PTkUpIHsKICAgICAgICAgICAgICAgICBEV09SRCBlZmZlY3QgPSAwOwogICAgICAg
ICAgICAgICAgIHdlYlZpZXdEcm9wVGFyZ2V0LT5Ecm9wKGRyYWdnaW5nSW5mby0+ZGF0YU9iamVj
dCgpLCAwLCBwb2ludGwoc2NyZWVuUG9pbnQpLCAmZWZmZWN0KTsKKyAgICAgICAgICAgICAgICBk
cmFnZ2luZ0luZm8tPnNldFBlcmZvcm1lZERyb3BFZmZlY3QoZWZmZWN0KTsKICAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgIHdlYlZpZXdEcm9wVGFyZ2V0LT5EcmFnTGVhdmUoKTsK
IAotICAgICAgICAgICAgZGVsZXRlIGRyYWdnaW5nSW5mbzsKLSAgICAgICAgICAgIGRyYWdnaW5n
SW5mbyA9IDA7CisgICAgICAgICAgICAvLyBSZXNldCB8ZGlkRHJhZ0VudGVyfCBzbyB0aGF0IGFu
b3RoZXIgZHJhZyBzdGFydGVkIHdpdGhpbiB0aGUgc2FtZSBmcmFtZSB3b3JrcyBwcm9wZXJseS4K
KyAgICAgICAgICAgIC8vCisgICAgICAgICAgICAvLyBOb3RpY2UsIFdlYlZpZXc6OkRyYWdFbnRl
ciAoaS5lLiB3ZWJWaWV3RHJvcFRhcmdldC0+RHJhZ0VudGVyKSBpbml0aWFsaXplcyB0aGUgZmll
bGQKKyAgICAgICAgICAgIC8vIHxXZWJWaWV3OjptX2RyYWdEYXRhfCwgd2hpY2ggaXMgY2hlY2tl
ZCBpbiBXZWJWaWV3OjpEcmFnT3ZlciAoaS5lLiB3ZWJWaWV3RHJvcFRhcmdldC0+RHJhZ092ZXIp
LgorICAgICAgICAgICAgLy8KKyAgICAgICAgICAgIC8vIElmIHxkaWREcmFnRW50ZXJ8ID09IGZh
bHNlLCB0aGVuIHxXZWJWaWV3OjptX2RyYWdEYXRhfCBpcyB1bmluaXRpYWxpemVkLCBhbmQgYnkK
KyAgICAgICAgICAgIC8vIDxodHRwOi8vdHJhYy53ZWJraXQub3JnL2Jyb3dzZXIvdHJ1bmsvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcD9yZXY9NDg3NTQjTDQ2NTc+CisgICAgICAgICAgICAvLyBXZWJW
aWV3OjpEcmFnT3ZlciByZXR1cm5zIHRoZSBkcm9wIGVmZmVjdCBEUk9QRUZGRUNUX05PTkUsIHdo
aWNoIGlzIGluY29ycmVjdC4KKyAgICAgICAgICAgIC8vIEhlbmNlLCB3ZSBzZXQgfGRpZERyYWdF
bnRlcnwgPSBmYWxzZSBvbiBhIG1vdXNlIHVwIHRvIHJlc2V0IHRoZSBEUlQgZHJhZy1hbmQtZHJv
cAorICAgICAgICAgICAgLy8gbWFjaGluZXJ5LgorICAgICAgICAgICAgZGlkRHJhZ0VudGVyID0g
ZmFsc2U7CiAgICAgICAgIH0KICAgICB9CiB9CkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vVUlEZWxlZ2F0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwCShyZXZpc2lvbiA0ODc5MikKKysrIFdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTAzLDYgKzUwMywxMSBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFVJRGVsZWdhdGU6OmRv
CiAKICAgICBkcmFnZ2luZ0luZm8gPSBuZXcgRHJhZ2dpbmdJbmZvKG9iamVjdCwgc291cmNlKTsK
ICAgICByZXBsYXlTYXZlZEV2ZW50cygpOworICAgIGlmIChkcmFnZ2luZ0luZm8pIHsKKyAgICAg
ICAgKnBlcmZvcm1lZEVmZmVjdCA9IGRyYWdnaW5nSW5mby0+cGVyZm9ybWVkRHJvcEVmZmVjdCgp
OworICAgICAgICBkZWxldGUgZHJhZ2dpbmdJbmZvOworICAgICAgICBkcmFnZ2luZ0luZm8gPSAw
OworICAgIH0KICAgICByZXR1cm4gU19PSzsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>40184</attachid>
            <date>2009-09-26 16:34:42 -0700</date>
            <delta_ts>2009-09-26 16:36:24 -0700</delta_ts>
            <desc>Updated test case</desc>
            <filename>drag-and-drop.html</filename>
            <type>text/html</type>
            <size>6907</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyI+CjxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0Pgo8c3R5bGU+CiNkcm9wVGFyZ2V0LCAjZHJhZ01lIHsgdGV4dC1h
bGlnbjogY2VudGVyOyBkaXNwbGF5OiB0YWJsZS1jZWxsOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxl
IH0KI2Ryb3BUYXJnZXQge3dpZHRoOiAyNTZweDsgaGVpZ2h0OiAyNTZweDsgYm9yZGVyOiAxcHgg
ZGFzaGVkfQojZHJhZ01lIHstd2Via2l0LXVzZXItZHJhZzogZWxlbWVudDsgLXdlYmtpdC11c2Vy
LXNlbGVjdDogbm9uZTsgYmFja2dyb3VuZDogI2ZmMDAwMDsgd2lkdGg6IDY0cHg7IGhlaWdodDog
NjRweDsgY29sb3I6IHdoaXRlfQo8L3N0eWxlPgo8c2NyaXB0PgogICAgdmFyIGRyYWdNZTsKICAg
IHZhciBkcm9wVGFyZ2V0OwogICAgdmFyIGVmZmVjdEFsbG93ZWRFbGVtOwogICAgdmFyIGRyb3BF
ZmZlY3RFbGVtOwogICAgdmFyIGNvbnNvbGVFbG07CiAgICB2YXIgZXZlbnQ7CiAgICAKICAgIHdp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCiAgICB7CiAgICAgICAgZHJhZ01lID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImRyYWdNZSIpOwogICAgICAgIGRyb3BUYXJnZXQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiZHJvcFRhcmdldCIpOwogICAgICAgIGVmZmVjdEFsbG93ZWRFbGVtID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVmZmVjdEFsbG93ZWQiKTsKICAgICAgICBkcm9wRWZm
ZWN0RWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJkcm9wRWZmZWN0Iik7CiAgICAgICAg
Y29uc29sZUVsbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIik7CiAgICAgICAg
CiAgICAgICAgaWYgKCFkcmFnTWUgfHwgIWRyb3BUYXJnZXQgfHwgIWVmZmVjdEFsbG93ZWRFbGVt
IHx8ICFkcm9wRWZmZWN0RWxlbSB8fCAhY29uc29sZUVsbSkKICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgIAogICAgICAgIGRyYWdNZS5vbmRyYWdzdGFydCA9IGRyYWdTdGFydDsKICAgICAgICBk
cmFnTWUub25kcmFnZW5kID0gZHJhZ0VuZDsKICAgICAgICAKICAgICAgICBkcm9wVGFyZ2V0Lm9u
ZHJhZ2VudGVyID0gZHJhZ0VudGVyZWQ7CiAgICAgICAgZHJvcFRhcmdldC5vbmRyYWdvdmVyID0g
ZHJhZ092ZXI7CiAgICAgICAgZHJvcFRhcmdldC5vbmRyb3AgPSBkcm9wOwogICAgICAgIAogICAg
ICAgIHJ1blRlc3QoKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZHJhZ1N0YXJ0KGUpCiAgICB7
CiAgICAgICAgZXZlbnQgPSBlOwogICAgICAgIGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQg
PSBlZmZlY3RBbGxvd2VkRWxlbS5vcHRpb25zW2VmZmVjdEFsbG93ZWRFbGVtLnNlbGVjdGVkSW5k
ZXhdLnZhbHVlOwogICAgICAgIGUuZGF0YVRyYW5zZmVyLnNldERhdGEoJ1RleHQnLCBlLnRhcmdl
dC50ZXh0Q29udGVudCk7CiAgICB9CiAgICAKICAgIGZ1bmN0aW9uIGRyYWdFbmQoZSkKICAgIHsK
ICAgICAgICBjaGVja0RyYWdTdGF0ZShlKTsKICAgICAgICByZXR1cm47CiAgICB9CiAgICAKICAg
IGZ1bmN0aW9uIGRyYWdFbnRlcmVkKGUpCiAgICB7CiAgICAgICAgZHJhZ0VudGVyZWRBbmRVcGRh
dGVkKGUpOwogICAgfQogICAgCiAgICBmdW5jdGlvbiBkcmFnT3ZlcihlKQogICAgewogICAgICAg
IGRyYWdFbnRlcmVkQW5kVXBkYXRlZChlKTsKICAgIH0KICAgIAogICAgZnVuY3Rpb24gZHJhZ0Vu
dGVyZWRBbmRVcGRhdGVkKGUpCiAgICB7CiAgICAgICAgZXZlbnQgPSBlOwogICAgICAgIGUuZGF0
YVRyYW5zZmVyLmRyb3BFZmZlY3QgPSBkcm9wRWZmZWN0RWxlbS5vcHRpb25zW2Ryb3BFZmZlY3RF
bGVtLnNlbGVjdGVkSW5kZXhdLnZhbHVlOwogICAgICAgIGNhbmNlbERyYWcoZSk7CiAgICB9CiAg
ICAKICAgIGZ1bmN0aW9uIGRyb3AoZSkKICAgIHsKICAgICAgICBjYW5jZWxEcmFnKGUpOwogICAg
fQogICAgCiAgICBmdW5jdGlvbiBjYW5jZWxEcmFnKGUpCiAgICB7CiAgICAgICAgaWYgKGUucHJl
dmVudERlZmF1bHQpCiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgICBlbHNl
IHsKICAgICAgICAgICAgLy8gQXNzdW1lIHRoaXMgc2NyaXB0IGlzIGV4ZWN1dGluZyB3aXRoaW4g
SW50ZXJuZXQgRXhwbG9yZXIKICAgICAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAg
ICAgIH0KICAgIH0KICAgIAogICAgZnVuY3Rpb24gY2hlY2tEcmFnU3RhdGUoZSkKICAgIHsKICAg
ICAgICBldmVudCA9IGU7CiAgICAgICAgdmFyIGNob3NlbkRyb3BFZmZlY3QgPSBkcm9wRWZmZWN0
RWxlbS5vcHRpb25zW2Ryb3BFZmZlY3RFbGVtLnNlbGVjdGVkSW5kZXhdLnZhbHVlOwogICAgICAg
IHZhciBjaG9zZW5FZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tlZmZl
Y3RBbGxvd2VkRWxlbS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKICAgICAgICB2YXIgYWN0dWFsRHJv
cEVmZmVjdCA9IGUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q7CiAgICAgICAgCiAgICAgICAgaWYg
KGlzRHJvcEVmZmVjdEFsbG93ZWQoY2hvc2VuRHJvcEVmZmVjdCwgY2hvc2VuRWZmZWN0QWxsb3dl
ZCkpCiAgICAgICAgICAgIHNob3VsZEV2YWx1YXRlVG8oJ2V2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0JywgJ2Ryb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJ
bmRleF0udmFsdWUnKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QnLCAnbm9uZScpOwogICAgICAgICAg
ICAKICAgIH0KICAgIAogICAgZnVuY3Rpb24gaXNEcm9wRWZmZWN0QWxsb3dlZChjaG9zZW5Ecm9w
RWZmZWN0LCBhbGxvd2VkRHJvcEVmZmVjdCkgewogICAgICAgIC8vIEV4dHJhY3RlZCBmcm9tIHRo
ZSBIVE1MIDUgZHJhZy1hbmQtZHJvcCBzZWN0aW9uLCBodHRwOi8vZGV2LnczLm9yZy9odG1sNS9z
cGVjL092ZXJ2aWV3Lmh0bWwjZG5kCiAgICAgICAgaWYgKGNob3NlbkRyb3BFZmZlY3QgPT0gIm5v
bmUiKQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVj
dCA9PSAiY29weSIgJiYgKGFsbG93ZWREcm9wRWZmZWN0ID09ICJjb3B5IiB8fCBhbGxvd2VkRHJv
cEVmZmVjdCA9PSAiY29weUxpbmsiIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHx8IGFsbG93ZWREcm9wRWZmZWN0ID09ICJjb3B5TW92ZSIgfHwgYWxsb3dlZERy
b3BFZmZlY3QgPT0gInVuaW5pdGlhbGl6ZWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfHwgYWxsb3dlZERyb3BFZmZlY3QgPT0gImFsbCIpKQogICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9PSAibW92ZSIgJiYg
KGFsbG93ZWREcm9wRWZmZWN0ID09ICJtb3ZlIiB8fCBhbGxvd2VkRHJvcEVmZmVjdCA9PSAiY29w
eU1vdmUiIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGFs
bG93ZWREcm9wRWZmZWN0ID09ICJsaW5rTW92ZSIgfHwgYWxsb3dlZERyb3BFZmZlY3QgPT0gInVu
aW5pdGlhbGl6ZWQiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fHwgYWxsb3dlZERyb3BFZmZlY3QgPT0gImFsbCIpKQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9PSAibGluayIgJiYgKGFsbG93ZWREcm9wRWZm
ZWN0ID09ICJsaW5rIiB8fCBhbGxvd2VkRHJvcEVmZmVjdCA9PSAiY29weUxpbmsiIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8IGFsbG93ZWREcm9wRWZmZWN0
ID09ICJsaW5rTW92ZSIgfHwgYWxsb3dlZERyb3BFZmZlY3QgPT0gInVuaW5pdGlhbGl6ZWQiCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgYWxsb3dlZERyb3BF
ZmZlY3QgPT0gImFsbCIpKQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICB9CgogICAgZnVuY3Rpb24gcnVuVGVzdCgpCiAgICB7CiAgICAgICAgaWYgKCF3
aW5kb3cuZXZlbnRTZW5kZXIpCiAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgCiAgICAg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwogICAgICAgICAgICAKICAgICAgICB2YXIgc3RhcnRY
ID0gZHJhZ01lLm9mZnNldExlZnQgKyAxMDsKICAgICAgICB2YXIgc3RhcnRZID0gZHJhZ01lLm9m
ZnNldFRvcCArIGRyYWdNZS5vZmZzZXRIZWlnaHQgLyAyOwogICAgICAgIHZhciBlbmRYID0gZHJv
cFRhcmdldC5vZmZzZXRMZWZ0ICsgMTA7CiAgICAgICAgdmFyIGVuZFkgPSBkcm9wVGFyZ2V0Lm9m
ZnNldFRvcCArIGRyb3BUYXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjsKICAgICAgICAKICAgICAgICB2
YXIgbnVtRWZmZWN0QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWRFbGVtLm9wdGlvbnMubGVuZ3RoOwog
ICAgICAgIHZhciBudW1FZmZlY3RzID0gZHJvcEVmZmVjdEVsZW0ub3B0aW9ucy5sZW5ndGg7CiAg
ICAgICAgCiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBudW1FZmZlY3RBbGxvd2VkOyArK2kp
IHsKICAgICAgICAgICAgZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tpXS5zZWxlY3RlZCA9IHRy
dWU7CiAgICAgICAgICAgIGRlYnVnKCc8YnIgLz5XaGVuIGVmZmVjdEFsbG93ZWQgPT0gIicgKyBl
ZmZlY3RBbGxvd2VkRWxlbS5vcHRpb25zW2ldLnZhbHVlICsgJyI8YnIgLz4nKTsKICAgICAgICAg
ICAgZm9yICh2YXIgaiA9IDA7IGogPCBudW1FZmZlY3RzOyArK2opIHsKICAgICAgICAgICAgICAg
IGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbal0uc2VsZWN0ZWQgPSB0cnVlOwogICAgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRYLCBzdGFydFkpOwogICAgICAgICAgICAg
ICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CiAgICAgICAgICAgICAgICBldmVudFNlbmRlci5s
ZWFwRm9yd2FyZCgxMDApOwogICAgICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8o
ZW5kWCwgZW5kWSk7CiAgICAgICAgICAgICAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICAg
ICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZGVidWcoJzxiciAvPjxzcGFuIGNsYXNzPSJwYXNz
Ij5URVNUIENPTVBMRVRFPC9zcGFuPicpOwogICAgfQo8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4K
ICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgogICAgPGxhYmVsIGZvcj0iZWZmZWN0QWxsb3dl
ZCI+ZWZmZWN0QWxsb3dlZDwvbGFiZWw+IDxzZWxlY3QgaWQ9ImVmZmVjdEFsbG93ZWQiPgogICAg
ICAgIDxvcHRpb24gdmFsdWU9InVuaW5pdGlhbGl6ZWQiPlVuaW5pdGlhbGl6ZWQ8L29wdGlvbj4K
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJub25lIj5Ob25lPC9vcHRpb24+CiAgICAgICAgPG9wdGlv
biB2YWx1ZT0iYWxsIj5BbGw8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJjb3B5Ij5D
b3B5PC9vcHRpb24+CiAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibW92ZSI+TW92ZTwvb3B0aW9uPgog
ICAgICAgIDxvcHRpb24gdmFsdWU9ImxpbmsiPkxpbms8L29wdGlvbj4KICAgICAgICA8b3B0aW9u
IHZhbHVlPSJjb3B5TW92ZSI+Q29weU1vdmU8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVl
PSJjb3B5TGluayI+Q29weUxpbms8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJsaW5r
TW92ZSI+TGlua01vdmU8L29wdGlvbj4KICAgICAgICA8b3B0aW9uIHZhbHVlPSJkdW1teSI+Tm9u
ZXhpc3RlbnQgKER1bW15KSBFZmZlY3Q8L29wdGlvbj4KICAgIDwvc2VsZWN0PgogICAgPGJyLz48
YnIvPgogICAgPGRpdiBpZD0iZHJvcFRhcmdldCI+RHJvcCB0aGUgcmVkIHNxdWFyZSBvbnRvIG1l
Ljxici8+PGJyLz4KICAgICAgICA8bGFiZWwgZm9yPSJkcm9wRWZmZWN0Ij5FeHBlY3RzIGRyb3BF
ZmZlY3Q8L2xhYmVsPiA8c2VsZWN0IGlkPSJkcm9wRWZmZWN0Ij4KICAgICAgICAgICAgPG9wdGlv
biB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPgogICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJj
b3B5Ij5Db3B5PC9vcHRpb24+CiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im1vdmUiPk1vdmU8
L29wdGlvbj4KICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibGluayI+TGluazwvb3B0aW9uPgog
ICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJkdW1teSI+Tm9uZXhpc3RlbnQgKER1bW15KSBFZmZl
Y3Q8L29wdGlvbj4KICAgICAgICA8L3NlbGVjdD4KICAgIDwvZGl2PgogICAgPGhyLz4KICAgIDxw
Pkl0ZW1zIHRoYXQgY2FuIGJlIGRyYWdnZWQgdG8gdGhlIGRyb3AgdGFyZ2V0OjwvcD4KICAgIDxk
aXYgaWQ9ImRyYWdNZSIgZHJhZ2dhYmxlPSJ0cnVlIj5TcXVhcmU8L2Rpdj4KICAgIDxoci8+CiAg
ICA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KICAgIDxzY3JpcHQ+CiAgICAgICAgZGVzY3JpcHRp
b24oIlRoaXMgdGVzdCBjaGVja3MgdGhhdCBkcmFnLWFuZC1kcm9wIHN1cHBvcnQgd29ya3MgYW5k
IGNvbmZvcm1zIHRvIHRoZSBIVE1MIDUgc3BlY2lmaWNhdGlvbi48YnIvPiIgKwogICAgICAgICAg
ICAgICAgICAgICJGb3IgZWFjaCBlZmZlY3RBbGxvd2VkLCBpdGVyYXRlcyB0aHJvdWdoIHRoZSBw
b3NzaWJsZSBkcm9wRWZmZWN0czogbm9uZSwgY29weSwgbW92ZSwgbGluaywgZHVtbXkuIik7CiAg
ICAgICAgdmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CiAgICA8L3NjcmlwdD4KPC9ib2R5
Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40213</attachid>
            <date>2009-09-27 20:43:17 -0700</date>
            <delta_ts>2009-09-28 06:08:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Bug28902_2.patch</filename>
            <type>text/plain</type>
            <size>3855</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDQ4Nzk0KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMjcgIERhbmllbCBCYXRlcyAgPGRi
YXRlc0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODkwMgor
ICAgICAgICAKKyAgICAgICAgRml4ZXMgYW4gaXNzdWUgd2hlcmUgdGhlIGRyb3AgZWZmZWN0IHJl
dHVybmVkIGJ5IFdpbmRvdyBEdW1wIFJlbmRlciBUcmVlIAorICAgICAgICB3YXMgYWx3YXlzIERS
T1BFRkZFQ1RfTk9ORSAoc2luY2UgaXQgd2FzIGhhcmQgY29kZWQgdG8gZG8gc28pLgorICAgICAg
ICAKKyAgICAgICAgVGhpcyBwYXRjaCBjb3JyZWN0cyB0aGlzIGlzc3VlIGJ5IGRldGVybWluaW5n
IHRoZSBhY3R1YWwgZHJvcCBlZmZlY3QgCisgICAgICAgIHBlcmZvcm1lZCBieSB0aGUgY29ycmVz
cG9uZGluZyBkcmFnLWFuZC1kcm9wIG9wZXJhdGlvbiBzbyB0aGF0IHdlIGNhbiAKKyAgICAgICAg
cmV0dXJuIGl0LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvd2luL0RyYWdnaW5nSW5mby5o
OiBBZGRlZCBmaWVsZCB8bV9kcm9wRWZmZWN0fCB0byBzdG9yZSBwZXJmb3JtZWQgZHJvcCBlZmZl
Y3QuCisgICAgICAgIChEcmFnZ2luZ0luZm86OkRyYWdnaW5nSW5mbyk6CisgICAgICAgIChEcmFn
Z2luZ0luZm86OnBlcmZvcm1lZERyb3BFZmZlY3QpOiBBZGRlZCBtZXRob2QuCisgICAgICAgIChE
cmFnZ2luZ0luZm86OnNldFBlcmZvcm1lZERyb3BFZmZlY3QpOiBBZGRlZCBtZXRob2QuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvd2luL0V2ZW50U2VuZGVyLmNwcDoKKyAgICAgICAgKGRvTW91
c2VVcCk6IENhbGxzIG1ldGhvZCBEcmFnZ2luZ0luZm86OnNldFBlcmZvcm1lZERyb3BFZmZlY3Qg
d2l0aCBwZXJmb3JtZWQgZHJvcCBlZmZlY3QuCisgICAgICAgIE1vdmVkIGRlbGV0ZSB8ZHJhZ2dp
bmdJbmZvfCB0byBVSURlbGVnYXRlOjpkb0RyYWdEcm9wLgorICAgICAgICAqIER1bXBSZW5kZXJU
cmVlL3dpbi9VSURlbGVnYXRlLmNwcDoKKyAgICAgICAgKFVJRGVsZWdhdGU6OmRvRHJhZ0Ryb3Ap
OiBTZXRzIHxwZXJmb3JtZWREcm9wRWZmZWN0fCB0byBEcmFnZ2luZ0luZm86OnBlcmZvcm1lZERy
b3BFZmZlY3QoKS4KKwogMjAwOS0wOS0yNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzI5NzY0PiBtYXJrLWJ1Zy1maXhl
ZDogYWRkIC1vfC0tb3BlbiBzd2l0Y2gKSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L3dpbi9EcmFnZ2luZ0luZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVy
VHJlZS93aW4vRHJhZ2dpbmdJbmZvLmgJKHJldmlzaW9uIDQ4Nzk0KQorKysgV2ViS2l0VG9vbHMv
RHVtcFJlbmRlclRyZWUvd2luL0RyYWdnaW5nSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNiw2
ICszNiw3IEBAIHB1YmxpYzoKICAgICBEcmFnZ2luZ0luZm8oSURhdGFPYmplY3QqIG9iamVjdCwg
SURyb3BTb3VyY2UqIHNvdXJjZSkKICAgICAgICAgOiBtX29iamVjdChvYmplY3QpCiAgICAgICAg
ICwgbV9zb3VyY2Uoc291cmNlKQorICAgICAgICAsIG1fcGVyZm9ybWVkRHJvcEVmZmVjdChEUk9Q
RUZGRUNUX05PTkUpCiAgICAgewogICAgICAgICBtX29iamVjdC0+QWRkUmVmKCk7CiAgICAgICAg
IG1fc291cmNlLT5BZGRSZWYoKTsKQEAgLTU0LDkgKzU1LDEzIEBAIHB1YmxpYzoKICAgICBJRGF0
YU9iamVjdCogZGF0YU9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fb2JqZWN0OyB9CiAgICAgSURy
b3BTb3VyY2UqIGRyb3BTb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZTsgfQogCisgICAg
RFdPUkQgcGVyZm9ybWVkRHJvcEVmZmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcGVyZm9ybWVkRHJv
cEVmZmVjdDsgfQorICAgIHZvaWQgc2V0UGVyZm9ybWVkRHJvcEVmZmVjdChEV09SRCBlZmZlY3Qp
IHsgbV9wZXJmb3JtZWREcm9wRWZmZWN0ID0gZWZmZWN0OyB9CisKIHByaXZhdGU6CiAgICAgSURh
dGFPYmplY3QqIG1fb2JqZWN0OwogICAgIElEcm9wU291cmNlKiBtX3NvdXJjZTsKKyAgICBEV09S
RCBtX3BlcmZvcm1lZERyb3BFZmZlY3Q7CiB9OwogCiAjZW5kaWYgLy8gIWRlZmluZWQoRHJhZ2dp
bmdJbmZvX2gpCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRXZlbnRTZW5k
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9FdmVu
dFNlbmRlci5jcHAJKHJldmlzaW9uIDQ4Nzk0KQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvd2luL0V2ZW50U2VuZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE5LDExICsyMTksMTIg
QEAgc3RhdGljIHZvaWQgZG9Nb3VzZVVwKE1TRyBtc2cpCiAgICAgICAgICAgICBpZiAoaHIgPT0g
RFJBR0RST1BfU19EUk9QICYmIGVmZmVjdCAhPSBEUk9QRUZGRUNUX05PTkUpIHsKICAgICAgICAg
ICAgICAgICBEV09SRCBlZmZlY3QgPSAwOwogICAgICAgICAgICAgICAgIHdlYlZpZXdEcm9wVGFy
Z2V0LT5Ecm9wKGRyYWdnaW5nSW5mby0+ZGF0YU9iamVjdCgpLCAwLCBwb2ludGwoc2NyZWVuUG9p
bnQpLCAmZWZmZWN0KTsKKyAgICAgICAgICAgICAgICBkcmFnZ2luZ0luZm8tPnNldFBlcmZvcm1l
ZERyb3BFZmZlY3QoZWZmZWN0KTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
IHdlYlZpZXdEcm9wVGFyZ2V0LT5EcmFnTGVhdmUoKTsKIAotICAgICAgICAgICAgZGVsZXRlIGRy
YWdnaW5nSW5mbzsKLSAgICAgICAgICAgIGRyYWdnaW5nSW5mbyA9IDA7CisgICAgICAgICAgICAv
LyBSZXNldCB8ZGlkRHJhZ0VudGVyfCBzbyB0aGF0IGFub3RoZXIgZHJhZyBzdGFydGVkIHdpdGhp
biB0aGUgc2FtZSBmcmFtZSB3b3JrcyBwcm9wZXJseS4KKyAgICAgICAgICAgIGRpZERyYWdFbnRl
ciA9IGZhbHNlOwogICAgICAgICB9CiAgICAgfQogfQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvd2luL1VJRGVsZWdhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL3dpbi9VSURlbGVnYXRlLmNwcAkocmV2aXNpb24gNDg3OTQpCisrKyBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vVUlEZWxlZ2F0ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUwMyw2ICs1MDMsMTEgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBVSURlbGVnYXRl
OjpkbwogCiAgICAgZHJhZ2dpbmdJbmZvID0gbmV3IERyYWdnaW5nSW5mbyhvYmplY3QsIHNvdXJj
ZSk7CiAgICAgcmVwbGF5U2F2ZWRFdmVudHMoKTsKKyAgICBpZiAoZHJhZ2dpbmdJbmZvKSB7Cisg
ICAgICAgICpwZXJmb3JtZWRFZmZlY3QgPSBkcmFnZ2luZ0luZm8tPnBlcmZvcm1lZERyb3BFZmZl
Y3QoKTsKKyAgICAgICAgZGVsZXRlIGRyYWdnaW5nSW5mbzsKKyAgICAgICAgZHJhZ2dpbmdJbmZv
ID0gMDsKKyAgICB9CiAgICAgcmV0dXJuIFNfT0s7CiB9CiAK
</data>
<flag name="review"
          id="21395"
          type_id="1"
          status="+"
          setter="aroben"
    />
          </attachment>
      

    </bug>

</bugzilla>