<?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>33607</bug_id>
          
          <creation_ts>2010-01-13 10:18:46 -0800</creation_ts>
          <short_desc>REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed is set (differs from HTML5)</short_desc>
          <delta_ts>2010-01-13 14:00:34 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>aroben</cc>
    
    <cc>dbates</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>180277</commentid>
    <comment_count>0</comment_count>
      <attachid>46473</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 10:18:46 -0800</bug_when>
    <thetext>Created attachment 46473
Doesn&apos;t Work

REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed is set (differs from HTML5).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180278</commentid>
    <comment_count>1</comment_count>
      <attachid>46474</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 10:19:08 -0800</bug_when>
    <thetext>Created attachment 46474
Works</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180281</commentid>
    <comment_count>2</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 10:26:24 -0800</bug_when>
    <thetext>&lt;rdar://7507114&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180333</commentid>
    <comment_count>3</comment_count>
      <attachid>46484</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 12:19:54 -0800</bug_when>
    <thetext>Created attachment 46484
WIP PATCH

The additional test output with this change to the test is: 

 16 When effectAllowed == &quot;undefined&quot;
 17 
 18 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 19 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 20 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 21 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 22 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 23 

This patch fixes the test case that is attached here, but doesn&apos;t seem to be working correctly in DRT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180337</commentid>
    <comment_count>4</comment_count>
      <attachid>46485</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 12:25:35 -0800</bug_when>
    <thetext>Created attachment 46485
WIP PATCH 2

This gives these additional results:

 16 When effectAllowed == &quot;undefined&quot;
 17 
 18 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 19 FAIL event.dataTransfer.dropEffect should be none. Was copy.
 20 FAIL event.dataTransfer.dropEffect should be none. Was move.
 21 FAIL event.dataTransfer.dropEffect should be none. Was link.
 22 PASS event.dataTransfer.dropEffect is &quot;none&quot;
 23 

This is much closer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180362</commentid>
    <comment_count>5</comment_count>
      <attachid>46494</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 12:56:18 -0800</bug_when>
    <thetext>Created attachment 46494
WIP PATCH 3 - No ChangeLogs - But Code Finished</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180374</commentid>
    <comment_count>6</comment_count>
      <attachid>46497</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 13:16:01 -0800</bug_when>
    <thetext>Created attachment 46497
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180379</commentid>
    <comment_count>7</comment_count>
      <attachid>46497</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-13 13:25:12 -0800</bug_when>
    <thetext>Comment on attachment 46497
[PATCH] Fix

&gt;  bool Clipboard::sourceOperation(DragOperation&amp; op) const
&gt;  {
&gt; -    if (m_effectAllowed.isNull())
&gt; -        return false;
&gt; -    op = dragOpFromIEOp(m_effectAllowed);
&gt; +    op = dragOpFromIEOp(!m_effectAllowed.isNull() ? m_effectAllowed : String(&quot;uninitialized&quot;));
&gt;      return true;
&gt;  }

Why not initialize m_effectAllowed to &quot;uninitialized&quot; in the Clipboard constructor? Is there other code that relies on m_effectAllowed being null?

&gt; @@ -1,3 +1,17 @@
&gt; +2010-01-13  Brian Weinstein  &lt;bweinstein@apple.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed 
&gt; +        is set (differs from HTML5).
&gt; +        Fixes &lt;https://bugs.webkit.org/show_bug.cgi?id=33607&gt; and &lt;rdar://7507114&gt;.
&gt; +        
&gt; +        Updated the drag and drop test to test if effectAllowed isn&apos;t set, in addition
&gt; +        to its other tets.

Typo: tets

&gt; @@ -99,11 +101,11 @@
&gt;          // Extracted from the HTML 5 drag-and-drop section, http://dev.w3.org/html5/spec/Overview.html#dnd
&gt;          if (chosenDropEffect == &quot;none&quot;)
&gt;              return true;
&gt; -        if (chosenDropEffect == &quot;copy&quot; &amp;&amp; [&quot;copy&quot;, &quot;copyLink&quot;, &quot;copyMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;].indexOf(allowedDropEffect) != -1)
&gt; +        if (chosenDropEffect == &quot;copy&quot; &amp;&amp; [&quot;copy&quot;, &quot;copyLink&quot;, &quot;copyMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;, &quot;undefined&quot;].indexOf(allowedDropEffect) != -1)
&gt;              return true;
&gt; -        if (chosenDropEffect == &quot;move&quot; &amp;&amp; [&quot;move&quot;, &quot;copyMove&quot;, &quot;linkMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;].indexOf(allowedDropEffect) != -1)
&gt; +        if (chosenDropEffect == &quot;move&quot; &amp;&amp; [&quot;move&quot;, &quot;copyMove&quot;, &quot;linkMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;, &quot;undefined&quot;].indexOf(allowedDropEffect) != -1)
&gt;              return true;
&gt; -        if (chosenDropEffect == &quot;link&quot; &amp;&amp; [&quot;link&quot;, &quot;copyLink&quot;, &quot;linkMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;].indexOf(allowedDropEffect) != -1)
&gt; +        if (chosenDropEffect == &quot;link&quot; &amp;&amp; [&quot;link&quot;, &quot;copyLink&quot;, &quot;linkMove&quot;, &quot;uninitialized&quot;, &quot;all&quot;, &quot;undefined&quot;].indexOf(allowedDropEffect) != -1)
&gt;              return true;
&gt;          return false;
&gt;      }

I think it&apos;s a little confusing to make this change. Before your patch, isDropEffectAllowed matched a part of the HTML5 spec pretty closely. But now this function contains this new &quot;undefined&quot; string, which isn&apos;t mentioned in HTML5 at all.

