<?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>28696</bug_id>
          
          <creation_ts>2009-08-24 17:14:10 -0700</creation_ts>
          <short_desc>Middle click doesn&apos;t trigger onpaste event in Chromium</short_desc>
          <delta_ts>2009-09-08 10:58:30 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Steve VanDeBogart">vandebo</reporter>
          <assigned_to name="Steve VanDeBogart">vandebo</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>japhet</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>142468</commentid>
    <comment_count>0</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-08-24 17:14:10 -0700</bug_when>
    <thetext>Chromium doesn&apos;t treat middle click on Linux as a paste event. (http://code.google.com/p/chromium/issues/detail?id=18792)  The attached patch is part of an attempt to fix this.  The remaining parts are at (http://codereview.chromium.org/174367)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142469</commentid>
    <comment_count>1</comment_count>
      <attachid>38515</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-08-24 17:16:46 -0700</bug_when>
    <thetext>Created attachment 38515
Handle middle click in Chromium like QT</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143625</commentid>
    <comment_count>2</comment_count>
      <attachid>38515</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-31 03:46:14 -0700</bug_when>
    <thetext>Comment on attachment 38515
Handle middle click in Chromium like QT

This needs a layout test.

Also, funny spacing in the ChangeLog:
+        Handle middle click in Chromium like QT
+
+        https://bugs.webkit.org/show_bug.cgi?id=28696

Seems wrong:
+#if PLATFORM(QT) || PLATFORM(CHROMIUM)
     bool isSelectionMode() const;
     void setSelectionMode(bool selectionMode);
 #endif

You only want this on Chromium Linux, or?

Enums are almost always clearer than bools:
+        static bool clipboardIsFormatAvailable(PasteboardPrivate::ClipboardFormat, bool);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144048</commentid>
    <comment_count>3</comment_count>
      <attachid>38897</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-01 16:50:24 -0700</bug_when>
    <thetext>Created attachment 38897
Handle middle click in Chromium like QT (try 2)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144049</commentid>
    <comment_count>4</comment_count>
      <attachid>38898</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-01 16:51:08 -0700</bug_when>
    <thetext>Created attachment 38898
Layout test to test that middle click triggers the onpaste event</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144052</commentid>
    <comment_count>5</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-01 16:53:31 -0700</bug_when>
    <thetext>Address Eric&apos;s comments.  (missed the obsoletes box for the WebCore patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144169</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 02:53:00 -0700</bug_when>
    <thetext>The patch seems fine.  I generally try to write new layout test as &quot;js tests&quot; aka&quot; DOM only tests&quot; our documentation for such is rather poor though:
http://trac.webkit.org/wiki/Writing%20Layout%20Tests%20for%20DumpRenderTree

That would save you some typing, as you get things like &quot;debug&quot; and &quot;testPassed&quot; and &quot;shouldBe&quot; functions all for free.

Why does this test use edting.js?  Seems it doesn&apos;t actually want to use any of that framework, no?

The test and change should ideally be in one patch so they can be landed together by the bot.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144271</commentid>
    <comment_count>7</comment_count>
      <attachid>38938</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-02 13:03:24 -0700</bug_when>
    <thetext>Created attachment 38938
Handle middle click in Chromium like QT (including updated layout test)

Change the test to a &quot;DOM only test&quot; and merge the patches to one file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144292</commentid>
    <comment_count>8</comment_count>
      <attachid>38938</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 13:46:02 -0700</bug_when>
    <thetext>Comment on attachment 38938
Handle middle click in Chromium like QT (including updated layout test)

Looks fine.

You coudl have written:
 23     shouldBe(&quot;1&quot;, stringify(pasteCount));

as shouldBe(&quot;pasteCount&quot;, &quot;1&quot;);

shouldBe evals each half.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144294</commentid>
    <comment_count>9</comment_count>
      <attachid>38938</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 13:51:15 -0700</bug_when>
    <thetext>Comment on attachment 38938
Handle middle click in Chromium like QT (including updated layout test)

Rejecting patch 38938 from commit-queue.  This patch will require manual commit.

Patch https://bugs.webkit.org/attachment.cgi?id=38938 from bug 28696 failed to download and apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144313</commentid>
    <comment_count>10</comment_count>
      <attachid>38938</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-02 14:33:50 -0700</bug_when>
    <thetext>Comment on attachment 38938
Handle middle click in Chromium like QT (including updated layout test)

Patch looks malformed:
can&apos;t find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|Index: LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html
|===================================================================
|--- LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html	(revision 0)
|+++ LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html	(working copy)
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patch -p0 &quot;LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html&quot; returned 1.  Pass --force to ignore patch failures.

Index: LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html
===================================================================
--- LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html	(revision 47870)	(from ../../../../../../../http:/svn.webkit.org/repository/webkit/trunk/LayoutTests/traversal/resources/TEMPLATE.html:47870)
+++ LayoutTests/platform/gtk/editing/pasteboard/resources/TEMPLATE.html	(working copy)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144317</commentid>
    <comment_count>11</comment_count>
      <attachid>38938</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-09-02 14:59:49 -0700</bug_when>
    <thetext>Comment on attachment 38938
Handle middle click in Chromium like QT (including updated layout test)

&gt; Index: WebCore/platform/chromium/ChromiumBridge.h
...
&gt; +        static String clipboardReadPlainText(PasteboardPrivate::TargetClipboard);
&gt;          static void clipboardReadHTML(String*, KURL*);

So, I guess it is implied that the target is the system clipboard for all
of the methods that do not have a TargetClipboard parameter?  It might be
good to write a comment saying that.


&gt; Index: WebCore/platform/chromium/ClipboardChromium.cpp
...
&gt;  #include &quot;HTMLNames.h&quot;
&gt;  #include &quot;NamedAttrMap.h&quot;
&gt;  #include &quot;MIMETypeRegistry.h&quot;
&gt; +#include &quot;Pasteboard.h&quot;
&gt;  #include &quot;markup.h&quot;
&gt;  #include &quot;NamedNodeMap.h&quot;
&gt;  #include &quot;PlatformString.h&quot;

nit: includes should be in alphabetical order


&gt; Index: WebCore/platform/chromium/PasteboardChromium.cpp
...
&gt; +bool Pasteboard::isSelectionMode() const
&gt; +{
&gt; +      return m_selectionMode;

nit: indentation should be 4 white spaces


&gt; +void Pasteboard::setSelectionMode(bool selectionMode)
&gt; +{
&gt; +      m_selectionMode = selectionMode;

ditto


&gt;  PassRefPtr&lt;DocumentFragment&gt; Pasteboard::documentFragment(Frame* frame, PassRefPtr&lt;Range&gt; context, bool allowPlainText, bool&amp; chosePlainText)
&gt;  {
&gt;      chosePlainText = false;
&gt; +    PasteboardPrivate::TargetClipboard target = m_selectionMode ?  PasteboardPrivate::PrimarySelection : PasteboardPrivate::Clipboard;

nit: only one space after &quot;?&quot;


&gt; Index: WebCore/platform/chromium/PasteboardPrivate.h
...
&gt; +        enum TargetClipboard {
&gt; +            Clipboard,
&gt; +            PrimarySelection,
&gt; +        };

Please change TargetClipboard to ClipboardTarget to match the naming
convention already in use (like ClipboardFormat).

I would also change the enum values to something like the following:

  SystemTarget
  SelectionTarget

Where SystemTarget refers to the system clipboard and SelectionTarget
refers to the selection clipboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144609</commentid>
    <comment_count>12</comment_count>
      <attachid>39014</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-03 15:26:40 -0700</bug_when>
    <thetext>Created attachment 39014
Handle middle click in Chromium like QT

Address Darin&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144610</commentid>
    <comment_count>13</comment_count>
      <attachid>39014</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 15:45:35 -0700</bug_when>
    <thetext>Comment on attachment 39014
Handle middle click in Chromium like QT

While we&apos;re fixing things, I would prefer &quot;PASS 1 is 1&quot; be something nicer. :)  But if Darin finds the rest of this OK, it&apos;s fine to land. :)

 23     shouldBe(&quot;1&quot;, stringify(pasteCount));

shouldBe(pasteCount, &apos;1&apos;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144624</commentid>
    <comment_count>14</comment_count>
      <attachid>39016</attachid>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-03 16:02:31 -0700</bug_when>
    <thetext>Created attachment 39016
Handle middle click in Chromium like QT

Oops, fix the layout test too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144626</commentid>
    <comment_count>15</comment_count>
      <attachid>39016</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 16:04:47 -0700</bug_when>
    <thetext>Comment on attachment 39016
Handle middle click in Chromium like QT

As far as I can tell you have addressed all of Darin and my concerns.  LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144634</commentid>
    <comment_count>16</comment_count>
      <attachid>39016</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 16:23:11 -0700</bug_when>
    <thetext>Comment on attachment 39016
Handle middle click in Chromium like QT

Clearing flags on attachment: 39016

Committed r48035: &lt;http://trac.webkit.org/changeset/48035&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144635</commentid>
    <comment_count>17</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 16:23:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144845</commentid>
    <comment_count>18</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-04 10:00:26 -0700</bug_when>
    <thetext>This broke Chromium build. Rolling out. Please do not commit two-sided patches like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144848</commentid>
    <comment_count>19</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-04 10:07:18 -0700</bug_when>
    <thetext>Rolled out in http://trac.webkit.org/changeset/48059.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144851</commentid>
    <comment_count>20</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-09-04 10:07:41 -0700</bug_when>
    <thetext>Reopening.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144937</commentid>
    <comment_count>21</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-09-04 15:30:58 -0700</bug_when>
    <thetext>This is commit-queue- because it is waiting for the corresponding chromium change:  http://codereview.chromium.org/174367</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144953</commentid>
    <comment_count>22</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-04 16:49:38 -0700</bug_when>
    <thetext>This is now ready to be committed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144989</commentid>
    <comment_count>23</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-05 01:17:30 -0700</bug_when>
    <thetext>A non-committer (like steve) setting commit-queue+ will sadly just hang the queue.  bug 28605.  I need to fix that so that it will properly cq- bugs in that situation. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145012</commentid>
    <comment_count>24</comment_count>
    <who name="Steve VanDeBogart">vandebo</who>
    <bug_when>2009-09-05 08:42:43 -0700</bug_when>
    <thetext>Oops.  Still getting the hang of this system. I guess I meant to set commit-queue? ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145419</commentid>
    <comment_count>25</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 10:17:20 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Oops.  Still getting the hang of this system. I guess I meant to set
&gt; commit-queue? ?

Yeah.  It&apos;s also totally my fault that cq+ by a non-committer hangs things.  I intend to fix that (bug 28605) today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145452</commentid>
    <comment_count>26</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2009-09-08 10:58:30 -0700</bug_when>
    <thetext>Landed as r48168.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38515</attachid>
            <date>2009-08-24 17:16:46 -0700</date>
            <delta_ts>2009-09-02 13:03:24 -0700</delta_ts>
            <desc>Handle middle click in Chromium like QT</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>5520</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQ3NzMz
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDktMDgt
MjQgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIG1pZGRsZSBjbGlj
ayBpbiBDaHJvbWl1bSBsaWtlIFFUCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTI4Njk2CisKKyAgICAgICAgKiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmg6
CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDbGlwYm9hcmRDaHJvbWl1bTo6Z2V0RGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vY2hy
b21pdW0vUGFzdGVib2FyZENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9h
cmQ6OlBhc3RlYm9hcmQpOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6aXNTZWxlY3Rp
b25Nb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUp
OgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6Y2FuU21hcnRSZXBsYWNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OnBsYWluVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpQ
YXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KToKKwogMjAwOS0wOC0yNCAgTmF0ZSBDaGFwaW4g
IDxqYXBoZXRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVs
LgpJbmRleDogcGxhdGZvcm0vUGFzdGVib2FyZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL1Bh
c3RlYm9hcmQuaAkocmV2aXNpb24gNDczMDUpCisrKyBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmgJKHdv
cmtpbmcgY29weSkKQEAgLTk1LDcgKzk1LDcgQEAgcHVibGljOgogICAgIGJvb2wgY2FuU21hcnRS
ZXBsYWNlKCk7CiAgICAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBkb2N1bWVudEZyYWdt
ZW50KEZyYW1lKiwgUGFzc1JlZlB0cjxSYW5nZT4sIGJvb2wgYWxsb3dQbGFpblRleHQsIGJvb2wm
IGNob3NlUGxhaW5UZXh0KTsKICAgICBTdHJpbmcgcGxhaW5UZXh0KEZyYW1lKiA9IDApOwotI2lm
IFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKFFUKSB8fCBQTEFURk9STShDSFJPTUlVTSkKICAg
ICBib29sIGlzU2VsZWN0aW9uTW9kZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0U2VsZWN0aW9uTW9k
ZShib29sIHNlbGVjdGlvbk1vZGUpOwogI2VuZGlmCkBAIC0xMjEsNyArMTIxLDcgQEAgcHJpdmF0
ZToKICAgICBQYXN0ZWJvYXJkSGVscGVyKiBtX2hlbHBlcjsKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgIGJvb2wg
bV9zZWxlY3Rpb25Nb2RlOwogI2VuZGlmCiAKSW5kZXg6IHBsYXRmb3JtL2Nocm9taXVtL0Nocm9t
aXVtQnJpZGdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1Ccmlk
Z2UuaAkocmV2aXNpb24gNDczMDUpCisrKyBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRn
ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw5ICs2Nyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBDaHJvbWl1bUJyaWRnZSB7CiAgICAgcHVibGljOgogICAgICAgICAvLyBDbGlw
Ym9hcmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQotICAgICAgICBzdGF0aWMgYm9vbCBjbGlwYm9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQ
YXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkRm9ybWF0KTsKKyAgICAgICAgc3RhdGljIGJvb2wg
Y2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkNsaXBib2FyZEZv
cm1hdCwgYm9vbCk7CiAKLSAgICAgICAgc3RhdGljIFN0cmluZyBjbGlwYm9hcmRSZWFkUGxhaW5U
ZXh0KCk7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVhZFBsYWluVGV4dChib29s
KTsKICAgICAgICAgc3RhdGljIHZvaWQgY2xpcGJvYXJkUmVhZEhUTUwoU3RyaW5nKiwgS1VSTCop
OwogCiAgICAgICAgIHN0YXRpYyB2b2lkIGNsaXBib2FyZFdyaXRlU2VsZWN0aW9uKGNvbnN0IFN0
cmluZyYsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBib29sKTsKSW5kZXg6IHBsYXRmb3Jt
L2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9j
aHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDQ3MzA1KQorKysgcGxhdGZv
cm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2
ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTmFtZWRBdHRyTWFw
LmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIlBhc3RlYm9hcmQu
aCIKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtMTE2LDcgKzExNyw4IEBAIFN0cmluZyBDbGlwYm9h
cmRDaHJvbWl1bTo6Z2V0RGF0YShjb25zdCAKICAgICAgICAgaWYgKCFpc0ZvckRyYWdnaW5nKCkp
IHsKICAgICAgICAgICAgIC8vIElmIHRoaXMgaXNuJ3QgZm9yIGEgZHJhZywgaXQncyBmb3IgYSBj
dXQvcGFzdGUgZXZlbnQgaGFuZGxlci4KICAgICAgICAgICAgIC8vIEluIHRoaXMgY2FzZSwgd2Ug
bmVlZCB0byBjaGVjayB0aGUgY2xpcGJvYXJkLgotICAgICAgICAgICAgdGV4dCA9IENocm9taXVt
QnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KCk7CisgICAgICAgICAgICB0ZXh0ID0gQ2hy
b21pdW1CcmlkZ2U6OmNsaXBib2FyZFJlYWRQbGFpblRleHQoCisgICAgICAgICAgICAgICAgUGFz
dGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcmQoKS0+aXNTZWxlY3Rpb25Nb2RlKCkpOwogICAgICAg
ICAgICAgc3VjY2VzcyA9ICF0ZXh0LmlzRW1wdHkoKTsKICAgICAgICAgfSBlbHNlIGlmICghbV9k
YXRhT2JqZWN0LT5wbGFpblRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBzdWNjZXNzID0g
dHJ1ZTsKSW5kZXg6IHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZENocm9taXVtLmNwcAkocmV2
aXNpb24gNDczMDUpCisrKyBwbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkQ2hyb21pdW0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIFBhc3RlYm9hcmQqIFBhc3RlYm9hcmQ6
OmdlbmVyYWxQYXN0ZWJvYXIKIH0KIAogUGFzdGVib2FyZDo6UGFzdGVib2FyZCgpCisgICAgOiBt
X3NlbGVjdGlvbk1vZGUoZmFsc2UpCiB7CiB9CiAKQEAgLTY4LDYgKzY5LDE2IEBAIHZvaWQgUGFz
dGVib2FyZDo6Y2xlYXIoKQogICAgIC8vIHByZXZpb3VzIGNvbnRlbnRzLgogfQogCitib29sIFBh
c3RlYm9hcmQ6OmlzU2VsZWN0aW9uTW9kZSgpIGNvbnN0Cit7CisgICAgICByZXR1cm4gbV9zZWxl
Y3Rpb25Nb2RlOworfQorCit2b2lkIFBhc3RlYm9hcmQ6OnNldFNlbGVjdGlvbk1vZGUoYm9vbCBz
ZWxlY3Rpb25Nb2RlKQoreworICAgICAgbV9zZWxlY3Rpb25Nb2RlID0gc2VsZWN0aW9uTW9kZTsK
K30KKwogdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZVNlbGVjdGlvbihSYW5nZSogc2VsZWN0ZWRSYW5n
ZSwgYm9vbCBjYW5TbWFydENvcHlPckRlbGV0ZSwgRnJhbWUqIGZyYW1lKQogewogICAgIFN0cmlu
ZyBodG1sID0gY3JlYXRlTWFya3VwKHNlbGVjdGVkUmFuZ2UsIDAsIEFubm90YXRlRm9ySW50ZXJj
aGFuZ2UpOwpAQCAtMTM1LDE5ICsxNDYsMTkgQEAgdm9pZCBQYXN0ZWJvYXJkOjp3cml0ZUltYWdl
KE5vZGUqIG5vZGUsIAogYm9vbCBQYXN0ZWJvYXJkOjpjYW5TbWFydFJlcGxhY2UoKQogewogICAg
IHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoCi0gICAg
ICAgIFBhc3RlYm9hcmRQcml2YXRlOjpXZWJTbWFydFBhc3RlRm9ybWF0KTsKKyAgICAgICAgUGFz
dGVib2FyZFByaXZhdGU6OldlYlNtYXJ0UGFzdGVGb3JtYXQsIGZhbHNlKTsKIH0KIAogU3RyaW5n
IFBhc3RlYm9hcmQ6OnBsYWluVGV4dChGcmFtZSogZnJhbWUpCiB7Ci0gICAgcmV0dXJuIENocm9t
aXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KCk7CisgICAgcmV0dXJuIENocm9taXVt
QnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KG1fc2VsZWN0aW9uTW9kZSk7CiB9CiAKIFBh
c3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudChG
cmFtZSogZnJhbWUsIFBhc3NSZWZQdHI8UmFuZ2U+IGNvbnRleHQsIGJvb2wgYWxsb3dQbGFpblRl
eHQsIGJvb2wmIGNob3NlUGxhaW5UZXh0KQogewogICAgIGNob3NlUGxhaW5UZXh0ID0gZmFsc2U7
CiAKLSAgICBpZiAoQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZElzRm9ybWF0QXZhaWxhYmxlKFBh
c3RlYm9hcmRQcml2YXRlOjpIVE1MRm9ybWF0KSkgeworICAgIGlmIChDaHJvbWl1bUJyaWRnZTo6
Y2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkhUTUxGb3JtYXQs
IG1fc2VsZWN0aW9uTW9kZSkpIHsKICAgICAgICAgU3RyaW5nIG1hcmt1cDsKICAgICAgICAgS1VS
TCBzcmNVUkw7CiAgICAgICAgIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkSFRNTCgmbWFy
a3VwLCAmc3JjVVJMKTsKQEAgLTE1OSw3ICsxNzAsNyBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJh
Z21lbnQ+IFBhc3RlYm9hcmQ6CiAgICAgfQogCiAgICAgaWYgKGFsbG93UGxhaW5UZXh0KSB7Ci0g
ICAgICAgIFN0cmluZyBtYXJrdXAgPSBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWlu
VGV4dCgpOworICAgICAgICBTdHJpbmcgbWFya3VwID0gQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2Fy
ZFJlYWRQbGFpblRleHQobV9zZWxlY3Rpb25Nb2RlKTsKICAgICAgICAgaWYgKCFtYXJrdXAuaXNF
bXB0eSgpKSB7CiAgICAgICAgICAgICBjaG9zZVBsYWluVGV4dCA9IHRydWU7CiAK
</data>
<flag name="review"
          id="19756"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38897</attachid>
            <date>2009-09-01 16:50:24 -0700</date>
            <delta_ts>2009-09-02 13:03:24 -0700</delta_ts>
            <desc>Handle middle click in Chromium like QT (try 2)</desc>
            <filename>webcore-ii.patch</filename>
            <type>text/plain</type>
            <size>6559</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQ3OTQ5
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDkt
MDEgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGFuZGxlIG1pZGRsZSBjbGlj
ayBpbiBDaHJvbWl1bSBsaWtlIFFUCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yODY5NgorCisgICAgICAgIFRlc3RlZCBieSBtaWRkbGUtY2xpY2stb25w
YXN0ZS5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0vUGFzdGVib2FyZC5oOgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmg6CisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xpcGJv
YXJkQ2hyb21pdW06OmdldERhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1Bhc3Rl
Ym9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpQYXN0ZWJv
YXJkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmlzU2VsZWN0aW9uTW9kZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpzZXRTZWxlY3Rpb25Nb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNhblNtYXJ0UmVwbGFjZSk6CisgICAgICAgIChXZWJDb3Jl
OjpQYXN0ZWJvYXJkOjpwbGFpblRleHQpOgorICAgICAgICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6
ZG9jdW1lbnRGcmFnbWVudCk6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2Fy
ZFByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmRQcml2YXRlOjopOgorCiAy
MDA5LTA5LTAxICBKaWFuIExpICA8amlhbmxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBwbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gcGxhdGZvcm0vUGFzdGVib2FyZC5oCShyZXZpc2lvbiA0Nzg3MCkKKysrIHBs
YXRmb3JtL1Bhc3RlYm9hcmQuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBjYW5TbWFydFJlcGxhY2UoKTsKICAgICBQYXNzUmVmUHRyPERvY3VtZW50
RnJhZ21lbnQ+IGRvY3VtZW50RnJhZ21lbnQoRnJhbWUqLCBQYXNzUmVmUHRyPFJhbmdlPiwgYm9v
bCBhbGxvd1BsYWluVGV4dCwgYm9vbCYgY2hvc2VQbGFpblRleHQpOwogICAgIFN0cmluZyBwbGFp
blRleHQoRnJhbWUqID0gMCk7Ci0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8
IFBMQVRGT1JNKENIUk9NSVVNKQogICAgIGJvb2wgaXNTZWxlY3Rpb25Nb2RlKCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRTZWxlY3Rpb25Nb2RlKGJvb2wgc2VsZWN0aW9uTW9kZSk7CiAjZW5kaWYKQEAg
LTExOCw3ICsxMTgsNyBAQCBwcml2YXRlOgogICAgIEhXTkQgbV9vd25lcjsKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQog
ICAgIGJvb2wgbV9zZWxlY3Rpb25Nb2RlOwogI2VuZGlmCiAKSW5kZXg6IHBsYXRmb3JtL2Nocm9t
aXVtL0Nocm9taXVtQnJpZGdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcGxhdGZvcm0vY2hyb21pdW0vQ2hy
b21pdW1CcmlkZ2UuaAkocmV2aXNpb24gNDc4NzApCisrKyBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJv
bWl1bUJyaWRnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw5ICs2Nyw5IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBjbGFzcyBDaHJvbWl1bUJyaWRnZSB7CiAgICAgcHVibGljOgogICAgICAg
ICAvLyBDbGlwYm9hcmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQotICAgICAgICBzdGF0aWMgYm9vbCBjbGlwYm9hcmRJc0Zvcm1hdEF2
YWlsYWJsZShQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkRm9ybWF0KTsKKyAgICAgICAgc3Rh
dGljIGJvb2wgY2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkNs
aXBib2FyZEZvcm1hdCwgUGFzdGVib2FyZFByaXZhdGU6OlRhcmdldENsaXBib2FyZCk7CiAKLSAg
ICAgICAgc3RhdGljIFN0cmluZyBjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KCk7CisgICAgICAgIHN0
YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVhZFBsYWluVGV4dChQYXN0ZWJvYXJkUHJpdmF0ZTo6VGFy
Z2V0Q2xpcGJvYXJkKTsKICAgICAgICAgc3RhdGljIHZvaWQgY2xpcGJvYXJkUmVhZEhUTUwoU3Ry
aW5nKiwgS1VSTCopOwogCiAgICAgICAgIHN0YXRpYyB2b2lkIGNsaXBib2FyZFdyaXRlU2VsZWN0
aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmLCBib29sKTsKSW5k
ZXg6IHBsYXRmb3JtL2Nocm9taXVtL0NsaXBib2FyZENocm9taXVtLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBwbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDQ3ODcw
KQorKysgcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
TmFtZWRBdHRyTWFwLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUg
IlBhc3RlYm9hcmQuaCIKICNpbmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlICJOYW1lZE5vZGVN
YXAuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtMTE3LDcgKzExOCwxMSBAQCBT
dHJpbmcgQ2xpcGJvYXJkQ2hyb21pdW06OmdldERhdGEoY29uc3QgCiAgICAgICAgIGlmICghaXNG
b3JEcmFnZ2luZygpKSB7CiAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzbid0IGZvciBhIGRyYWcs
IGl0J3MgZm9yIGEgY3V0L3Bhc3RlIGV2ZW50IGhhbmRsZXIuCiAgICAgICAgICAgICAvLyBJbiB0
aGlzIGNhc2UsIHdlIG5lZWQgdG8gY2hlY2sgdGhlIGNsaXBib2FyZC4KLSAgICAgICAgICAgIHRl
eHQgPSBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dCgpOworICAgICAgICAg
ICAgUGFzdGVib2FyZFByaXZhdGU6OlRhcmdldENsaXBib2FyZCB0YXJnZXQgPSAKKyAgICAgICAg
ICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFsUGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1vZGUo
KSA/CisgICAgICAgICAgICAgICAgUGFzdGVib2FyZFByaXZhdGU6OlByaW1hcnlTZWxlY3Rpb24g
OiAKKyAgICAgICAgICAgICAgICBQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkOworICAgICAg
ICAgICAgdGV4dCA9IENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KHRhcmdl
dCk7CiAgICAgICAgICAgICBzdWNjZXNzID0gIXRleHQuaXNFbXB0eSgpOwogICAgICAgICB9IGVs
c2UgaWYgKCFtX2RhdGFPYmplY3QtPnBsYWluVGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAg
IHN1Y2Nlc3MgPSB0cnVlOwpJbmRleDogcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZENocm9t
aXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkQ2hyb21p
dW0uY3BwCShyZXZpc2lvbiA0Nzg3MCkKKysrIHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRD
aHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgUGFzdGVib2FyZCog
UGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcgogfQogCiBQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJk
KCkKKyAgICA6IG1fc2VsZWN0aW9uTW9kZShmYWxzZSkKIHsKIH0KIApAQCAtNjgsNiArNjksMTYg
QEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVhcigpCiAgICAgLy8gcHJldmlvdXMgY29udGVudHMuCiB9
CiAKK2Jvb2wgUGFzdGVib2FyZDo6aXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QKK3sKKyAgICAgIHJl
dHVybiBtX3NlbGVjdGlvbk1vZGU7Cit9CisKK3ZvaWQgUGFzdGVib2FyZDo6c2V0U2VsZWN0aW9u
TW9kZShib29sIHNlbGVjdGlvbk1vZGUpCit7CisgICAgICBtX3NlbGVjdGlvbk1vZGUgPSBzZWxl
Y3Rpb25Nb2RlOworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKFJhbmdlKiBz
ZWxlY3RlZFJhbmdlLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSogZnJhbWUpCiB7
CiAgICAgU3RyaW5nIGh0bWwgPSBjcmVhdGVNYXJrdXAoc2VsZWN0ZWRSYW5nZSwgMCwgQW5ub3Rh
dGVGb3JJbnRlcmNoYW5nZSk7CkBAIC0xMzUsMTkgKzE0NiwyMCBAQCB2b2lkIFBhc3RlYm9hcmQ6
OndyaXRlSW1hZ2UoTm9kZSogbm9kZSwgCiBib29sIFBhc3RlYm9hcmQ6OmNhblNtYXJ0UmVwbGFj
ZSgpCiB7CiAgICAgcmV0dXJuIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1hdEF2YWls
YWJsZSgKLSAgICAgICAgUGFzdGVib2FyZFByaXZhdGU6OldlYlNtYXJ0UGFzdGVGb3JtYXQpOwor
ICAgICAgICBQYXN0ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCwgUGFzdGVib2Fy
ZFByaXZhdGU6OkNsaXBib2FyZCk7CiB9CiAKIFN0cmluZyBQYXN0ZWJvYXJkOjpwbGFpblRleHQo
RnJhbWUqIGZyYW1lKQogewotICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVh
ZFBsYWluVGV4dCgpOworICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBs
YWluVGV4dChtX3NlbGVjdGlvbk1vZGUgPyBQYXN0ZWJvYXJkUHJpdmF0ZTo6UHJpbWFyeVNlbGVj
dGlvbiA6IFBhc3RlYm9hcmRQcml2YXRlOjpDbGlwYm9hcmQpOwogfQogCiBQYXNzUmVmUHRyPERv
Y3VtZW50RnJhZ21lbnQ+IFBhc3RlYm9hcmQ6OmRvY3VtZW50RnJhZ21lbnQoRnJhbWUqIGZyYW1l
LCBQYXNzUmVmUHRyPFJhbmdlPiBjb250ZXh0LCBib29sIGFsbG93UGxhaW5UZXh0LCBib29sJiBj
aG9zZVBsYWluVGV4dCkKIHsKICAgICBjaG9zZVBsYWluVGV4dCA9IGZhbHNlOworICAgIFBhc3Rl
Ym9hcmRQcml2YXRlOjpUYXJnZXRDbGlwYm9hcmQgdGFyZ2V0ID0gbV9zZWxlY3Rpb25Nb2RlID8g
IFBhc3RlYm9hcmRQcml2YXRlOjpQcmltYXJ5U2VsZWN0aW9uIDogUGFzdGVib2FyZFByaXZhdGU6
OkNsaXBib2FyZDsKIAotICAgIGlmIChDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkSXNGb3JtYXRB
dmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkhUTUxGb3JtYXQpKSB7CisgICAgaWYgKENocm9t
aXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQYXN0ZWJvYXJkUHJpdmF0ZTo6
SFRNTEZvcm1hdCwgdGFyZ2V0KSkgewogICAgICAgICBTdHJpbmcgbWFya3VwOwogICAgICAgICBL
VVJMIHNyY1VSTDsKICAgICAgICAgQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZFJlYWRIVE1MKCZt
YXJrdXAsICZzcmNVUkwpOwpAQCAtMTU5LDcgKzE3MSw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gUGFzdGVib2FyZDoKICAgICB9CiAKICAgICBpZiAoYWxsb3dQbGFpblRleHQpIHsK
LSAgICAgICAgU3RyaW5nIG1hcmt1cCA9IENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxh
aW5UZXh0KCk7CisgICAgICAgIFN0cmluZyBtYXJrdXAgPSBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJv
YXJkUmVhZFBsYWluVGV4dCh0YXJnZXQpOwogICAgICAgICBpZiAoIW1hcmt1cC5pc0VtcHR5KCkp
IHsKICAgICAgICAgICAgIGNob3NlUGxhaW5UZXh0ID0gdHJ1ZTsKIApJbmRleDogcGxhdGZvcm0v
Y2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBwbGF0Zm9ybS9jaHJv
bWl1bS9QYXN0ZWJvYXJkUHJpdmF0ZS5oCShyZXZpc2lvbiA0Nzg3MCkKKysrIHBsYXRmb3JtL2No
cm9taXVtL1Bhc3RlYm9hcmRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDEw
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIEJvb2ttYXJrRm9ybWF0LAogICAg
ICAgICAgICAgV2ViU21hcnRQYXN0ZUZvcm1hdCwKICAgICAgICAgfTsKKyAgICAgICAgZW51bSBU
YXJnZXRDbGlwYm9hcmQgeworICAgICAgICAgICAgQ2xpcGJvYXJkLAorICAgICAgICAgICAgUHJp
bWFyeVNlbGVjdGlvbiwKKyAgICAgICAgfTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38898</attachid>
            <date>2009-09-01 16:51:08 -0700</date>
            <delta_ts>2009-09-02 13:03:24 -0700</delta_ts>
            <desc>Layout test to test that middle click triggers the onpaste event</desc>
            <filename>layout-test.patch</filename>
            <type>text/plain</type>
            <size>2353</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQ3OTQ5
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDktMDkt
MDEgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hlY2sgdGhhdCBtaWRkbGUg
Y2xpY2sgdHJpZ2dlcnMgYW4gb25wYXN0ZSBldmVudCBpbiBMaW51eC4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4Njk2CisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJkOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZWRpdGluZy9wYXN0ZWJvYXJkL21pZGRsZS1jbGljay1vbnBhc3RlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUt
Y2xpY2stb25wYXN0ZS5odG1sOiBBZGRlZC4KKwogMjAwOS0wOS0wMSAgVmljdG9yIFdhbmcgIDx2
aWN0b3J3QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
SW5kZXg6IHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxlLWNsaWNrLW9ucGFz
dGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvbWlkZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
cGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUtY2xpY2stb25wYXN0ZS1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKK1BBU1MKSW5kZXg6IHBsYXRmb3Jt
L2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxlLWNsaWNrLW9ucGFzdGUuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBwbGF0Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJkL21pZGRsZS1jbGljay1vbnBh
c3RlLmh0bWwJKHJldmlzaW9uIDApCisrKyBwbGF0Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJk
L21pZGRsZS1jbGljay1vbnBhc3RlLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzUgQEAK
KzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCBzcmM9Li4vZWRpdGluZy5qcyBsYW5ndWFnZT0i
SmF2YVNjcmlwdCIgdHlwZT0idGV4dC9KYXZhU2NyaXB0IiA+PC9zY3JpcHQ+CisgICAgPHNjcmlw
dD4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG0pIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbTsKKyAgICAgICAgfQorCisgICAgICAg
IGZ1bmN0aW9uIGdvdFBhc3RlKGUpIHsKKyAgICAgICAgICAgIGxvZygiUEFTUzxCUj4iKTsKKyAg
ICAgICAgfQorCisgICAgICAgIGZ1bmN0aW9uIGVkaXRpbmdUZXN0KCkgeworICAgICAgICAgICAg
dmFyIHRlc3RGaWVsZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZicpOworICAgICAgICAg
ICAgdGVzdEZpZWxkLm9ucGFzdGUgPSBnb3RQYXN0ZTsKKworICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKHRlc3RGaWVsZC5vZmZzZXRMZWZ0ICsgNSwgCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGVzdEZpZWxkLm9mZnNldFRvcCArIDUpOworICAgICAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigxKTsKKyAgICAgICAgICAgICAgICBldmVudFNlbmRl
ci5tb3VzZVVwKDEpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBsb2co
JzxwPk1pZGRsZSBjbGlja2luZyBpbiB0aGUgYm94IHNob3VsZCB5aWVsZCBhICJQQVNTIiBtZXNz
YWdlLjwvcD4nKTsgCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwv
aGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9ImVkaXRpbmdUZXN0KCk7Ij4KKyAgICAgICAgPGlucHV0
IHR5cGU9InRleHQiIGlkPSJ0ZiI+CisgICAgICAgIDxkaXYgaWQ9InJlc3VsdCI+CisgICAgPC9i
b2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38938</attachid>
            <date>2009-09-02 13:03:24 -0700</date>
            <delta_ts>2009-09-03 15:27:20 -0700</delta_ts>
            <desc>Handle middle click in Chromium like QT (including updated layout test)</desc>
            <filename>webkit.patch</filename>
            <type>text/plain</type>
            <size>10826</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Nzk0OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMDEgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSGFuZGxlIG1pZGRsZSBjbGljayBpbiBDaHJvbWl1bSBsaWtlIFFUCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY5NgorCisgICAgICAgIFRl
c3RlZCBieSBtaWRkbGUtY2xpY2stb25wYXN0ZS5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0v
UGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkQ2hyb21pdW06OmdldERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9h
cmQ6OmlzU2VsZWN0aW9uTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpzZXRT
ZWxlY3Rpb25Nb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNhblNtYXJ0UmVw
bGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpwbGFpblRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
c3RlYm9hcmRQcml2YXRlOjopOgorCiAyMDA5LTA5LTAxICBKaWFuIExpICA8amlhbmxpQGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRm
b3JtL1Bhc3RlYm9hcmQuaAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL1Bh
c3RlYm9hcmQuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsNyArOTUsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBjYW5TbWFydFJlcGxhY2UoKTsKICAgICBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+
IGRvY3VtZW50RnJhZ21lbnQoRnJhbWUqLCBQYXNzUmVmUHRyPFJhbmdlPiwgYm9vbCBhbGxvd1Bs
YWluVGV4dCwgYm9vbCYgY2hvc2VQbGFpblRleHQpOwogICAgIFN0cmluZyBwbGFpblRleHQoRnJh
bWUqID0gMCk7Ci0jaWYgUExBVEZPUk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JN
KENIUk9NSVVNKQogICAgIGJvb2wgaXNTZWxlY3Rpb25Nb2RlKCkgY29uc3Q7CiAgICAgdm9pZCBz
ZXRTZWxlY3Rpb25Nb2RlKGJvb2wgc2VsZWN0aW9uTW9kZSk7CiAjZW5kaWYKQEAgLTExOCw3ICsx
MTgsNyBAQCBwcml2YXRlOgogICAgIEhXTkQgbV9vd25lcjsKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oUVQpCisjaWYgUExBVEZPUk0oUVQpIHx8IFBMQVRGT1JNKENIUk9NSVVNKQogICAgIGJvb2wg
bV9zZWxlY3Rpb25Nb2RlOwogI2VuZGlmCiAKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vQ2hyb21pdW1CcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9t
aXVtL0Nocm9taXVtQnJpZGdlLmgJKHJldmlzaW9uIDQ3ODcwKQorKysgV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02Nyw5ICs2Nyw5
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBDaHJvbWl1bUJyaWRnZSB7CiAgICAg
cHVibGljOgogICAgICAgICAvLyBDbGlwYm9hcmQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICAgICAgICBzdGF0aWMgYm9vbCBjbGlw
Ym9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkRm9ybWF0
KTsKKyAgICAgICAgc3RhdGljIGJvb2wgY2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVi
b2FyZFByaXZhdGU6OkNsaXBib2FyZEZvcm1hdCwgUGFzdGVib2FyZFByaXZhdGU6OlRhcmdldENs
aXBib2FyZCk7CiAKLSAgICAgICAgc3RhdGljIFN0cmluZyBjbGlwYm9hcmRSZWFkUGxhaW5UZXh0
KCk7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVhZFBsYWluVGV4dChQYXN0ZWJv
YXJkUHJpdmF0ZTo6VGFyZ2V0Q2xpcGJvYXJkKTsKICAgICAgICAgc3RhdGljIHZvaWQgY2xpcGJv
YXJkUmVhZEhUTUwoU3RyaW5nKiwgS1VSTCopOwogCiAgICAgICAgIHN0YXRpYyB2b2lkIGNsaXBi
b2FyZFdyaXRlU2VsZWN0aW9uKGNvbnN0IFN0cmluZyYsIGNvbnN0IEtVUkwmLCBjb25zdCBTdHJp
bmcmLCBib29sKTsKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hy
b21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJv
YXJkQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA0Nzg3MCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3
IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiTmFtZWRBdHRyTWFwLmgiCiAj
aW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIlBhc3RlYm9hcmQuaCIKICNp
bmNsdWRlICJtYXJrdXAuaCIKICNpbmNsdWRlICJOYW1lZE5vZGVNYXAuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgpAQCAtMTE3LDcgKzExOCwxMSBAQCBTdHJpbmcgQ2xpcGJvYXJkQ2hy
b21pdW06OmdldERhdGEoY29uc3QgCiAgICAgICAgIGlmICghaXNGb3JEcmFnZ2luZygpKSB7CiAg
ICAgICAgICAgICAvLyBJZiB0aGlzIGlzbid0IGZvciBhIGRyYWcsIGl0J3MgZm9yIGEgY3V0L3Bh
c3RlIGV2ZW50IGhhbmRsZXIuCiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIG5lZWQg
dG8gY2hlY2sgdGhlIGNsaXBib2FyZC4KLSAgICAgICAgICAgIHRleHQgPSBDaHJvbWl1bUJyaWRn
ZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dCgpOworICAgICAgICAgICAgUGFzdGVib2FyZFByaXZh
dGU6OlRhcmdldENsaXBib2FyZCB0YXJnZXQgPSAKKyAgICAgICAgICAgICAgICBQYXN0ZWJvYXJk
OjpnZW5lcmFsUGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1vZGUoKSA/CisgICAgICAgICAgICAg
ICAgUGFzdGVib2FyZFByaXZhdGU6OlByaW1hcnlTZWxlY3Rpb24gOiAKKyAgICAgICAgICAgICAg
ICBQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkOworICAgICAgICAgICAgdGV4dCA9IENocm9t
aXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KHRhcmdldCk7CiAgICAgICAgICAgICBz
dWNjZXNzID0gIXRleHQuaXNFbXB0eSgpOwogICAgICAgICB9IGVsc2UgaWYgKCFtX2RhdGFPYmpl
Y3QtPnBsYWluVGV4dC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlOwpJ
bmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkQ2hyb21pdW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZENocm9taXVt
LmNwcAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3Rl
Ym9hcmRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDcgQEAgUGFzdGVi
b2FyZCogUGFzdGVib2FyZDo6Z2VuZXJhbFBhc3RlYm9hcgogfQogCiBQYXN0ZWJvYXJkOjpQYXN0
ZWJvYXJkKCkKKyAgICA6IG1fc2VsZWN0aW9uTW9kZShmYWxzZSkKIHsKIH0KIApAQCAtNjgsNiAr
NjksMTYgQEAgdm9pZCBQYXN0ZWJvYXJkOjpjbGVhcigpCiAgICAgLy8gcHJldmlvdXMgY29udGVu
dHMuCiB9CiAKK2Jvb2wgUGFzdGVib2FyZDo6aXNTZWxlY3Rpb25Nb2RlKCkgY29uc3QKK3sKKyAg
ICAgIHJldHVybiBtX3NlbGVjdGlvbk1vZGU7Cit9CisKK3ZvaWQgUGFzdGVib2FyZDo6c2V0U2Vs
ZWN0aW9uTW9kZShib29sIHNlbGVjdGlvbk1vZGUpCit7CisgICAgICBtX3NlbGVjdGlvbk1vZGUg
PSBzZWxlY3Rpb25Nb2RlOworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKFJh
bmdlKiBzZWxlY3RlZFJhbmdlLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSogZnJh
bWUpCiB7CiAgICAgU3RyaW5nIGh0bWwgPSBjcmVhdGVNYXJrdXAoc2VsZWN0ZWRSYW5nZSwgMCwg
QW5ub3RhdGVGb3JJbnRlcmNoYW5nZSk7CkBAIC0xMzUsMTkgKzE0NiwyMCBAQCB2b2lkIFBhc3Rl
Ym9hcmQ6OndyaXRlSW1hZ2UoTm9kZSogbm9kZSwgCiBib29sIFBhc3RlYm9hcmQ6OmNhblNtYXJ0
UmVwbGFjZSgpCiB7CiAgICAgcmV0dXJuIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1h
dEF2YWlsYWJsZSgKLSAgICAgICAgUGFzdGVib2FyZFByaXZhdGU6OldlYlNtYXJ0UGFzdGVGb3Jt
YXQpOworICAgICAgICBQYXN0ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCwgUGFz
dGVib2FyZFByaXZhdGU6OkNsaXBib2FyZCk7CiB9CiAKIFN0cmluZyBQYXN0ZWJvYXJkOjpwbGFp
blRleHQoRnJhbWUqIGZyYW1lKQogewotICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJv
YXJkUmVhZFBsYWluVGV4dCgpOworICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJk
UmVhZFBsYWluVGV4dChtX3NlbGVjdGlvbk1vZGUgPyBQYXN0ZWJvYXJkUHJpdmF0ZTo6UHJpbWFy
eVNlbGVjdGlvbiA6IFBhc3RlYm9hcmRQcml2YXRlOjpDbGlwYm9hcmQpOwogfQogCiBQYXNzUmVm
UHRyPERvY3VtZW50RnJhZ21lbnQ+IFBhc3RlYm9hcmQ6OmRvY3VtZW50RnJhZ21lbnQoRnJhbWUq
IGZyYW1lLCBQYXNzUmVmUHRyPFJhbmdlPiBjb250ZXh0LCBib29sIGFsbG93UGxhaW5UZXh0LCBi
b29sJiBjaG9zZVBsYWluVGV4dCkKIHsKICAgICBjaG9zZVBsYWluVGV4dCA9IGZhbHNlOworICAg
IFBhc3RlYm9hcmRQcml2YXRlOjpUYXJnZXRDbGlwYm9hcmQgdGFyZ2V0ID0gbV9zZWxlY3Rpb25N
b2RlID8gIFBhc3RlYm9hcmRQcml2YXRlOjpQcmltYXJ5U2VsZWN0aW9uIDogUGFzdGVib2FyZFBy
aXZhdGU6OkNsaXBib2FyZDsKIAotICAgIGlmIChDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkSXNG
b3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkhUTUxGb3JtYXQpKSB7CisgICAgaWYg
KENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQYXN0ZWJvYXJkUHJp
dmF0ZTo6SFRNTEZvcm1hdCwgdGFyZ2V0KSkgewogICAgICAgICBTdHJpbmcgbWFya3VwOwogICAg
ICAgICBLVVJMIHNyY1VSTDsKICAgICAgICAgQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZFJlYWRI
VE1MKCZtYXJrdXAsICZzcmNVUkwpOwpAQCAtMTU5LDcgKzE3MSw3IEBAIFBhc3NSZWZQdHI8RG9j
dW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDoKICAgICB9CiAKICAgICBpZiAoYWxsb3dQbGFpblRl
eHQpIHsKLSAgICAgICAgU3RyaW5nIG1hcmt1cCA9IENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRS
ZWFkUGxhaW5UZXh0KCk7CisgICAgICAgIFN0cmluZyBtYXJrdXAgPSBDaHJvbWl1bUJyaWRnZTo6
Y2xpcGJvYXJkUmVhZFBsYWluVGV4dCh0YXJnZXQpOwogICAgICAgICBpZiAoIW1hcmt1cC5pc0Vt
cHR5KCkpIHsKICAgICAgICAgICAgIGNob3NlUGxhaW5UZXh0ID0gdHJ1ZTsKIApJbmRleDogV2Vi
Q29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkUHJpdmF0ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUuaAkocmV2aXNpb24g
NDc4NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRQcml2YXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgICAgIEJvb2ttYXJrRm9ybWF0LAogICAgICAgICAgICAgV2ViU21hcnRQYXN0ZUZvcm1h
dCwKICAgICAgICAgfTsKKyAgICAgICAgZW51bSBUYXJnZXRDbGlwYm9hcmQgeworICAgICAgICAg
ICAgQ2xpcGJvYXJkLAorICAgICAgICAgICAgUHJpbWFyeVNlbGVjdGlvbiwKKyAgICAgICAgfTsK
ICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA0Nzk4
NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3
IEBACisyMDA5LTA5LTAyICBTdGV2ZSBWYW5EZUJvZ2FydCAgPHZhbmRlYm9AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNr
IHRoYXQgbWlkZGxlIGNsaWNrIHRyaWdnZXJzIGFuIG9ucGFzdGUgZXZlbnQgaW4gTGludXguCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY5NgorCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUtY2xpY2stb25wYXN0ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3Rl
Ym9hcmQvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZWRpdGluZy9w
YXN0ZWJvYXJkL3Jlc291cmNlcy9URU1QTEFURS5odG1sOiBDb3BpZWQgZnJvbSB0cmF2ZXJzYWwv
cmVzb3VyY2VzL1RFTVBMQVRFLmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcv
cGFzdGVib2FyZC9yZXNvdXJjZXMvbWlkZGxlLWNsaWNrLW9ucGFzdGUuanM6IEFkZGVkLgorICAg
ICAgICAoaGFuZGxlUGFzdGUpOgorCiAyMDA5LTA5LTAyICBCZW4gTXVyZG9jaCAgPGJlbm1AZ29v
Z2xlLmNvbT4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9Mjg3MzcKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9h
cmQvbWlkZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxlLWNsaWNrLW9ucGFz
dGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUtY2xpY2stb25wYXN0ZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IG1pZGRsZSBjbGljayB0cmlnZ2Vy
cyB0aGUgb25wYXN0ZSBldmVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFT
UyAxIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNv
dXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcy9URU1QTEFURS5odG1sCShyZXZpc2lvbiA0
Nzg3MCkJKGZyb20gLi4vLi4vLi4vLi4vLi4vLi4vLi4vaHR0cDovc3ZuLndlYmtpdC5vcmcvcmVw
b3NpdG9yeS93ZWJraXQvdHJ1bmsvTGF5b3V0VGVzdHMvdHJhdmVyc2FsL3Jlc291cmNlcy9URU1Q
TEFURS5odG1sOjQ3ODcwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFz
dGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkod29ya2luZyBjb3B5KQpJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExB
VEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9w
YXN0ZWJvYXJkL3Jlc291cmNlcy9URU1QTEFURS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUu
aHRtbAkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMSwxMyBAQAogPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgogPGh0bWw+CiA8aGVhZD4KLTxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
PgotPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uLy4uL2Zh
c3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CiA8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KIDxz
Y3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgogPC9ib2R5PgogPC9odG1sPgoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbApfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCkFkZGVkOiBzdm46bWVyZ2VpbmZvCgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvbWlkZGxlLWNsaWNrLW9ucGFzdGUuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2Fy
ZC9yZXNvdXJjZXMvbWlkZGxlLWNsaWNrLW9ucGFzdGUuanMJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcy9taWRkbGUt
Y2xpY2stb25wYXN0ZS5qcwkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNiBAQAorZGVzY3JpcHRp
b24oJ1Rlc3QgdGhhdCBtaWRkbGUgY2xpY2sgdHJpZ2dlcnMgdGhlIG9ucGFzdGUgZXZlbnQnKTsK
KwordmFyIHBhc3RlQ291bnQgPSAwOworCitmdW5jdGlvbiBoYW5kbGVQYXN0ZShldmVudE9iaikK
K3sKKyAgICBwYXN0ZUNvdW50Kys7Cit9CisKK3ZhciB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZGVzY3JpcHRpb24iKTsKK3RhcmdldC5vbnBhc3RlID0gaGFuZGxlUGFzdGU7CisK
K2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCit7CisgICAgbGF5b3V0VGVzdENvbnRy
b2xsZXIuZHVtcEFzVGV4dCgpOworICAgIHZhciB4ID0gdGFyZ2V0Lm9mZnNldFBhcmVudC5vZmZz
ZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldExlZnQgKyAKKyAgICAgICAgdGFyZ2V0Lm9mZnNldFdpZHRo
IC8gMjsKKyAgICB2YXIgeSA9IHRhcmdldC5vZmZzZXRQYXJlbnQub2Zmc2V0VG9wICsgdGFyZ2V0
Lm9mZnNldFRvcCArIAorICAgICAgICB0YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMjsKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyh4LCB5KTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oMSk7
CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgxKTsKKyAgICBzaG91bGRCZSgiMSIsIHN0cmluZ2lm
eShwYXN0ZUNvdW50KSk7Cit9CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwo=
</data>
<flag name="review"
          id="19943"
          type_id="1"
          status="-"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="19947"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39014</attachid>
            <date>2009-09-03 15:26:40 -0700</date>
            <delta_ts>2009-09-03 16:02:31 -0700</delta_ts>
            <desc>Handle middle click in Chromium like QT</desc>
            <filename>webkit-iii.patch</filename>
            <type>text/plain</type>
            <size>10704</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODAzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMDMgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSGFuZGxlIG1pZGRsZSBjbGljayBpbiBDaHJvbWl1bSBsaWtlIFFUCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY5NgorCisgICAgICAgIFRl
c3RlZCBieSBtaWRkbGUtY2xpY2stb25wYXN0ZS5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0v
UGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkQ2hyb21pdW06OmdldERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9h
cmQ6OmlzU2VsZWN0aW9uTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpzZXRT
ZWxlY3Rpb25Nb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNhblNtYXJ0UmVw
bGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpwbGFpblRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
c3RlYm9hcmRQcml2YXRlOjopOgorCiAyMDA5LTA5LTAzICBLZXZpbiBXYXR0ZXJzICA8a2V2aW53
YXR0ZXJzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZpbiBPbGxpdmllci4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCShyZXZpc2lvbiA0Nzg3MCkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGNhblNtYXJ0UmVwbGFjZSgpOwogICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZG9jdW1lbnRGcmFnbWVudChGcmFtZSosIFBhc3NSZWZQdHI8UmFuZ2U+LCBib29s
IGFsbG93UGxhaW5UZXh0LCBib29sJiBjaG9zZVBsYWluVGV4dCk7CiAgICAgU3RyaW5nIHBsYWlu
VGV4dChGcmFtZSogPSAwKTsKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkgfHwg
UExBVEZPUk0oQ0hST01JVU0pCiAgICAgYm9vbCBpc1NlbGVjdGlvbk1vZGUoKSBjb25zdDsKICAg
ICB2b2lkIHNldFNlbGVjdGlvbk1vZGUoYm9vbCBzZWxlY3Rpb25Nb2RlKTsKICNlbmRpZgpAQCAt
MTE4LDcgKzExOCw3IEBAIHByaXZhdGU6CiAgICAgSFdORCBtX293bmVyOwogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAg
ICAgYm9vbCBtX3NlbGVjdGlvbk1vZGU7CiAjZW5kaWYKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDExICs2NywxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2hyb21pdW1Ccmlk
Z2UgewogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ2xpcGJvYXJkIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgc3RhdGlj
IGJvb2wgY2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkNsaXBi
b2FyZEZvcm1hdCk7CisgICAgICAgIHN0YXRpYyBib29sIGNsaXBib2FyZElzRm9ybWF0QXZhaWxh
YmxlKFBhc3RlYm9hcmRQcml2YXRlOjpDbGlwYm9hcmRGb3JtYXQsIFBhc3RlYm9hcmRQcml2YXRl
OjpDbGlwYm9hcmRCdWZmZXIpOwogCi0gICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVh
ZFBsYWluVGV4dCgpOwotICAgICAgICBzdGF0aWMgdm9pZCBjbGlwYm9hcmRSZWFkSFRNTChTdHJp
bmcqLCBLVVJMKik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVhZFBsYWluVGV4
dChQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyKTsKKyAgICAgICAgc3RhdGljIHZv
aWQgY2xpcGJvYXJkUmVhZEhUTUwoUGFzdGVib2FyZFByaXZhdGU6OkNsaXBib2FyZEJ1ZmZlciwg
U3RyaW5nKiwgS1VSTCopOwogCisgICAgICAgIC8vIE9ubHkgdGhlIGNsaXBib2FyZFJlYWQgZnVu
Y3Rpb25zIHRha2UgYSBidWZmZXIgYXJndW1lbnQgYmVjYXVzZSAKKyAgICAgICAgLy8gQ2hyb21p
dW0gY3VycmVudGx5IHVzZXMgYSBkaWZmZXJlbnQgdGVjaG5pcXVlIHRvIHdyaXRlIHRvIGFsdGVy
bmF0ZQorICAgICAgICAvLyBjbGlwYm9hcmQgYnVmZmVycy4KICAgICAgICAgc3RhdGljIHZvaWQg
Y2xpcGJvYXJkV3JpdGVTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgS1VSTCYsIGNvbnN0
IFN0cmluZyYsIGJvb2wpOwogICAgICAgICBzdGF0aWMgdm9pZCBjbGlwYm9hcmRXcml0ZVVSTChj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIHN0YXRpYyB2b2lkIGNsaXBib2Fy
ZFdyaXRlSW1hZ2UoY29uc3QgTmF0aXZlSW1hZ2VTa2lhKiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0
cmluZyYpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDQ3ODcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5j
bHVkZSAiTmFtZWROb2RlTWFwLmgiCisjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJJ
bWFnZS5oIgpAQCAtMTE3LDcgKzExOCwxMSBAQCBTdHJpbmcgQ2xpcGJvYXJkQ2hyb21pdW06Omdl
dERhdGEoY29uc3QgCiAgICAgICAgIGlmICghaXNGb3JEcmFnZ2luZygpKSB7CiAgICAgICAgICAg
ICAvLyBJZiB0aGlzIGlzbid0IGZvciBhIGRyYWcsIGl0J3MgZm9yIGEgY3V0L3Bhc3RlIGV2ZW50
IGhhbmRsZXIuCiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIG5lZWQgdG8gY2hlY2sg
dGhlIGNsaXBib2FyZC4KLSAgICAgICAgICAgIHRleHQgPSBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJv
YXJkUmVhZFBsYWluVGV4dCgpOworICAgICAgICAgICAgUGFzdGVib2FyZFByaXZhdGU6OkNsaXBi
b2FyZEJ1ZmZlciBidWZmZXIgPSAKKyAgICAgICAgICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFs
UGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1vZGUoKSA/CisgICAgICAgICAgICAgICAgUGFzdGVi
b2FyZFByaXZhdGU6OlNlbGVjdGlvbkJ1ZmZlciA6IAorICAgICAgICAgICAgICAgIFBhc3RlYm9h
cmRQcml2YXRlOjpTdGFuZGFyZEJ1ZmZlcjsKKyAgICAgICAgICAgIHRleHQgPSBDaHJvbWl1bUJy
aWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dChidWZmZXIpOwogICAgICAgICAgICAgc3VjY2Vz
cyA9ICF0ZXh0LmlzRW1wdHkoKTsKICAgICAgICAgfSBlbHNlIGlmICghbV9kYXRhT2JqZWN0LT5w
bGFpblRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBzdWNjZXNzID0gdHJ1ZTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZENocm9taXVtLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAJ
KHJldmlzaW9uIDQ3ODcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJk
Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIFBhc3RlYm9hcmQq
IFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXIKIH0KIAogUGFzdGVib2FyZDo6UGFzdGVib2Fy
ZCgpCisgICAgOiBtX3NlbGVjdGlvbk1vZGUoZmFsc2UpCiB7CiB9CiAKQEAgLTY4LDYgKzY5LDE2
IEBAIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoKQogICAgIC8vIHByZXZpb3VzIGNvbnRlbnRzLgog
fQogCitib29sIFBhc3RlYm9hcmQ6OmlzU2VsZWN0aW9uTW9kZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2VsZWN0aW9uTW9kZTsKK30KKwordm9pZCBQYXN0ZWJvYXJkOjpzZXRTZWxlY3Rpb25N
b2RlKGJvb2wgc2VsZWN0aW9uTW9kZSkKK3sKKyAgICBtX3NlbGVjdGlvbk1vZGUgPSBzZWxlY3Rp
b25Nb2RlOworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKFJhbmdlKiBzZWxl
Y3RlZFJhbmdlLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSogZnJhbWUpCiB7CiAg
ICAgU3RyaW5nIGh0bWwgPSBjcmVhdGVNYXJrdXAoc2VsZWN0ZWRSYW5nZSwgMCwgQW5ub3RhdGVG
b3JJbnRlcmNoYW5nZSk7CkBAIC0xMzQsMjMgKzE0NSwyMyBAQCB2b2lkIFBhc3RlYm9hcmQ6Ondy
aXRlSW1hZ2UoTm9kZSogbm9kZSwgCiAKIGJvb2wgUGFzdGVib2FyZDo6Y2FuU21hcnRSZXBsYWNl
KCkKIHsKLSAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZElzRm9ybWF0QXZhaWxh
YmxlKAotICAgICAgICBQYXN0ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCk7Cisg
ICAgcmV0dXJuIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQYXN0
ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCwgbV9zZWxlY3Rpb25Nb2RlID8gUGFz
dGVib2FyZFByaXZhdGU6OlNlbGVjdGlvbkJ1ZmZlciA6IFBhc3RlYm9hcmRQcml2YXRlOjpTdGFu
ZGFyZEJ1ZmZlcik7CiB9CiAKIFN0cmluZyBQYXN0ZWJvYXJkOjpwbGFpblRleHQoRnJhbWUqIGZy
YW1lKQogewotICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4
dCgpOworICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dCht
X3NlbGVjdGlvbk1vZGUgPyBQYXN0ZWJvYXJkUHJpdmF0ZTo6U2VsZWN0aW9uQnVmZmVyIDogUGFz
dGVib2FyZFByaXZhdGU6OlN0YW5kYXJkQnVmZmVyKTsKIH0KIAogUGFzc1JlZlB0cjxEb2N1bWVu
dEZyYWdtZW50PiBQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KEZyYW1lKiBmcmFtZSwgUGFz
c1JlZlB0cjxSYW5nZT4gY29udGV4dCwgYm9vbCBhbGxvd1BsYWluVGV4dCwgYm9vbCYgY2hvc2VQ
bGFpblRleHQpCiB7CiAgICAgY2hvc2VQbGFpblRleHQgPSBmYWxzZTsKKyAgICBQYXN0ZWJvYXJk
UHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyIGJ1ZmZlciA9IG1fc2VsZWN0aW9uTW9kZSA/IFBhc3Rl
Ym9hcmRQcml2YXRlOjpTZWxlY3Rpb25CdWZmZXIgOiBQYXN0ZWJvYXJkUHJpdmF0ZTo6U3RhbmRh
cmRCdWZmZXI7CiAKLSAgICBpZiAoQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZElzRm9ybWF0QXZh
aWxhYmxlKFBhc3RlYm9hcmRQcml2YXRlOjpIVE1MRm9ybWF0KSkgeworICAgIGlmIChDaHJvbWl1
bUJyaWRnZTo6Y2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkhU
TUxGb3JtYXQsIGJ1ZmZlcikpIHsKICAgICAgICAgU3RyaW5nIG1hcmt1cDsKICAgICAgICAgS1VS
TCBzcmNVUkw7Ci0gICAgICAgIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkSFRNTCgmbWFy
a3VwLCAmc3JjVVJMKTsKKyAgICAgICAgQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZFJlYWRIVE1M
KGJ1ZmZlciwgJm1hcmt1cCwgJnNyY1VSTCk7CiAKICAgICAgICAgUmVmUHRyPERvY3VtZW50RnJh
Z21lbnQ+IGZyYWdtZW50ID0KICAgICAgICAgICAgIGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cChm
cmFtZS0+ZG9jdW1lbnQoKSwgbWFya3VwLCBzcmNVUkwpOwpAQCAtMTU5LDcgKzE3MCw3IEBAIFBh
c3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDoKICAgICB9CiAKICAgICBpZiAo
YWxsb3dQbGFpblRleHQpIHsKLSAgICAgICAgU3RyaW5nIG1hcmt1cCA9IENocm9taXVtQnJpZGdl
OjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KCk7CisgICAgICAgIFN0cmluZyBtYXJrdXAgPSBDaHJv
bWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dChidWZmZXIpOwogICAgICAgICBpZiAo
IW1hcmt1cC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNob3NlUGxhaW5UZXh0ID0gdHJ1ZTsK
IApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUu
aAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9h
cmRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgICAgIEJvb2ttYXJrRm9ybWF0LAogICAgICAgICAgICAgV2ViU21h
cnRQYXN0ZUZvcm1hdCwKICAgICAgICAgfTsKKyAgICAgICAgZW51bSBDbGlwYm9hcmRCdWZmZXIg
eworICAgICAgICAgICAgU3RhbmRhcmRCdWZmZXIsCisgICAgICAgICAgICBTZWxlY3Rpb25CdWZm
ZXIsCisgICAgICAgIH07CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNDgwMzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wOS0wMyAgU3RldmUgVmFuRGVCb2dhcnQgIDx2YW5k
ZWJvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGVjayB0aGF0IG1pZGRsZSBjbGljayB0cmlnZ2VycyBhbiBvbnBhc3RlIGV2
ZW50IGluIExpbnV4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mjg2OTYKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxl
LWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvbWlk
ZGxlLWNsaWNrLW9ucGFzdGUuanM6IEFkZGVkLgorICAgICAgICAoaGFuZGxlUGFzdGUpOgorCiAy
MDA5LTA5LTAzICBEcmV3IFdpbHNvbiAgPGF0d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGF2ZSBMZXZpbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9l
ZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlk
ZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUtY2xpY2stb25wYXN0ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IG1pZGRs
ZSBjbGljayB0cmlnZ2VycyB0aGUgb25wYXN0ZSBldmVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyAxIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcv
cGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcy9URU1QTEFURS5o
dG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFz
dGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vLi4vLi4vZmFz
dC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0
aW5nL3Bhc3RlYm9hcmQvcmVzb3VyY2VzL21pZGRsZS1jbGljay1vbnBhc3RlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvcmVzb3Vy
Y2VzL21pZGRsZS1jbGljay1vbnBhc3RlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvbWlkZGxlLWNsaWNrLW9u
cGFzdGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0
IHRoYXQgbWlkZGxlIGNsaWNrIHRyaWdnZXJzIHRoZSBvbnBhc3RlIGV2ZW50Jyk7CisKK3ZhciBw
YXN0ZUNvdW50ID0gMDsKKworZnVuY3Rpb24gaGFuZGxlUGFzdGUoZXZlbnRPYmopCit7CisgICAg
cGFzdGVDb3VudCsrOworfQorCit2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRlc2NyaXB0aW9uIik7Cit0YXJnZXQub25wYXN0ZSA9IGhhbmRsZVBhc3RlOworCitpZiAod2lu
ZG93LmxheW91dFRlc3RDb250cm9sbGVyKQoreworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICB2YXIgeCA9IHRhcmdldC5vZmZzZXRQYXJlbnQub2Zmc2V0TGVmdCAr
IHRhcmdldC5vZmZzZXRMZWZ0ICsgCisgICAgICAgIHRhcmdldC5vZmZzZXRXaWR0aCAvIDI7Cisg
ICAgdmFyIHkgPSB0YXJnZXQub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIHRhcmdldC5vZmZzZXRU
b3AgKyAKKyAgICAgICAgdGFyZ2V0Lm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDEpOworICAgIGV2
ZW50U2VuZGVyLm1vdXNlVXAoMSk7CisgICAgc2hvdWxkQmUoIjEiLCBzdHJpbmdpZnkocGFzdGVD
b3VudCkpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39016</attachid>
            <date>2009-09-03 16:02:31 -0700</date>
            <delta_ts>2009-09-04 16:43:31 -0700</delta_ts>
            <desc>Handle middle click in Chromium like QT</desc>
            <filename>webkit-iv.patch</filename>
            <type>text/plain</type>
            <size>10704</size>
            <attacher name="Steve VanDeBogart">vandebo</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODAzMCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMDktMDMgIFN0ZXZlIFZhbkRlQm9nYXJ0ICA8dmFuZGVib0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSGFuZGxlIG1pZGRsZSBjbGljayBpbiBDaHJvbWl1bSBsaWtlIFFUCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODY5NgorCisgICAgICAgIFRl
c3RlZCBieSBtaWRkbGUtY2xpY2stb25wYXN0ZS5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0v
UGFzdGVib2FyZC5oOgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2xpcGJvYXJkQ2hyb21pdW0uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Q2xpcGJvYXJkQ2hyb21pdW06OmdldERhdGEpOgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQYXN0ZWJvYXJkOjpQYXN0ZWJvYXJkKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9h
cmQ6OmlzU2VsZWN0aW9uTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpzZXRT
ZWxlY3Rpb25Nb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlBhc3RlYm9hcmQ6OmNhblNtYXJ0UmVw
bGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpQYXN0ZWJvYXJkOjpwbGFpblRleHQpOgorICAgICAg
ICAoV2ViQ29yZTo6UGFzdGVib2FyZDo6ZG9jdW1lbnRGcmFnbWVudCk6CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBh
c3RlYm9hcmRQcml2YXRlOjopOgorCiAyMDA5LTA5LTAzICBLZXZpbiBXYXR0ZXJzICA8a2V2aW53
YXR0ZXJzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZXZpbiBPbGxpdmllci4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCShyZXZpc2lvbiA0Nzg3MCkKKysrIFdlYkNvcmUvcGxh
dGZvcm0vUGFzdGVib2FyZC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NSw3ICs5NSw3IEBAIHB1Ymxp
YzoKICAgICBib29sIGNhblNtYXJ0UmVwbGFjZSgpOwogICAgIFBhc3NSZWZQdHI8RG9jdW1lbnRG
cmFnbWVudD4gZG9jdW1lbnRGcmFnbWVudChGcmFtZSosIFBhc3NSZWZQdHI8UmFuZ2U+LCBib29s
IGFsbG93UGxhaW5UZXh0LCBib29sJiBjaG9zZVBsYWluVGV4dCk7CiAgICAgU3RyaW5nIHBsYWlu
VGV4dChGcmFtZSogPSAwKTsKLSNpZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkgfHwg
UExBVEZPUk0oQ0hST01JVU0pCiAgICAgYm9vbCBpc1NlbGVjdGlvbk1vZGUoKSBjb25zdDsKICAg
ICB2b2lkIHNldFNlbGVjdGlvbk1vZGUoYm9vbCBzZWxlY3Rpb25Nb2RlKTsKICNlbmRpZgpAQCAt
MTE4LDcgKzExOCw3IEBAIHByaXZhdGU6CiAgICAgSFdORCBtX293bmVyOwogI2VuZGlmCiAKLSNp
ZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkgfHwgUExBVEZPUk0oQ0hST01JVU0pCiAg
ICAgYm9vbCBtX3NlbGVjdGlvbk1vZGU7CiAjZW5kaWYKIApJbmRleDogV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTY3
LDExICs2NywxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQ2hyb21pdW1Ccmlk
Z2UgewogICAgIHB1YmxpYzoKICAgICAgICAgLy8gQ2xpcGJvYXJkIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAgICAgICAgc3RhdGlj
IGJvb2wgY2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkNsaXBi
b2FyZEZvcm1hdCk7CisgICAgICAgIHN0YXRpYyBib29sIGNsaXBib2FyZElzRm9ybWF0QXZhaWxh
YmxlKFBhc3RlYm9hcmRQcml2YXRlOjpDbGlwYm9hcmRGb3JtYXQsIFBhc3RlYm9hcmRQcml2YXRl
OjpDbGlwYm9hcmRCdWZmZXIpOwogCi0gICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVh
ZFBsYWluVGV4dCgpOwotICAgICAgICBzdGF0aWMgdm9pZCBjbGlwYm9hcmRSZWFkSFRNTChTdHJp
bmcqLCBLVVJMKik7CisgICAgICAgIHN0YXRpYyBTdHJpbmcgY2xpcGJvYXJkUmVhZFBsYWluVGV4
dChQYXN0ZWJvYXJkUHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyKTsKKyAgICAgICAgc3RhdGljIHZv
aWQgY2xpcGJvYXJkUmVhZEhUTUwoUGFzdGVib2FyZFByaXZhdGU6OkNsaXBib2FyZEJ1ZmZlciwg
U3RyaW5nKiwgS1VSTCopOwogCisgICAgICAgIC8vIE9ubHkgdGhlIGNsaXBib2FyZFJlYWQgZnVu
Y3Rpb25zIHRha2UgYSBidWZmZXIgYXJndW1lbnQgYmVjYXVzZSAKKyAgICAgICAgLy8gQ2hyb21p
dW0gY3VycmVudGx5IHVzZXMgYSBkaWZmZXJlbnQgdGVjaG5pcXVlIHRvIHdyaXRlIHRvIGFsdGVy
bmF0ZQorICAgICAgICAvLyBjbGlwYm9hcmQgYnVmZmVycy4KICAgICAgICAgc3RhdGljIHZvaWQg
Y2xpcGJvYXJkV3JpdGVTZWxlY3Rpb24oY29uc3QgU3RyaW5nJiwgY29uc3QgS1VSTCYsIGNvbnN0
IFN0cmluZyYsIGJvb2wpOwogICAgICAgICBzdGF0aWMgdm9pZCBjbGlwYm9hcmRXcml0ZVVSTChj
b25zdCBLVVJMJiwgY29uc3QgU3RyaW5nJik7CiAgICAgICAgIHN0YXRpYyB2b2lkIGNsaXBib2Fy
ZFdyaXRlSW1hZ2UoY29uc3QgTmF0aXZlSW1hZ2VTa2lhKiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0
cmluZyYpOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRDaHJvbWl1
bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9DbGlwYm9hcmRD
aHJvbWl1bS5jcHAJKHJldmlzaW9uIDQ3ODcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DbGlwYm9hcmRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAibWFya3VwLmgiCiAjaW5j
bHVkZSAiTmFtZWROb2RlTWFwLmgiCisjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogI2luY2x1ZGUg
IlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZW5kZXJJ
bWFnZS5oIgpAQCAtMTE3LDcgKzExOCwxMSBAQCBTdHJpbmcgQ2xpcGJvYXJkQ2hyb21pdW06Omdl
dERhdGEoY29uc3QgCiAgICAgICAgIGlmICghaXNGb3JEcmFnZ2luZygpKSB7CiAgICAgICAgICAg
ICAvLyBJZiB0aGlzIGlzbid0IGZvciBhIGRyYWcsIGl0J3MgZm9yIGEgY3V0L3Bhc3RlIGV2ZW50
IGhhbmRsZXIuCiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UsIHdlIG5lZWQgdG8gY2hlY2sg
dGhlIGNsaXBib2FyZC4KLSAgICAgICAgICAgIHRleHQgPSBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJv
YXJkUmVhZFBsYWluVGV4dCgpOworICAgICAgICAgICAgUGFzdGVib2FyZFByaXZhdGU6OkNsaXBi
b2FyZEJ1ZmZlciBidWZmZXIgPSAKKyAgICAgICAgICAgICAgICBQYXN0ZWJvYXJkOjpnZW5lcmFs
UGFzdGVib2FyZCgpLT5pc1NlbGVjdGlvbk1vZGUoKSA/CisgICAgICAgICAgICAgICAgUGFzdGVi
b2FyZFByaXZhdGU6OlNlbGVjdGlvbkJ1ZmZlciA6IAorICAgICAgICAgICAgICAgIFBhc3RlYm9h
cmRQcml2YXRlOjpTdGFuZGFyZEJ1ZmZlcjsKKyAgICAgICAgICAgIHRleHQgPSBDaHJvbWl1bUJy
aWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dChidWZmZXIpOwogICAgICAgICAgICAgc3VjY2Vz
cyA9ICF0ZXh0LmlzRW1wdHkoKTsKICAgICAgICAgfSBlbHNlIGlmICghbV9kYXRhT2JqZWN0LT5w
bGFpblRleHQuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBzdWNjZXNzID0gdHJ1ZTsKSW5kZXg6
IFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZENocm9taXVtLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9hcmRDaHJvbWl1bS5jcHAJ
KHJldmlzaW9uIDQ3ODcwKQorKysgV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJk
Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1OSw3IEBAIFBhc3RlYm9hcmQq
IFBhc3RlYm9hcmQ6OmdlbmVyYWxQYXN0ZWJvYXIKIH0KIAogUGFzdGVib2FyZDo6UGFzdGVib2Fy
ZCgpCisgICAgOiBtX3NlbGVjdGlvbk1vZGUoZmFsc2UpCiB7CiB9CiAKQEAgLTY4LDYgKzY5LDE2
IEBAIHZvaWQgUGFzdGVib2FyZDo6Y2xlYXIoKQogICAgIC8vIHByZXZpb3VzIGNvbnRlbnRzLgog
fQogCitib29sIFBhc3RlYm9hcmQ6OmlzU2VsZWN0aW9uTW9kZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc2VsZWN0aW9uTW9kZTsKK30KKwordm9pZCBQYXN0ZWJvYXJkOjpzZXRTZWxlY3Rpb25N
b2RlKGJvb2wgc2VsZWN0aW9uTW9kZSkKK3sKKyAgICBtX3NlbGVjdGlvbk1vZGUgPSBzZWxlY3Rp
b25Nb2RlOworfQorCiB2b2lkIFBhc3RlYm9hcmQ6OndyaXRlU2VsZWN0aW9uKFJhbmdlKiBzZWxl
Y3RlZFJhbmdlLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSogZnJhbWUpCiB7CiAg
ICAgU3RyaW5nIGh0bWwgPSBjcmVhdGVNYXJrdXAoc2VsZWN0ZWRSYW5nZSwgMCwgQW5ub3RhdGVG
b3JJbnRlcmNoYW5nZSk7CkBAIC0xMzQsMjMgKzE0NSwyMyBAQCB2b2lkIFBhc3RlYm9hcmQ6Ondy
aXRlSW1hZ2UoTm9kZSogbm9kZSwgCiAKIGJvb2wgUGFzdGVib2FyZDo6Y2FuU21hcnRSZXBsYWNl
KCkKIHsKLSAgICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZElzRm9ybWF0QXZhaWxh
YmxlKAotICAgICAgICBQYXN0ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCk7Cisg
ICAgcmV0dXJuIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRJc0Zvcm1hdEF2YWlsYWJsZShQYXN0
ZWJvYXJkUHJpdmF0ZTo6V2ViU21hcnRQYXN0ZUZvcm1hdCwgbV9zZWxlY3Rpb25Nb2RlID8gUGFz
dGVib2FyZFByaXZhdGU6OlNlbGVjdGlvbkJ1ZmZlciA6IFBhc3RlYm9hcmRQcml2YXRlOjpTdGFu
ZGFyZEJ1ZmZlcik7CiB9CiAKIFN0cmluZyBQYXN0ZWJvYXJkOjpwbGFpblRleHQoRnJhbWUqIGZy
YW1lKQogewotICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4
dCgpOworICAgIHJldHVybiBDaHJvbWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dCht
X3NlbGVjdGlvbk1vZGUgPyBQYXN0ZWJvYXJkUHJpdmF0ZTo6U2VsZWN0aW9uQnVmZmVyIDogUGFz
dGVib2FyZFByaXZhdGU6OlN0YW5kYXJkQnVmZmVyKTsKIH0KIAogUGFzc1JlZlB0cjxEb2N1bWVu
dEZyYWdtZW50PiBQYXN0ZWJvYXJkOjpkb2N1bWVudEZyYWdtZW50KEZyYW1lKiBmcmFtZSwgUGFz
c1JlZlB0cjxSYW5nZT4gY29udGV4dCwgYm9vbCBhbGxvd1BsYWluVGV4dCwgYm9vbCYgY2hvc2VQ
bGFpblRleHQpCiB7CiAgICAgY2hvc2VQbGFpblRleHQgPSBmYWxzZTsKKyAgICBQYXN0ZWJvYXJk
UHJpdmF0ZTo6Q2xpcGJvYXJkQnVmZmVyIGJ1ZmZlciA9IG1fc2VsZWN0aW9uTW9kZSA/IFBhc3Rl
Ym9hcmRQcml2YXRlOjpTZWxlY3Rpb25CdWZmZXIgOiBQYXN0ZWJvYXJkUHJpdmF0ZTo6U3RhbmRh
cmRCdWZmZXI7CiAKLSAgICBpZiAoQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZElzRm9ybWF0QXZh
aWxhYmxlKFBhc3RlYm9hcmRQcml2YXRlOjpIVE1MRm9ybWF0KSkgeworICAgIGlmIChDaHJvbWl1
bUJyaWRnZTo6Y2xpcGJvYXJkSXNGb3JtYXRBdmFpbGFibGUoUGFzdGVib2FyZFByaXZhdGU6OkhU
TUxGb3JtYXQsIGJ1ZmZlcikpIHsKICAgICAgICAgU3RyaW5nIG1hcmt1cDsKICAgICAgICAgS1VS
TCBzcmNVUkw7Ci0gICAgICAgIENocm9taXVtQnJpZGdlOjpjbGlwYm9hcmRSZWFkSFRNTCgmbWFy
a3VwLCAmc3JjVVJMKTsKKyAgICAgICAgQ2hyb21pdW1CcmlkZ2U6OmNsaXBib2FyZFJlYWRIVE1M
KGJ1ZmZlciwgJm1hcmt1cCwgJnNyY1VSTCk7CiAKICAgICAgICAgUmVmUHRyPERvY3VtZW50RnJh
Z21lbnQ+IGZyYWdtZW50ID0KICAgICAgICAgICAgIGNyZWF0ZUZyYWdtZW50RnJvbU1hcmt1cChm
cmFtZS0+ZG9jdW1lbnQoKSwgbWFya3VwLCBzcmNVUkwpOwpAQCAtMTU5LDcgKzE3MCw3IEBAIFBh
c3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gUGFzdGVib2FyZDoKICAgICB9CiAKICAgICBpZiAo
YWxsb3dQbGFpblRleHQpIHsKLSAgICAgICAgU3RyaW5nIG1hcmt1cCA9IENocm9taXVtQnJpZGdl
OjpjbGlwYm9hcmRSZWFkUGxhaW5UZXh0KCk7CisgICAgICAgIFN0cmluZyBtYXJrdXAgPSBDaHJv
bWl1bUJyaWRnZTo6Y2xpcGJvYXJkUmVhZFBsYWluVGV4dChidWZmZXIpOwogICAgICAgICBpZiAo
IW1hcmt1cC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNob3NlUGxhaW5UZXh0ID0gdHJ1ZTsK
IApJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QYXN0ZWJvYXJkUHJpdmF0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGFzdGVib2FyZFByaXZhdGUu
aAkocmV2aXNpb24gNDc4NzApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bhc3RlYm9h
cmRQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgICAgIEJvb2ttYXJrRm9ybWF0LAogICAgICAgICAgICAgV2ViU21h
cnRQYXN0ZUZvcm1hdCwKICAgICAgICAgfTsKKyAgICAgICAgZW51bSBDbGlwYm9hcmRCdWZmZXIg
eworICAgICAgICAgICAgU3RhbmRhcmRCdWZmZXIsCisgICAgICAgICAgICBTZWxlY3Rpb25CdWZm
ZXIsCisgICAgICAgIH07CiAgICAgfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDog
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxv
ZwkocmV2aXNpb24gNDgwMzApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0wOS0wMyAgU3RldmUgVmFuRGVCb2dhcnQgIDx2YW5k
ZWJvQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDaGVjayB0aGF0IG1pZGRsZSBjbGljayB0cmlnZ2VycyBhbiBvbnBhc3RlIGV2
ZW50IGluIExpbnV4LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9Mjg2OTYKKworICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxl
LWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9n
dGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlczogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvbWlk
ZGxlLWNsaWNrLW9ucGFzdGUuanM6IEFkZGVkLgorICAgICAgICAoaGFuZGxlUGFzdGUpOgorCiAy
MDA5LTA5LTAzICBEcmV3IFdpbHNvbiAgPGF0d2lsc29uQGdvb2dsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgRGF2ZSBMZXZpbi4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9l
ZGl0aW5nL3Bhc3RlYm9hcmQvbWlkZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvbWlk
ZGxlLWNsaWNrLW9ucGFzdGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9taWRkbGUtY2xpY2stb25wYXN0ZS1l
eHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOSBAQAorVGVzdCB0aGF0IG1pZGRs
ZSBjbGljayB0cmlnZ2VycyB0aGUgb25wYXN0ZSBldmVudAorCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworUEFTUyBwYXN0ZUNvdW50IGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKKworVEVTVCBDT01QTEVURQpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZWRpdGluZy9wYXN0ZWJvYXJkL3Jlc291cmNlcy9U
RU1QTEFURS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Vk
aXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvVEVNUExBVEUuaHRtbAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
Li4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25z
b2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJZT1VSX0pTX0ZJTEVfSEVSRSI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9lZGl0aW5nL3Bhc3RlYm9hcmQvcmVzb3VyY2VzL21pZGRsZS1jbGljay1vbnBhc3RlLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9lZGl0aW5nL3Bhc3RlYm9h
cmQvcmVzb3VyY2VzL21pZGRsZS1jbGljay1vbnBhc3RlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2VkaXRpbmcvcGFzdGVib2FyZC9yZXNvdXJjZXMvbWlkZGxl
LWNsaWNrLW9ucGFzdGUuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjYgQEAKK2Rlc2NyaXB0
aW9uKCdUZXN0IHRoYXQgbWlkZGxlIGNsaWNrIHRyaWdnZXJzIHRoZSBvbnBhc3RlIGV2ZW50Jyk7
CisKK3ZhciBwYXN0ZUNvdW50ID0gMDsKKworZnVuY3Rpb24gaGFuZGxlUGFzdGUoZXZlbnRPYmop
Cit7CisgICAgcGFzdGVDb3VudCsrOworfQorCit2YXIgdGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImRlc2NyaXB0aW9uIik7Cit0YXJnZXQub25wYXN0ZSA9IGhhbmRsZVBhc3RlOwor
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQoreworICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICB2YXIgeCA9IHRhcmdldC5vZmZzZXRQYXJlbnQub2Zm
c2V0TGVmdCArIHRhcmdldC5vZmZzZXRMZWZ0ICsgCisgICAgICAgIHRhcmdldC5vZmZzZXRXaWR0
aCAvIDI7CisgICAgdmFyIHkgPSB0YXJnZXQub2Zmc2V0UGFyZW50Lm9mZnNldFRvcCArIHRhcmdl
dC5vZmZzZXRUb3AgKyAKKyAgICAgICAgdGFyZ2V0Lm9mZnNldEhlaWdodCAvIDI7CisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8oeCwgeSk7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKDEp
OworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoMSk7CisgICAgc2hvdWxkQmUoInBhc3RlQ291bnQi
LCAiMSIpOworfQorCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>
<flag name="review"
          id="20126"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="20127"
          type_id="3"
          status="-"
          setter="pkasting"
    />
          </attachment>
      

    </bug>

</bugzilla>