Maybe it would be better to have an explicit test somewhere that when the &quot;undefined&quot; effect was chosen, event.dataTransfer.effectAllowed continues to be &quot;uninitialized&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180390</commentid>
    <comment_count>8</comment_count>
      <attachid>46500</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 13:54:50 -0800</bug_when>
    <thetext>Created attachment 46500
[PATCH] Simpler Fix with Adam&apos;s Comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180393</commentid>
    <comment_count>9</comment_count>
      <attachid>46500</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-01-13 13:57:54 -0800</bug_when>
    <thetext>Comment on attachment 46500
[PATCH] Simpler Fix with Adam&apos;s Comments

&gt;  Clipboard::Clipboard(ClipboardAccessPolicy policy, bool isForDragging) 
&gt;      : m_policy(policy) 
&gt; +    , m_effectAllowed(&quot;uninitialized&quot;)

At some point we should switch m_effectAllowed to be an AtomicString. Maybe when we fix setEffectAllowed to only allow setting it to certain values?

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180394</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2010-01-13 14:00:34 -0800</bug_when>
    <thetext>Committed in r53203.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46473</attachid>
            <date>2010-01-13 10:18:46 -0800</date>
            <delta_ts>2010-01-13 10:18:46 -0800</delta_ts>
            <desc>Doesn&apos;t Work</desc>
            <filename>effectAllowed.html</filename>
            <type>text/html</type>
            <size>841</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KZnVuY3Rpb24gZHJhZ1N0YXJ0KCkgewogICAgLy8gVW5jb21tZW50aW5nIHRoaXMg
bGluZSBtYWtlcyB0aGUgZHJhZyB3b3JrOgogICAgLy8gZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVj
dEFsbG93ZWQgPSAiY29weSI7CiAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9w
bGFpbiIsICJUaGUgZHJhZyBzdWNjZWVkZWQhIik7Cn0KPC9zY3JpcHQ+CjxwPlRlc3QgZm9yIERI
VE1MIGRyYWdzIHRoYXQgZG9uJ3Qgc2V0IGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2Vk
Lgo8YSBocmVmPSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13
b3JrL211bHRpcGFnZS9kbmQuaHRtbCNkcmFnLWFuZC1kcm9wLXByb2Nlc3NpbmctbW9kZWwiPkhU
TUw1CnNlZW1zIHRvIHNheTwvYT4gdGhhdCB3aGVuIGVmZmVjdEFsbG93ZWQgaXNuJ3Qgc2V0LCB0
aGUgZHJhZyBzaG91bGQgYmUgYWxsb3dlZAphbmQgdGhlIGRyb3BFZmZlY3Qgc2hvdWxkIGJlIGRl
dGVybWluZWQgZW50aXJlbHkgYnkgdGhlIGRyb3AgdGFyZ2V0LiAgV2ViS2l0CnNlZW1zIG5vdCB0
byBhbGxvdyB0aGUgZHJhZyBpbiB0aGlzIGNhc2UsIGhvd2V2ZXIuIFRvIHRlc3QsIHRyeSBkcmFn
Z2luZyB0aGUKdGV4dCBiZWxvdyB0byBhIG5vbi1XZWJWaWV3IGFyZWEgdGhhdCBhY2NlcHRzIGRy
YWdzLjwvcD4KPGRpdiBzdHlsZT0iLXdlYmtpdC11c2VyLWRyYWc6ZWxlbWVudDstd2Via2l0LXVz
ZXItc2VsZWN0Om5vbmUiIG9uZHJhZ3N0YXJ0PSJkcmFnU3RhcnQoKSI+RHJhZyBtZSB0byBhbm90
aGVyIGFwcGxpY2F0aW9uPC9kaXY+Cjx0ZXh0YXJlYT48L3RleHRhcmVhPg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>46474</attachid>
            <date>2010-01-13 10:19:08 -0800</date>
            <delta_ts>2010-01-13 10:19:08 -0800</delta_ts>
            <desc>Works</desc>
            <filename>effectAllowed.html</filename>
            <type>text/html</type>
            <size>838</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KZnVuY3Rpb24gZHJhZ1N0YXJ0KCkgewogICAgLy8gVW5jb21tZW50aW5nIHRoaXMg
bGluZSBtYWtlcyB0aGUgZHJhZyB3b3JrOgogICAgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFs
bG93ZWQgPSAiY29weSI7CiAgICBldmVudC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFp
biIsICJUaGUgZHJhZyBzdWNjZWVkZWQhIik7Cn0KPC9zY3JpcHQ+CjxwPlRlc3QgZm9yIERIVE1M
IGRyYWdzIHRoYXQgZG9uJ3Qgc2V0IGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkLgo8
YSBocmVmPSJodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3Jr
L211bHRpcGFnZS9kbmQuaHRtbCNkcmFnLWFuZC1kcm9wLXByb2Nlc3NpbmctbW9kZWwiPkhUTUw1
CnNlZW1zIHRvIHNheTwvYT4gdGhhdCB3aGVuIGVmZmVjdEFsbG93ZWQgaXNuJ3Qgc2V0LCB0aGUg
ZHJhZyBzaG91bGQgYmUgYWxsb3dlZAphbmQgdGhlIGRyb3BFZmZlY3Qgc2hvdWxkIGJlIGRldGVy
bWluZWQgZW50aXJlbHkgYnkgdGhlIGRyb3AgdGFyZ2V0LiAgV2ViS2l0CnNlZW1zIG5vdCB0byBh
bGxvdyB0aGUgZHJhZyBpbiB0aGlzIGNhc2UsIGhvd2V2ZXIuIFRvIHRlc3QsIHRyeSBkcmFnZ2lu
ZyB0aGUKdGV4dCBiZWxvdyB0byBhIG5vbi1XZWJWaWV3IGFyZWEgdGhhdCBhY2NlcHRzIGRyYWdz
LjwvcD4KPGRpdiBzdHlsZT0iLXdlYmtpdC11c2VyLWRyYWc6ZWxlbWVudDstd2Via2l0LXVzZXIt
c2VsZWN0Om5vbmUiIG9uZHJhZ3N0YXJ0PSJkcmFnU3RhcnQoKSI+RHJhZyBtZSB0byBhbm90aGVy
IGFwcGxpY2F0aW9uPC9kaXY+Cjx0ZXh0YXJlYT48L3RleHRhcmVhPg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46484</attachid>
            <date>2010-01-13 12:19:54 -0800</date>
            <delta_ts>2010-01-13 12:25:35 -0800</delta_ts>
            <desc>WIP PATCH</desc>
            <filename>drag_and_drop.patch</filename>
            <type>text/plain</type>
            <size>1522</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vQ2xpcGJvYXJkLmNwcAkocmV2aXNpb24gNTMxNDgpCisrKyBXZWJDb3JlL2RvbS9DbGlwYm9h
cmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsOSArMTAwLDcgQEAgc3RhdGljIFN0cmluZyBJ
RU9wRnJvbURyYWdPcChEcmFnT3BlcmF0aQogCiBib29sIENsaXBib2FyZDo6c291cmNlT3BlcmF0
aW9uKERyYWdPcGVyYXRpb24mIG9wKSBjb25zdAogewotICAgIGlmIChtX2VmZmVjdEFsbG93ZWQu
aXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBvcCA9IGRyYWdPcEZyb21JRU9w
KG1fZWZmZWN0QWxsb3dlZCk7CisgICAgb3AgPSBkcmFnT3BGcm9tSUVPcCghbV9lZmZlY3RBbGxv
d2VkLmlzTnVsbCgpID8gbV9lZmZlY3RBbGxvd2VkIDogU3RyaW5nKCJ1bmluaXRpYWxpemVkIikp
OwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
cmFnLWFuZC1kcm9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
ZHJhZy1hbmQtZHJvcC5odG1sCShyZXZpc2lvbiA1MzE0OCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOSBA
QAogICAgIHsKICAgICAgICAgZXZlbnQgPSBlOwogICAgICAgICBlLmRhdGFUcmFuc2Zlci5lZmZl
Y3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tlZmZlY3RBbGxvd2VkRWxlbS5z
ZWxlY3RlZEluZGV4XS52YWx1ZTsKKyAgICAgICAgaWYgKGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFs
bG93ZWQgPT0gInVuZGVmaW5lZCIpCisgICAgICAgICAgICBkZWxldGUgZS5kYXRhVHJhbnNmZXIu
ZWZmZWN0QWxsb3dlZDsKKwogICAgICAgICBlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0Jywg
ZS50YXJnZXQudGV4dENvbnRlbnQpOwogICAgIH0KICAgICAKQEAgLTE0OCw2ICsxNTEsNyBAQAog
ICAgIDxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KICAgICAgICAgPGxhYmVsIGZvcj0iZWZmZWN0
QWxsb3dlZCI+ZWZmZWN0QWxsb3dlZDwvbGFiZWw+IDxzZWxlY3QgaWQ9ImVmZmVjdEFsbG93ZWQi
PgogICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idW5pbml0aWFsaXplZCI+VW5pbml0aWFsaXpl
ZDwvb3B0aW9uPgorICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idW5kZWZpbmVkIj5VbmRlZmlu
ZWQ8L29wdGlvbj4KICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5vbmUiPk5vbmU8L29wdGlv
bj4KICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFsbCI+QWxsPC9vcHRpb24+CiAgICAgICAg
ICAgICA8b3B0aW9uIHZhbHVlPSJjb3B5Ij5Db3B5PC9vcHRpb24+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46485</attachid>
            <date>2010-01-13 12:25:35 -0800</date>
            <delta_ts>2010-01-13 12:56:18 -0800</delta_ts>
            <desc>WIP PATCH 2</desc>
            <filename>drag_and_drop.patch</filename>
            <type>text/plain</type>
            <size>1645</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vQ2xpcGJvYXJkLmNwcAkocmV2aXNpb24gNTMxNDgpCisrKyBXZWJDb3JlL2RvbS9DbGlwYm9h
cmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsOSArMTAwLDcgQEAgc3RhdGljIFN0cmluZyBJ
RU9wRnJvbURyYWdPcChEcmFnT3BlcmF0aQogCiBib29sIENsaXBib2FyZDo6c291cmNlT3BlcmF0
aW9uKERyYWdPcGVyYXRpb24mIG9wKSBjb25zdAogewotICAgIGlmIChtX2VmZmVjdEFsbG93ZWQu
aXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBvcCA9IGRyYWdPcEZyb21JRU9w
KG1fZWZmZWN0QWxsb3dlZCk7CisgICAgb3AgPSBkcmFnT3BGcm9tSUVPcCghbV9lZmZlY3RBbGxv
d2VkLmlzTnVsbCgpID8gbV9lZmZlY3RBbGxvd2VkIDogU3RyaW5nKCJ1bmluaXRpYWxpemVkIikp
OwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
cmFnLWFuZC1kcm9wLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
ZHJhZy1hbmQtZHJvcC5odG1sCShyZXZpc2lvbiA1MzE0OCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksOSBA
QAogICAgIGZ1bmN0aW9uIGRyYWdTdGFydChlKQogICAgIHsKICAgICAgICAgZXZlbnQgPSBlOwot
ICAgICAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0u
b3B0aW9uc1tlZmZlY3RBbGxvd2VkRWxlbS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKKyAgICAgICAg
aWYgKGVmZmVjdEFsbG93ZWRFbGVtLm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2VsZWN0ZWRJ
bmRleF0udmFsdWUgIT0gInVuZGVmaW5lZCIpCisgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5l
ZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tlZmZlY3RBbGxvd2VkRWxl
bS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKKwogICAgICAgICBlLmRhdGFUcmFuc2Zlci5zZXREYXRh
KCdUZXh0JywgZS50YXJnZXQudGV4dENvbnRlbnQpOwogICAgIH0KICAgICAKQEAgLTE0OCw2ICsx
NTAsNyBAQAogICAgIDxkaXYgaWQ9InRlc3QtY29udGFpbmVyIj4KICAgICAgICAgPGxhYmVsIGZv
cj0iZWZmZWN0QWxsb3dlZCI+ZWZmZWN0QWxsb3dlZDwvbGFiZWw+IDxzZWxlY3QgaWQ9ImVmZmVj
dEFsbG93ZWQiPgogICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idW5pbml0aWFsaXplZCI+VW5p
bml0aWFsaXplZDwvb3B0aW9uPgorICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idW5kZWZpbmVk
Ij5VbmRlZmluZWQ8L29wdGlvbj4KICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5vbmUiPk5v
bmU8L29wdGlvbj4KICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImFsbCI+QWxsPC9vcHRpb24+
CiAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJjb3B5Ij5Db3B5PC9vcHRpb24+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46494</attachid>
            <date>2010-01-13 12:56:18 -0800</date>
            <delta_ts>2010-01-13 13:16:01 -0800</delta_ts>
            <desc>WIP PATCH 3 - No ChangeLogs - But Code Finished</desc>
            <filename>drag_and_drop.patch</filename>
            <type>text/plain</type>
            <size>3561</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9k
b20vQ2xpcGJvYXJkLmNwcAkocmV2aXNpb24gNTMxNDgpCisrKyBXZWJDb3JlL2RvbS9DbGlwYm9h
cmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsOSArMTAwLDcgQEAgc3RhdGljIFN0cmluZyBJ
RU9wRnJvbURyYWdPcChEcmFnT3BlcmF0aQogCiBib29sIENsaXBib2FyZDo6c291cmNlT3BlcmF0
aW9uKERyYWdPcGVyYXRpb24mIG9wKSBjb25zdAogewotICAgIGlmIChtX2VmZmVjdEFsbG93ZWQu
aXNOdWxsKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBvcCA9IGRyYWdPcEZyb21JRU9w
KG1fZWZmZWN0QWxsb3dlZCk7CisgICAgb3AgPSBkcmFnT3BGcm9tSUVPcCghbV9lZmZlY3RBbGxv
d2VkLmlzTnVsbCgpID8gbV9lZmZlY3RBbGxvd2VkIDogU3RyaW5nKCJ1bmluaXRpYWxpemVkIikp
OwogICAgIHJldHVybiB0cnVlOwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9k
cmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTMxNDgpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTMsNiArMTMsMTQgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVm
ZmVjdCBpcyAibQogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIK
IFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiAKK1doZW4gZWZm
ZWN0QWxsb3dlZCA9PSAidW5kZWZpbmVkIgorCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9w
RWZmZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAi
Y29weSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCitQQVNT
IGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKKwogV2hlbiBlZmZlY3RBbGxvd2VkID09ICJu
b25lIgogCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgpJbmRl
eDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbAkocmV2aXNpb24g
NTMxNDgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTM5LDcgKzM5LDkgQEAKICAgICBmdW5jdGlvbiBkcmFnU3RhcnQoZSkK
ICAgICB7CiAgICAgICAgIGV2ZW50ID0gZTsKLSAgICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0
QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWRFbGVtLm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2Vs
ZWN0ZWRJbmRleF0udmFsdWU7CisgICAgICAgIGlmIChlZmZlY3RBbGxvd2VkRWxlbS5vcHRpb25z
W2VmZmVjdEFsbG93ZWRFbGVtLnNlbGVjdGVkSW5kZXhdLnZhbHVlICE9ICJ1bmRlZmluZWQiKQor
ICAgICAgICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWRF
bGVtLm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWU7CisKICAg
ICAgICAgZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgnVGV4dCcsIGUudGFyZ2V0LnRleHRDb250ZW50
KTsKICAgICB9CiAgICAgCkBAIC05OSwxMSArMTAxLDExIEBACiAgICAgICAgIC8vIEV4dHJhY3Rl
ZCBmcm9tIHRoZSBIVE1MIDUgZHJhZy1hbmQtZHJvcCBzZWN0aW9uLCBodHRwOi8vZGV2LnczLm9y
Zy9odG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG5kCiAgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZm
ZWN0ID09ICJub25lIikKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoY2hv
c2VuRHJvcEVmZmVjdCA9PSAiY29weSIgJiYgWyJjb3B5IiwgImNvcHlMaW5rIiwgImNvcHlNb3Zl
IiwgInVuaW5pdGlhbGl6ZWQiLCAiYWxsIl0uaW5kZXhPZihhbGxvd2VkRHJvcEVmZmVjdCkgIT0g
LTEpCisgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09ICJjb3B5IiAmJiBbImNvcHkiLCAi
Y29weUxpbmsiLCAiY29weU1vdmUiLCAidW5pbml0aWFsaXplZCIsICJhbGwiLCAidW5kZWZpbmVk
Il0uaW5kZXhPZihhbGxvd2VkRHJvcEVmZmVjdCkgIT0gLTEpCiAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICAgICAgaWYgKGNob3NlbkRyb3BFZmZlY3QgPT0gIm1vdmUiICYmIFsibW92ZSIs
ICJjb3B5TW92ZSIsICJsaW5rTW92ZSIsICJ1bmluaXRpYWxpemVkIiwgImFsbCJdLmluZGV4T2Yo
YWxsb3dlZERyb3BFZmZlY3QpICE9IC0xKQorICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9
PSAibW92ZSIgJiYgWyJtb3ZlIiwgImNvcHlNb3ZlIiwgImxpbmtNb3ZlIiwgInVuaW5pdGlhbGl6
ZWQiLCAiYWxsIiwgInVuZGVmaW5lZCJdLmluZGV4T2YoYWxsb3dlZERyb3BFZmZlY3QpICE9IC0x
KQogICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0
ID09ICJsaW5rIiAmJiBbImxpbmsiLCAiY29weUxpbmsiLCAibGlua01vdmUiLCAidW5pbml0aWFs
aXplZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWREcm9wRWZmZWN0KSAhPSAtMSkKKyAgICAgICAg
aWYgKGNob3NlbkRyb3BFZmZlY3QgPT0gImxpbmsiICYmIFsibGluayIsICJjb3B5TGluayIsICJs
aW5rTW92ZSIsICJ1bmluaXRpYWxpemVkIiwgImFsbCIsICJ1bmRlZmluZWQiXS5pbmRleE9mKGFs
bG93ZWREcm9wRWZmZWN0KSAhPSAtMSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMTQ4LDYgKzE1MCw3IEBACiAgICAgPGRpdiBpZD0i
dGVzdC1jb250YWluZXIiPgogICAgICAgICA8bGFiZWwgZm9yPSJlZmZlY3RBbGxvd2VkIj5lZmZl
Y3RBbGxvd2VkPC9sYWJlbD4gPHNlbGVjdCBpZD0iZWZmZWN0QWxsb3dlZCI+CiAgICAgICAgICAg
ICA8b3B0aW9uIHZhbHVlPSJ1bmluaXRpYWxpemVkIj5VbmluaXRpYWxpemVkPC9vcHRpb24+Cisg
ICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1bmRlZmluZWQiPlVuZGVmaW5lZDwvb3B0aW9uPgog
ICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPgogICAgICAgICAg
ICAgPG9wdGlvbiB2YWx1ZT0iYWxsIj5BbGw8L29wdGlvbj4KICAgICAgICAgICAgIDxvcHRpb24g
dmFsdWU9ImNvcHkiPkNvcHk8L29wdGlvbj4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46497</attachid>
            <date>2010-01-13 13:16:01 -0800</date>
            <delta_ts>2010-01-13 13:54:50 -0800</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>drag_and_drop.patch</filename>
            <type>text/plain</type>
            <size>5268</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzE5NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMTMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT04gKHI0OTI2OCk6IERIVE1MIGRyYWcgbm90IGFsbG93ZWQgdW5sZXNzIGV2
ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIAorICAgICAgICBpcyBzZXQgKGRpZmZlcnMg
ZnJvbSBIVE1MNSkuCisgICAgICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzM2MDc+IGFuZCA8cmRhcjovLzc1MDcxMTQ+LgorICAgICAgICAKKyAgICAg
ICAgSWYgbm8gZWZmZWN0QWxsb3dlZCBpcyBzZXQgaW4gdGhlIGRyYWdTdGFydCBvcGVyYXRpb24s
IHdlIHNob3VsZCBkZWZhdWx0IHRvCisgICAgICAgIHVuaW5pdGlhbGl6ZWQgaW5zdGVhZCBvZiBu
b25lLCBzbyB0aGUgdXNlciBkb2Vzbid0IGhhdmUgdG8gbWFudWFsbHkgc2V0IHRoZSAKKyAgICAg
ICAgZWZmZWN0QWxsb3dlZCB0byBlbmFibGUgZHJhZyBhbmQgZHJvcC4KKworICAgICAgICAqIGRv
bS9DbGlwYm9hcmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkOjpzb3VyY2VPcGVy
YXRpb24pOgorCiAyMDEwLTAxLTEzICBDYXJvbCBTemFibyAgPGNhcm9sLnN6YWJvQG5va2lhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFdlYkNvcmUvZG9t
L0NsaXBib2FyZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAko
cmV2aXNpb24gNTMxNDgpCisrKyBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDAsOSArMTAwLDcgQEAgc3RhdGljIFN0cmluZyBJRU9wRnJvbURyYWdPcChEcmFn
T3BlcmF0aQogCiBib29sIENsaXBib2FyZDo6c291cmNlT3BlcmF0aW9uKERyYWdPcGVyYXRpb24m
IG9wKSBjb25zdAogewotICAgIGlmIChtX2VmZmVjdEFsbG93ZWQuaXNOdWxsKCkpCi0gICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICBvcCA9IGRyYWdPcEZyb21JRU9wKG1fZWZmZWN0QWxsb3dlZCk7
CisgICAgb3AgPSBkcmFnT3BGcm9tSUVPcCghbV9lZmZlY3RBbGxvd2VkLmlzTnVsbCgpID8gbV9l
ZmZlY3RBbGxvd2VkIDogU3RyaW5nKCJ1bmluaXRpYWxpemVkIikpOwogICAgIHJldHVybiB0cnVl
OwogfQogCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MzE5NykKKysrIExheW91dFRlc3RzL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEwLTAxLTEzICBCcmlhbiBXZWlu
c3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChyNDkyNjgpOiBESFRNTCBkcmFnIG5v
dCBhbGxvd2VkIHVubGVzcyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCAKKyAgICAg
ICAgaXMgc2V0IChkaWZmZXJzIGZyb20gSFRNTDUpLgorICAgICAgICBGaXhlcyA8aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMzNjA3PiBhbmQgPHJkYXI6Ly83NTA3MTE0
Pi4KKyAgICAgICAgCisgICAgICAgIFVwZGF0ZWQgdGhlIGRyYWcgYW5kIGRyb3AgdGVzdCB0byB0
ZXN0IGlmIGVmZmVjdEFsbG93ZWQgaXNuJ3Qgc2V0LCBpbiBhZGRpdGlvbgorICAgICAgICB0byBp
dHMgb3RoZXIgdGV0cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbDoKKwog
MjAxMC0wMS0xMyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFn
LWFuZC1kcm9wLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNTMxNDgpCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMTMsNiArMTMsMTQgQEAgUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibQogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIKIFBB
U1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUiCiAKK1doZW4gZWZmZWN0
QWxsb3dlZCA9PSAidW5kZWZpbmVkIgorCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZm
ZWN0IGlzICJub25lIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAiY29w
eSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm1vdmUiCitQQVNTIGV2
ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJsaW5rIgorUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKKwogV2hlbiBlZmZlY3RBbGxvd2VkID09ICJub25l
IgogCiBQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJvcC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWctYW5kLWRyb3AuaHRtbAkocmV2aXNpb24gNTMx
NDgpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDcgKzM5LDkgQEAKICAgICBmdW5jdGlvbiBkcmFnU3RhcnQoZSkKICAg
ICB7CiAgICAgICAgIGV2ZW50ID0gZTsKLSAgICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxs
b3dlZCA9IGVmZmVjdEFsbG93ZWRFbGVtLm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2VsZWN0
ZWRJbmRleF0udmFsdWU7CisgICAgICAgIGlmIChlZmZlY3RBbGxvd2VkRWxlbS5vcHRpb25zW2Vm
ZmVjdEFsbG93ZWRFbGVtLnNlbGVjdGVkSW5kZXhdLnZhbHVlICE9ICJ1bmRlZmluZWQiKQorICAg
ICAgICAgICAgZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9IGVmZmVjdEFsbG93ZWRFbGVt
Lm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWU7CisKICAgICAg
ICAgZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgnVGV4dCcsIGUudGFyZ2V0LnRleHRDb250ZW50KTsK
ICAgICB9CiAgICAgCkBAIC05OSwxMSArMTAxLDExIEBACiAgICAgICAgIC8vIEV4dHJhY3RlZCBm
cm9tIHRoZSBIVE1MIDUgZHJhZy1hbmQtZHJvcCBzZWN0aW9uLCBodHRwOi8vZGV2LnczLm9yZy9o
dG1sNS9zcGVjL092ZXJ2aWV3Lmh0bWwjZG5kCiAgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0
ID09ICJub25lIikKICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoY2hvc2Vu
RHJvcEVmZmVjdCA9PSAiY29weSIgJiYgWyJjb3B5IiwgImNvcHlMaW5rIiwgImNvcHlNb3ZlIiwg
InVuaW5pdGlhbGl6ZWQiLCAiYWxsIl0uaW5kZXhPZihhbGxvd2VkRHJvcEVmZmVjdCkgIT0gLTEp
CisgICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09ICJjb3B5IiAmJiBbImNvcHkiLCAiY29w
eUxpbmsiLCAiY29weU1vdmUiLCAidW5pbml0aWFsaXplZCIsICJhbGwiLCAidW5kZWZpbmVkIl0u
aW5kZXhPZihhbGxvd2VkRHJvcEVmZmVjdCkgIT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKLSAgICAgICAgaWYgKGNob3NlbkRyb3BFZmZlY3QgPT0gIm1vdmUiICYmIFsibW92ZSIsICJj
b3B5TW92ZSIsICJsaW5rTW92ZSIsICJ1bmluaXRpYWxpemVkIiwgImFsbCJdLmluZGV4T2YoYWxs
b3dlZERyb3BFZmZlY3QpICE9IC0xKQorICAgICAgICBpZiAoY2hvc2VuRHJvcEVmZmVjdCA9PSAi
bW92ZSIgJiYgWyJtb3ZlIiwgImNvcHlNb3ZlIiwgImxpbmtNb3ZlIiwgInVuaW5pdGlhbGl6ZWQi
LCAiYWxsIiwgInVuZGVmaW5lZCJdLmluZGV4T2YoYWxsb3dlZERyb3BFZmZlY3QpICE9IC0xKQog
ICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIGlmIChjaG9zZW5Ecm9wRWZmZWN0ID09
ICJsaW5rIiAmJiBbImxpbmsiLCAiY29weUxpbmsiLCAibGlua01vdmUiLCAidW5pbml0aWFsaXpl
ZCIsICJhbGwiXS5pbmRleE9mKGFsbG93ZWREcm9wRWZmZWN0KSAhPSAtMSkKKyAgICAgICAgaWYg
KGNob3NlbkRyb3BFZmZlY3QgPT0gImxpbmsiICYmIFsibGluayIsICJjb3B5TGluayIsICJsaW5r
TW92ZSIsICJ1bmluaXRpYWxpemVkIiwgImFsbCIsICJ1bmRlZmluZWQiXS5pbmRleE9mKGFsbG93
ZWREcm9wRWZmZWN0KSAhPSAtMSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQpAQCAtMTQ4LDYgKzE1MCw3IEBACiAgICAgPGRpdiBpZD0idGVz
dC1jb250YWluZXIiPgogICAgICAgICA8bGFiZWwgZm9yPSJlZmZlY3RBbGxvd2VkIj5lZmZlY3RB
bGxvd2VkPC9sYWJlbD4gPHNlbGVjdCBpZD0iZWZmZWN0QWxsb3dlZCI+CiAgICAgICAgICAgICA8
b3B0aW9uIHZhbHVlPSJ1bmluaXRpYWxpemVkIj5VbmluaXRpYWxpemVkPC9vcHRpb24+CisgICAg
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1bmRlZmluZWQiPlVuZGVmaW5lZDwvb3B0aW9uPgogICAg
ICAgICAgICAgPG9wdGlvbiB2YWx1ZT0ibm9uZSI+Tm9uZTwvb3B0aW9uPgogICAgICAgICAgICAg
PG9wdGlvbiB2YWx1ZT0iYWxsIj5BbGw8L29wdGlvbj4KICAgICAgICAgICAgIDxvcHRpb24gdmFs
dWU9ImNvcHkiPkNvcHk8L29wdGlvbj4K
</data>
<flag name="commit-queue"
          id="28775"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46500</attachid>
            <date>2010-01-13 13:54:50 -0800</date>
            <delta_ts>2010-01-13 13:57:53 -0800</delta_ts>
            <desc>[PATCH] Simpler Fix with Adam&apos;s Comments</desc>
            <filename>drag_drop.patch</filename>
            <type>text/plain</type>
            <size>5210</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MzIwMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMTAtMDEtMTMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT04gKHI0OTI2OCk6IERIVE1MIGRyYWcgbm90IGFsbG93ZWQgdW5sZXNzIGV2
ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIAorICAgICAgICBpcyBzZXQgKGRpZmZlcnMg
ZnJvbSBIVE1MNSkuCisgICAgICAgIEZpeGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzM2MDc+IGFuZCA8cmRhcjovLzc1MDcxMTQ+LgorCisgICAgICAgIElmIG5v
IGVmZmVjdEFsbG93ZWQgaXMgc2V0IGluIHRoZSBkcmFnU3RhcnQgb3BlcmF0aW9uLCB3ZSBzaG91
bGQgZGVmYXVsdCB0bworICAgICAgICB1bmluaXRpYWxpemVkIGluc3RlYWQgb2Ygbm9uZSwgc28g
dGhlIHVzZXIgZG9lc24ndCBoYXZlIHRvIG1hbnVhbGx5IHNldCB0aGUgCisgICAgICAgIGVmZmVj
dEFsbG93ZWQgdG8gZW5hYmxlIGRyYWcgYW5kIGRyb3AuCisKKyAgICAgICAgKiBkb20vQ2xpcGJv
YXJkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNsaXBib2FyZDo6Q2xpcGJvYXJkKToKKwogMjAx
MC0wMS0xMyAgRGF2ZSBIeWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBEYW4gQmVybnN0ZWluLgpJbmRleDogV2ViQ29yZS9kb20vQ2xpcGJvYXJkLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2RvbS9DbGlwYm9hcmQuY3BwCShyZXZpc2lvbiA1MzE5MykKKysr
IFdlYkNvcmUvZG9tL0NsaXBib2FyZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDbGlwYm9hcmQ6OkNsaXBib2FyZChDbGlwYm9hcmRB
Y2Nlc3NQb2xpY3kgcG9saWN5LCBib29sIGlzRm9yRHJhZ2dpbmcpIAogICAgIDogbV9wb2xpY3ko
cG9saWN5KSAKKyAgICAsIG1fZWZmZWN0QWxsb3dlZCgidW5pbml0aWFsaXplZCIpCiAgICAgLCBt
X2RyYWdTdGFydGVkKGZhbHNlKQogICAgICwgbV9mb3JEcmFnZ2luZyhpc0ZvckRyYWdnaW5nKQog
ICAgICwgbV9kcmFnSW1hZ2UoMCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzMjAyKQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MTMgIEJyaWFuIFdlaW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04gKHI0OTI2OCk6
IERIVE1MIGRyYWcgbm90IGFsbG93ZWQgdW5sZXNzIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RB
bGxvd2VkIAorICAgICAgICBpcyBzZXQgKGRpZmZlcnMgZnJvbSBIVE1MNSkuCisgICAgICAgIEZp
eGVzIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzM2MDc+IGFuZCA8
cmRhcjovLzc1MDcxMTQ+LgorICAgICAgICAKKyAgICAgICAgVXBkYXRlZCB0aGUgZHJhZyBhbmQg
ZHJvcCB0ZXN0IHRvIHRlc3QgaWYgZWZmZWN0QWxsb3dlZCBpc24ndCBzZXQsIGluIGFkZGl0aW9u
CisgICAgICAgIHRvIGl0cyBvdGhlciB0ZXN0cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2Ry
YWctYW5kLWRyb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2RyYWctYW5k
LWRyb3AuaHRtbDoKKwogMjAxMC0wMS0xMyAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJldGggRGFraW4uCkluZGV4OiBMYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVkLnR4dAkocmV2aXNpb24g
NTMxOTMpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9wLWV4cGVjdGVk
LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsMTkgQEAgUEFTUyBldmVudC5kYXRhVHJh
bnNmZXIuZHJvcEVmZmVjdCBpcyAibQogUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVj
dCBpcyAibGluayIKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3QgaXMgIm5vbmUi
CiAKK1doZW4gZWZmZWN0QWxsb3dlZCA9PSAidW5kZWZpbmVkIgorCitQQVNTIGV2ZW50LmRhdGFU
cmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmluaXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRh
VHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibm9uZSIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVm
ZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5k
cm9wRWZmZWN0IGlzICJjb3B5IgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dl
ZCBpcyAidW5pbml0aWFsaXplZCIKK1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Qg
aXMgIm1vdmUiCitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkIGlzICJ1bmlu
aXRpYWxpemVkIgorUEFTUyBldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCBpcyAibGluayIK
K1BBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQgaXMgInVuaW5pdGlhbGl6ZWQi
CitQQVNTIGV2ZW50LmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0IGlzICJub25lIgorCiBXaGVuIGVm
ZmVjdEFsbG93ZWQgPT0gIm5vbmUiCiAKIFBBU1MgZXZlbnQuZGF0YVRyYW5zZmVyLmRyb3BFZmZl
Y3QgaXMgIm5vbmUiCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9kcmFnLWFuZC1kcm9w
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZHJhZy1hbmQtZHJv
cC5odG1sCShyZXZpc2lvbiA1MzE5MykKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2RyYWct
YW5kLWRyb3AuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMzksNyArMzksOSBAQAogICAgIGZ1bmN0
aW9uIGRyYWdTdGFydChlKQogICAgIHsKICAgICAgICAgZXZlbnQgPSBlOwotICAgICAgICBlLmRh
dGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tlZmZl
Y3RBbGxvd2VkRWxlbS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKKyAgICAgICAgaWYgKGVmZmVjdEFs
bG93ZWRFbGVtLm9wdGlvbnNbZWZmZWN0QWxsb3dlZEVsZW0uc2VsZWN0ZWRJbmRleF0udmFsdWUg
IT0gInVuZGVmaW5lZCIpCisgICAgICAgICAgICBlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2Vk
ID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tlZmZlY3RBbGxvd2VkRWxlbS5zZWxlY3RlZElu
ZGV4XS52YWx1ZTsKKwogICAgICAgICBlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCdUZXh0JywgZS50
YXJnZXQudGV4dENvbnRlbnQpOwogICAgIH0KICAgICAKQEAgLTg4LDYgKzkwLDE1IEBACiAgICAg
ICAgIHZhciBjaG9zZW5FZmZlY3RBbGxvd2VkID0gZWZmZWN0QWxsb3dlZEVsZW0ub3B0aW9uc1tl
ZmZlY3RBbGxvd2VkRWxlbS5zZWxlY3RlZEluZGV4XS52YWx1ZTsKICAgICAgICAgdmFyIGFjdHVh
bERyb3BFZmZlY3QgPSBlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0OwogICAgICAgICAKKyAgICAg
ICAgaWYgKGNob3NlbkVmZmVjdEFsbG93ZWQgPT09ICJ1bmRlZmluZWQiKSB7CisgICAgICAgICAg
ICAvLyBJZiBubyBlZmZlY3RBbGxvd2VkIGlzIHNldCwgd2Ugc2hvdWxkIGRlZmF1bHQgdG8gdW5p
bml0aWFsaXplZC4gTWFrZSBzdXJlIHRoYXQncyB0aGUgY2FzZS4KKyAgICAgICAgICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygiZXZlbnQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQiLCAidW5p
bml0aWFsaXplZCIpOworICAgICAgICAgICAgCisgICAgICAgICAgICAvLyBUaGVuIHNldCB0aGUg
Y2hvc2VuRWZmZWN0QWxsb3dlZCBzbyBpc0Ryb3BFZmZlY3RBbGxvd2VkIG1hdGNoZXMgdGhlIEhU
TUw1IHNwZWMsIGFuZAorICAgICAgICAgICAgLy8gZG9lc24ndCBuZWVkIHNwZWNpYWwgY2FzZXMg
Zm9yIHVuZGVmaW5lZC4KKyAgICAgICAgICAgIGNob3NlbkVmZmVjdEFsbG93ZWQgPSAidW5pbml0
aWFsaXplZCI7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIGlmIChpc0Ryb3BFZmZlY3RB
bGxvd2VkKGNob3NlbkRyb3BFZmZlY3QsIGNob3NlbkVmZmVjdEFsbG93ZWQpKQogICAgICAgICAg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdldmVudC5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCcs
IGRyb3BFZmZlY3RFbGVtLm9wdGlvbnNbZHJvcEVmZmVjdEVsZW0uc2VsZWN0ZWRJbmRleF0udmFs
dWUpOwogICAgICAgICBlbHNlCkBAIC0xNDgsNiArMTU5LDcgQEAKICAgICA8ZGl2IGlkPSJ0ZXN0
LWNvbnRhaW5lciI+CiAgICAgICAgIDxsYWJlbCBmb3I9ImVmZmVjdEFsbG93ZWQiPmVmZmVjdEFs
bG93ZWQ8L2xhYmVsPiA8c2VsZWN0IGlkPSJlZmZlY3RBbGxvd2VkIj4KICAgICAgICAgICAgIDxv
cHRpb24gdmFsdWU9InVuaW5pdGlhbGl6ZWQiPlVuaW5pdGlhbGl6ZWQ8L29wdGlvbj4KKyAgICAg
ICAgICAgIDxvcHRpb24gdmFsdWU9InVuZGVmaW5lZCI+VW5kZWZpbmVkPC9vcHRpb24+CiAgICAg
ICAgICAgICA8b3B0aW9uIHZhbHVlPSJub25lIj5Ob25lPC9vcHRpb24+CiAgICAgICAgICAgICA8
b3B0aW9uIHZhbHVlPSJhbGwiPkFsbDwvb3B0aW9uPgogICAgICAgICAgICAgPG9wdGlvbiB2YWx1
ZT0iY29weSI+Q29weTwvb3B0aW9uPgo=
</data>
<flag name="review"
          id="28777"
          type_id="1"
          status="+"
          setter="aroben"
    />
    <flag name="commit-queue"
          id="28778"
          type_id="3"
          status="-"
          setter="bweinstein"
    />
          </attachment>
      

    </bug>

</bugzilla>