<?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>37097</bug_id>
          
          <creation_ts>2010-04-05 10:33:38 -0700</creation_ts>
          <short_desc>[Qt] Fix infinite redirection loop in QNetworkReplyHandler</short_desc>
          <delta_ts>2010-05-07 14:10:18 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>35784</blocked>
    
    <blocked>36690</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Hogan">robert</reporter>
          <assigned_to name="Robert Hogan">robert</assigned_to>
          <cc>adawit</cc>
    
    <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>208550</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 10:33:38 -0700</bug_when>
    <thetext>Qt enters an infinite loop if a redirect response redirects to itself.

Fixes http/tests/connection-error-sync.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208551</commentid>
    <comment_count>1</comment_count>
      <attachid>52540</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 10:36:35 -0700</bug_when>
    <thetext>Created attachment 52540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208558</commentid>
    <comment_count>2</comment_count>
      <attachid>52540</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-05 10:42:37 -0700</bug_when>
    <thetext>Comment on attachment 52540
Patch


&gt; +        QUrl newUrl = m_reply-&gt;url().resolved(redirection);
&gt; +        if (newUrl == m_reply-&gt;url()) { // Infinite redirection loop!

 // avoid redirecting to the same url as it causes infinite recursion


&gt; +            ResourceError error(newUrl.host(), 400 /*bad request*/,
&gt; +                                newUrl.toString(),
&gt; +                                QCoreApplication::translate(&quot;QWebPage&quot;, &quot;Ininite Loop in Redirect Request&quot;));

Spelling issue. &quot;Infinite recursion in redirection request&quot;

&gt; +            client-&gt;didFail(m_resourceHandle, error);
&gt; +            return;
&gt; +        }
&gt; +
&gt;          m_redirected = true;
&gt;  
&gt; -        QUrl newUrl = m_reply-&gt;url().resolved(redirection);
&gt;          ResourceRequest newRequest = m_resourceHandle-&gt;request();
&gt;          newRequest.setURL(newUrl);
&gt;  
&gt; -- 
&gt; 1.6.3.3
&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208563</commentid>
    <comment_count>3</comment_count>
      <attachid>52541</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 10:45:31 -0700</bug_when>
    <thetext>Created attachment 52541
Updated Patch

Updated per Kenneth&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208573</commentid>
    <comment_count>4</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 10:58:42 -0700</bug_when>
    <thetext>Manually Committed r57085.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208577</commentid>
    <comment_count>5</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2010-04-05 11:03:25 -0700</bug_when>
    <thetext>This fix will break sites that purposefully redirect to the very same url. IMHO
to detect and avoid infinite recursion to the same url, you have to have
additional checks such as a counter as it is done in KDE&apos;s KIO:

   // Some websites keep redirecting to themselves where each redirection
    // acts as the stage in a state-machine. We define &quot;endless redirections&quot;
    // as 5 redirections to the same URL.
    if (d-&gt;m_redirectionList.count(url) &gt; 5)
    {
       kDebug(7007) &lt;&lt; &quot;CYCLIC REDIRECTION!&quot;;
       setError( ERR_CYCLIC_LINK );
       setErrorText( d-&gt;m_url.pathOrUrl() );
    }


See lines #1014-1022 of kio/kio/job.cpp:

http://websvn.kde.org/trunk/KDE/kdelibs/kio/kio/job.cpp?revision=1108333&amp;view=markup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208595</commentid>
    <comment_count>6</comment_count>
      <attachid>52546</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 11:30:47 -0700</bug_when>
    <thetext>Created attachment 52546
User Counters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208600</commentid>
    <comment_count>7</comment_count>
      <attachid>52546</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-04-05 11:35:11 -0700</bug_when>
    <thetext>Comment on attachment 52546
User Counters

I did a bit of research and Mozilla doesn&apos;t verify where the redirect comes from, and your patch won&apos;t handles cases as page1 -&gt; page2 -&gt; page1!

Let&apos;s introduce a max redirection count (default 10 as Mozilla) and count it down for each redirect (not just the case of newUrl == m_reply-&gt;url()).

When it reaches 0, we fail with an error such as &quot;Redirection limit reached!&quot; or similar. Later we can add a setting for this.

Info: http://kb.mozillazine.org/Network.http.redirection-limit (look at the bug report)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208602</commentid>
    <comment_count>8</comment_count>
      <attachid>52550</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 11:39:41 -0700</bug_when>
    <thetext>Created attachment 52550
Updated Counters Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208604</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-05 11:41:56 -0700</bug_when>
    <thetext>Attachment 52550 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/network/qt/QNetworkReplyHandler.cpp:342:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208618</commentid>
    <comment_count>10</comment_count>
      <attachid>52554</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 12:04:06 -0700</bug_when>
    <thetext>Created attachment 52554
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208621</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-05 12:06:19 -0700</bug_when>
    <thetext>Attachment 52554 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/network/qt/QNetworkReplyHandler.cpp:343:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208628</commentid>
    <comment_count>12</comment_count>
      <attachid>52557</attachid>
    <who name="Robert Hogan">robert</who>
    <bug_when>2010-04-05 12:12:37 -0700</bug_when>
    <thetext>Created attachment 52557
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208630</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-05 12:13:43 -0700</bug_when>
    <thetext>Attachment 52557 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebCore/platform/network/qt/QNetworkReplyHandler.cpp:343:  Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons.  [readability/comparison_to_zero] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>208875</commentid>
    <comment_count>14</comment_count>
      <attachid>52557</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-05 20:33:39 -0700</bug_when>
    <thetext>Comment on attachment 52557
Updated Patch

Clearing flags on attachment: 52557

Committed r57117: &lt;http://trac.webkit.org/changeset/57117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>222603</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-05-07 14:10:07 -0700</bug_when>
    <thetext>Revision r57085 cherry-picked into qtwebkit-2.0 with commit ca03a15b28a427cd9a0e9d8844780f01a7a2ad13
Revision r57117 cherry-picked into qtwebkit-2.0 with commit e830618c892e2e48ad038fc8ecc826c04c513905</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52540</attachid>
            <date>2010-04-05 10:36:35 -0700</date>
            <delta_ts>2010-04-05 10:45:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Qt-Fix-infinite-redirection-loop-in-QNetworkReplyHan.patch</filename>
            <type>text/plain</type>
            <size>3921</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA5MjhkMGFhZmFlZjdjN2MzNWQ4NjMzMzQwMTFhNzI2ZDg3NDFjYjVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTg6MzA6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIXSBbUXRdIEZp
eCBpbmZpbml0ZSByZWRpcmVjdGlvbiBsb29wIGluIFFOZXR3b3JrUmVwbHlIYW5kbGVyCgpRdCBl
bnRlcnMgYW4gaW5maW5pdGUgbG9vcCBpZiBhIHJlZGlyZWN0IHJlc3BvbnNlIHJlZGlyZWN0cyB0
byBpdHNlbGYuCgpGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJy
b3Itc3luYy5odG1sCgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzcw
OTcKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTIgKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAg
ICAgICAgICAgICAgICAgICB8ICAgIDEgLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsrKysrKysrKysrKysrKwogLi4uL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwICAgfCAgIDEwICsrKysrKysrKy0K
IDQgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZjNlYWIyNi4uZDhiMDVmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEwLTA0LTA1ICBS
b2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZpeCBpbmZpbml0ZSByZWRpcmVjdGlvbiBs
b29wIGluIFFOZXR3b3JrUmVwbHlIYW5kbGVyCisKKyAgICAgICAgVW5za2lwIGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvY29ubmVjdGlvbi1lcnJvci1zeW5jLmh0bWwKKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzcwOTcKKworICAgICAgICAqIHBs
YXRmb3JtL3F0L1NraXBwZWQ6CisKKzIwMTAtMDQtMDUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3
ZWJraXQub3JnPgorCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEtlbm5ldGgtUm9oZGUgQ2hy
aXN0aWFuc2VuLgogCiAgICAgICAgIHJlLWxvZ2luLmh0bWwgYW5kIHJlLWxvZ2luLWFzeW5jLmh0
bWwgYXJlIG5vdyB0cmFja2VkIGluIGJ1Z3ppbGxhLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggN2MyODAyMC4uMTUyMmJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC01MDE1LDcg
KzUwMTUsNiBAQCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bWwKIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcmVzcG9uc2Utd2l0aC1ib2R5LXN5bmMu
aHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZS1vdmVycmlkZS5odG1sCi1odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2Nvb2tpZXMuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9tZXRob2RzLWxvd2VyLWNhc2UuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9tZXRo
b2RzLmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggM2NjZmQ2NS4uNzUxNTUwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNC0wNSAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggaW5maW5pdGUgcmVkaXJlY3Rpb24gbG9v
cCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCisgICAgICAgIFF0IGVudGVycyBhbiBpbmZpbml0
ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVkaXJlY3RzIHRvIGl0c2VsZi4KKworICAg
ICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJyb3Itc3lu
Yy5odG1sCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MDk3CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5k
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZW5kUmVz
cG9uc2VJZk5lZWRlZCk6CisKIDIwMTAtMDQtMDUgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmlu
ZGV4IGZiZWM3NTYuLjI2NDhiY2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcApAQCAtMzM1LDkgKzMzNSwxNyBAQCB2b2lk
IFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCgpCiAKICAgICBRVXJs
IHJlZGlyZWN0aW9uID0gbV9yZXBseS0+YXR0cmlidXRlKFFOZXR3b3JrUmVxdWVzdDo6UmVkaXJl
Y3Rpb25UYXJnZXRBdHRyaWJ1dGUpLnRvVXJsKCk7CiAgICAgaWYgKHJlZGlyZWN0aW9uLmlzVmFs
aWQoKSkgeworICAgICAgICBRVXJsIG5ld1VybCA9IG1fcmVwbHktPnVybCgpLnJlc29sdmVkKHJl
ZGlyZWN0aW9uKTsKKyAgICAgICAgaWYgKG5ld1VybCA9PSBtX3JlcGx5LT51cmwoKSkgeyAvLyBJ
bmZpbml0ZSByZWRpcmVjdGlvbiBsb29wIQorICAgICAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJv
cihuZXdVcmwuaG9zdCgpLCA0MDAgLypiYWQgcmVxdWVzdCovLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuZXdVcmwudG9TdHJpbmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJJbmluaXRl
IExvb3AgaW4gUmVkaXJlY3QgUmVxdWVzdCIpKTsKKyAgICAgICAgICAgIGNsaWVudC0+ZGlkRmFp
bChtX3Jlc291cmNlSGFuZGxlLCBlcnJvcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKwogICAgICAgICBtX3JlZGlyZWN0ZWQgPSB0cnVlOwogCi0gICAgICAgIFFVcmwgbmV3VXJs
ID0gbV9yZXBseS0+dXJsKCkucmVzb2x2ZWQocmVkaXJlY3Rpb24pOwogICAgICAgICBSZXNvdXJj
ZVJlcXVlc3QgbmV3UmVxdWVzdCA9IG1fcmVzb3VyY2VIYW5kbGUtPnJlcXVlc3QoKTsKICAgICAg
ICAgbmV3UmVxdWVzdC5zZXRVUkwobmV3VXJsKTsKIAotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="36038"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52541</attachid>
            <date>2010-04-05 10:45:31 -0700</date>
            <delta_ts>2010-04-05 10:52:38 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-Qt-Fix-infinite-redirection-loop-in-QNetworkReplyHan.patch</filename>
            <type>text/plain</type>
            <size>3969</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA4ZTM4MjgwODA5MTVmYmM0NmEwNjM1YjhlM2ViNGUwNjU4YTNiNWMxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTg6MzA6MjkgKzAxMDAKU3ViamVjdDogW1BBVENIXSBbUXRdIEZp
eCBpbmZpbml0ZSByZWRpcmVjdGlvbiBsb29wIGluIFFOZXR3b3JrUmVwbHlIYW5kbGVyCgpRdCBl
bnRlcnMgYW4gaW5maW5pdGUgbG9vcCBpZiBhIHJlZGlyZWN0IHJlc3BvbnNlIHJlZGlyZWN0cyB0
byBpdHNlbGYuCgpGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJy
b3Itc3luYy5odG1sCgpodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzcw
OTcKLS0tCiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTIgKysrKysrKysrKysrCiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkICAg
ICAgICAgICAgICAgICAgICB8ICAgIDEgLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsrKysrKysrKysrKysrKwogLi4uL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwICAgfCAgIDEwICsrKysrKysrKy0K
IDQgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggZjNlYWIyNi4uZDhiMDVmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE3IEBACiAyMDEwLTA0LTA1ICBS
b2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdIEZpeCBpbmZpbml0ZSByZWRpcmVjdGlvbiBs
b29wIGluIFFOZXR3b3JrUmVwbHlIYW5kbGVyCisKKyAgICAgICAgVW5za2lwIGh0dHAvdGVzdHMv
eG1saHR0cHJlcXVlc3QvY29ubmVjdGlvbi1lcnJvci1zeW5jLmh0bWwKKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzcwOTcKKworICAgICAgICAqIHBs
YXRmb3JtL3F0L1NraXBwZWQ6CisKKzIwMTAtMDQtMDUgIFJvYmVydCBIb2dhbiAgPHJvYmVydEB3
ZWJraXQub3JnPgorCiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IEtlbm5ldGgtUm9oZGUgQ2hy
aXN0aWFuc2VuLgogCiAgICAgICAgIHJlLWxvZ2luLmh0bWwgYW5kIHJlLWxvZ2luLWFzeW5jLmh0
bWwgYXJlIG5vdyB0cmFja2VkIGluIGJ1Z3ppbGxhLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5k
ZXggN2MyODAyMC4uMTUyMmJmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQv
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC01MDE1LDcg
KzUwMTUsNiBAQCBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2FjY2Vzcy1jb250cm9sLXByZWZs
aWdodC1zeW5jLWhlYWRlci1kZW5pZWQuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9h
Y2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtc3luYy1tZXRob2QtZGVuaWVkLmh0bWwKIGh0dHAvdGVz
dHMveG1saHR0cHJlcXVlc3QvYWNjZXNzLWNvbnRyb2wtcmVzcG9uc2Utd2l0aC1ib2R5LXN5bmMu
aHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9jYWNoZS1vdmVycmlkZS5odG1sCi1odHRw
L3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCiBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L2Nvb2tpZXMuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
dC9tZXRob2RzLWxvd2VyLWNhc2UuaHRtbAogaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9tZXRo
b2RzLmh0bWwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggM2NjZmQ2NS4uNzUxNTUwZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wNC0wNSAgUm9i
ZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggaW5maW5pdGUgcmVkaXJlY3Rpb24gbG9v
cCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCisgICAgICAgIFF0IGVudGVycyBhbiBpbmZpbml0
ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVkaXJlY3RzIHRvIGl0c2VsZi4KKworICAg
ICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nvbm5lY3Rpb24tZXJyb3Itc3lu
Yy5odG1sCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTM3MDk3CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5k
bGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZW5kUmVz
cG9uc2VJZk5lZWRlZCk6CisKIDIwMTAtMDQtMDUgIEFudG9uaW8gR29tZXMgIDx0b25pa2l0b29A
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAg
Yi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwCmlu
ZGV4IGZiZWM3NTYuLmZiYjE4YzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcApAQCAtMzM1LDkgKzMzNSwxNyBAQCB2b2lk
IFFOZXR3b3JrUmVwbHlIYW5kbGVyOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCgpCiAKICAgICBRVXJs
IHJlZGlyZWN0aW9uID0gbV9yZXBseS0+YXR0cmlidXRlKFFOZXR3b3JrUmVxdWVzdDo6UmVkaXJl
Y3Rpb25UYXJnZXRBdHRyaWJ1dGUpLnRvVXJsKCk7CiAgICAgaWYgKHJlZGlyZWN0aW9uLmlzVmFs
aWQoKSkgeworICAgICAgICBRVXJsIG5ld1VybCA9IG1fcmVwbHktPnVybCgpLnJlc29sdmVkKHJl
ZGlyZWN0aW9uKTsKKyAgICAgICAgaWYgKG5ld1VybCA9PSBtX3JlcGx5LT51cmwoKSkgeyAvLyBh
dm9pZCByZWRpcmVjdGluZyB0byB0aGUgc2FtZSB1cmwgYXMgaXQgY2F1c2VzIGluZmluaXRlIHJl
Y3Vyc2lvbgorICAgICAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJvcihuZXdVcmwuaG9zdCgpLCA0
MDAgLypiYWQgcmVxdWVzdCovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdV
cmwudG9TdHJpbmcoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUUNvcmVBcHBs
aWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIsICJJbmZpbml0ZSByZWN1cnNpb24gaW4gcmVk
aXJlY3Rpb24gcmVxdWVzdCIpKTsKKyAgICAgICAgICAgIGNsaWVudC0+ZGlkRmFpbChtX3Jlc291
cmNlSGFuZGxlLCBlcnJvcik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAg
ICAgICBtX3JlZGlyZWN0ZWQgPSB0cnVlOwogCi0gICAgICAgIFFVcmwgbmV3VXJsID0gbV9yZXBs
eS0+dXJsKCkucmVzb2x2ZWQocmVkaXJlY3Rpb24pOwogICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
bmV3UmVxdWVzdCA9IG1fcmVzb3VyY2VIYW5kbGUtPnJlcXVlc3QoKTsKICAgICAgICAgbmV3UmVx
dWVzdC5zZXRVUkwobmV3VXJsKTsKIAotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="36039"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="36040"
          type_id="3"
          status="-"
          setter="robert"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52546</attachid>
            <date>2010-04-05 11:30:47 -0700</date>
            <delta_ts>2010-04-05 11:39:41 -0700</delta_ts>
            <desc>User Counters</desc>
            <filename>0001-2010-04-05-Robert-Hogan-robert-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>4917</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBkOWE4MWIyNDllZTFmYTFiYWVhMGMxNGM0MTVkZmNkYmY1NjkxYjFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTk6MTU6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA0
LTA1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtRdF0gRml4IGluZmluaXRlIHJlZGlyZWN0aW9u
IGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKCiAgICAgICAgVG9sZXJhdGUgdXAgdG8gNSBy
ZWRpcmVjdGlvbnMgdG8gdGhlIHNhbWUgdXJsLCBhbnl0aGluZyBiZXlvbmQKICAgICAgICB0aGF0
IGlzIGNvbnNpZGVyZWQgYSBwb3RlbnRpYWxseSBpbmZpbml0ZSByZWN1cnNpb24gaW4gdGhlCiAg
ICAgICAgcmVkaXJlY3Rpb24gcmVxdWVzdHMuCgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0zNzA5NwoKICAgICAgICBXZSBhbHNvIG5lZWQgdG8gaGFuZGxl
IHRoZSBjYXNlIHdoZXJlIHJlY3Vyc2lvbiBpcyBhY3Jvc3MgYSBzZXQKICAgICAgICBvZiBwYWdl
cyAoZS5nLiBwYWdlMS0+cGFnZTItPnBhZ2UxLT5wYWdlMikuIFdlIG5lZWQgdG8gZml4IGZvcgog
ICAgICAgIHRoaXMgY2FzZSBhbmQgdGVzdCBmb3IgaXQuIFRoaXMgaXMgdGhlIHN1YmplY3Qgb2Yg
YSBzZXBhcmF0ZSBidWc6CgogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zNzEwMQoKICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuY3BwOgogICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6UU5l
dHdvcmtSZXBseUhhbmRsZXIpOgogICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxl
cjo6c2VuZFJlc3BvbnNlSWZOZWVkZWQpOgogICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9R
TmV0d29ya1JlcGx5SGFuZGxlci5oOgotLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgICAyMyArKysrKysrKysrKysrKysrKysrKwogLi4uL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwICAgfCAgIDE2ICsrKysr
KysrLS0tLS0KIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxl
ci5oIHwgICAgMSArCiAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDYgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA1ZDU5MjBlLi5jNWNhODY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtNCw2ICs0LDI5IEBACiAKICAgICAgICAgW1F0XSBG
aXggaW5maW5pdGUgcmVkaXJlY3Rpb24gbG9vcCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgogCisg
ICAgICAgIFRvbGVyYXRlIHVwIHRvIDUgcmVkaXJlY3Rpb25zIHRvIHRoZSBzYW1lIHVybCwgYW55
dGhpbmcgYmV5b25kCisgICAgICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVudGlhbGx5IGlu
ZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGUKKyAgICAgICAgcmVkaXJlY3Rpb24gcmVxdWVzdHMuCisK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDk3CisK
KyAgICAgICAgV2UgYWxzbyBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSByZWN1cnNpb24g
aXMgYWNyb3NzIGEgc2V0CisgICAgICAgIG9mIHBhZ2VzIChlLmcuIHBhZ2UxLT5wYWdlMi0+cGFn
ZTEtPnBhZ2UyKS4gV2UgbmVlZCB0byBmaXggZm9yCisgICAgICAgIHRoaXMgY2FzZSBhbmQgdGVz
dCBmb3IgaXQuIFRoaXMgaXMgdGhlIHN1YmplY3Qgb2YgYSBzZXBhcmF0ZSBidWc6CisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MTAxCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpRTmV0d29ya1JlcGx5SGFuZGxlcik6
CisgICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3BvbnNlSWZO
ZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRs
ZXIuaDoKKworMjAxMC0wNC0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXgg
aW5maW5pdGUgcmVkaXJlY3Rpb24gbG9vcCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCiAgICAg
ICAgIFF0IGVudGVycyBhbiBpbmZpbml0ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVk
aXJlY3RzIHRvIGl0c2VsZi4KIAogICAgICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1
ZXN0L2Nvbm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRleCBmYmIxOGM1Li5kOGYw
ZTNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6
UU5ldHdvcmtSZXBseUhhbmRsZXIoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgTG9hZE1vZGUgbG9h
ZAogICAgICwgbV9zaG91bGRGaW5pc2goZmFsc2UpCiAgICAgLCBtX3Nob3VsZFNlbmRSZXNwb25z
ZShmYWxzZSkKICAgICAsIG1fc2hvdWxkRm9yd2FyZERhdGEoZmFsc2UpCisgICAgLCBtX3JlZGly
ZWN0aW9uQ291bnRlcigwKQogewogICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCAmciA9IG1fcmVz
b3VyY2VIYW5kbGUtPnJlcXVlc3QoKTsKIApAQCAtMzM2LDEyICszMzcsMTUgQEAgdm9pZCBRTmV0
d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3BvbnNlSWZOZWVkZWQoKQogICAgIFFVcmwgcmVkaXJl
Y3Rpb24gPSBtX3JlcGx5LT5hdHRyaWJ1dGUoUU5ldHdvcmtSZXF1ZXN0OjpSZWRpcmVjdGlvblRh
cmdldEF0dHJpYnV0ZSkudG9VcmwoKTsKICAgICBpZiAocmVkaXJlY3Rpb24uaXNWYWxpZCgpKSB7
CiAgICAgICAgIFFVcmwgbmV3VXJsID0gbV9yZXBseS0+dXJsKCkucmVzb2x2ZWQocmVkaXJlY3Rp
b24pOwotICAgICAgICBpZiAobmV3VXJsID09IG1fcmVwbHktPnVybCgpKSB7IC8vIGF2b2lkIHJl
ZGlyZWN0aW5nIHRvIHRoZSBzYW1lIHVybCBhcyBpdCBjYXVzZXMgaW5maW5pdGUgcmVjdXJzaW9u
Ci0gICAgICAgICAgICBSZXNvdXJjZUVycm9yIGVycm9yKG5ld1VybC5ob3N0KCksIDQwMCAvKmJh
ZCByZXF1ZXN0Ki8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1VybC50b1N0
cmluZygpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRQ29yZUFwcGxpY2F0aW9u
Ojp0cmFuc2xhdGUoIlFXZWJQYWdlIiwgIkluZmluaXRlIHJlY3Vyc2lvbiBpbiByZWRpcmVjdGlv
biByZXF1ZXN0IikpOwotICAgICAgICAgICAgY2xpZW50LT5kaWRGYWlsKG1fcmVzb3VyY2VIYW5k
bGUsIGVycm9yKTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKG5ld1VybCA9PSBt
X3JlcGx5LT51cmwoKSkgeworICAgICAgICAgICAgbV9yZWRpcmVjdGlvbkNvdW50ZXIrKzsKKyAg
ICAgICAgICAgIGlmIChtX3JlZGlyZWN0aW9uQ291bnRlciA+PSA1KSB7IC8vIDUgb3IgbW9yZSBy
ZWRpcmVjdGlvbnMgdG8gdGhlIHNhbWUgdXJsIGlzIGNvbnNpZGVyZWQgaW5maW5pdGUgcmVjdXJz
aW9uCisgICAgICAgICAgICAgICAgUmVzb3VyY2VFcnJvciBlcnJvcihuZXdVcmwuaG9zdCgpLCA0
MDAgLypiYWQgcmVxdWVzdCovLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
bmV3VXJsLnRvU3RyaW5nKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBR
Q29yZUFwcGxpY2F0aW9uOjp0cmFuc2xhdGUoIlFXZWJQYWdlIiwgIkluZmluaXRlIHJlY3Vyc2lv
biBpbiByZWRpcmVjdGlvbiByZXF1ZXN0IikpOworICAgICAgICAgICAgICAgIGNsaWVudC0+ZGlk
RmFpbChtX3Jlc291cmNlSGFuZGxlLCBlcnJvcik7CisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAgbV9yZWRpcmVjdGVkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVy
LmgKaW5kZXggZWI1YWUzYy4uMDRlMmY3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmgKQEAgLTgyLDYgKzgyLDcgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fc2hvdWxkRmluaXNoOwogICAgIGJvb2wgbV9zaG91bGRTZW5kUmVzcG9u
c2U7CiAgICAgYm9vbCBtX3Nob3VsZEZvcndhcmREYXRhOworICAgIGludCBtX3JlZGlyZWN0aW9u
Q291bnRlcjsKIH07CiAKIC8vIFNlbGYgZGVzdHJ1Y3RpbmcgUUlPRGV2aWNlIGZvciBGb3JtRGF0
YQotLSAKMS42LjMuMwoK
</data>
<flag name="review"
          id="36045"
          type_id="1"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52550</attachid>
            <date>2010-04-05 11:39:41 -0700</date>
            <delta_ts>2010-04-05 12:04:06 -0700</delta_ts>
            <desc>Updated Counters Patch</desc>
            <filename>0001-2010-04-05-Robert-Hogan-robert-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>4355</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBjZTdhOGE4Y2E1OGUwM2U3OWQxNzlkYzE2YTg5ZjJmNWY0NmZjZjc5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTk6MTU6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA0
LTA1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtRdF0gRml4IGluZmluaXRlIHJlZGlyZWN0aW9u
IGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKCiAgICAgICAgUHV0IGEgbWF4aW11bSBvbiBj
b25zZWN1dGl2ZSByZWRpcmVjdGlvbnMgc28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgIHdvcnJ5
IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwgb3Igbm90LgoKICAgICAgICBUb2xlcmF0
ZSB1cCB0byAxMCBjb25zZWN1dGl2ZSByZWRpcmVjdGlvbnMsIGFueXRoaW5nIGJleW9uZAogICAg
ICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVudGlhbGx5IGluZmluaXRlIHJlY3Vyc2lvbiBp
biB0aGUKICAgICAgICByZWRpcmVjdGlvbiByZXF1ZXN0cy4gVGhpcyBpcyB0aGUgc2FtZSBiZWhh
dmlvdXIgYXMgRmlyZWZveC4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM3MDk3CgogICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpR
TmV0d29ya1JlcGx5SGFuZGxlcik6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5k
bGVyOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCk6CiAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmg6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysrKysrKysrKysrKysrCiAuLi4v
cGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgICB8ICAgIDYgKysr
Ky0tCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaCB8
ICAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNWQ1OTIwZS4uYTNiNDg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
V2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTQsNiArNCwyNiBAQAogCiAgICAgICAgIFtRdF0gRml4IGlu
ZmluaXRlIHJlZGlyZWN0aW9uIGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKIAorICAgICAg
ICBQdXQgYSBtYXhpbXVtIG9uIGNvbnNlY3V0aXZlIHJlZGlyZWN0aW9ucyBzbyB3ZSBkb24ndCBo
YXZlIHRvCisgICAgICAgIHdvcnJ5IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwgb3Ig
bm90LgorCisgICAgICAgIFRvbGVyYXRlIHVwIHRvIDEwIGNvbnNlY3V0aXZlIHJlZGlyZWN0aW9u
cywgYW55dGhpbmcgYmV5b25kCisgICAgICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVudGlh
bGx5IGluZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGUKKyAgICAgICAgcmVkaXJlY3Rpb24gcmVxdWVz
dHMuIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIEZpcmVmb3guCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDk3CisKKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpRTmV0d29ya1JlcGx5SGFuZGxlcik6CisgICAg
ICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3BvbnNlSWZOZWVkZWQp
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaDoK
KworMjAxMC0wNC0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggaW5maW5p
dGUgcmVkaXJlY3Rpb24gbG9vcCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCiAgICAgICAgIFF0
IGVudGVycyBhbiBpbmZpbml0ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVkaXJlY3Rz
IHRvIGl0c2VsZi4KIAogICAgICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2Nv
bm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRleCBmYmIxOGM1Li5iZTRlODUzIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRs
ZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFu
ZGxlci5jcHAKQEAgLTEzOCw2ICsxMzgsNyBAQCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6UU5ldHdv
cmtSZXBseUhhbmRsZXIoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgTG9hZE1vZGUgbG9hZAogICAg
ICwgbV9zaG91bGRGaW5pc2goZmFsc2UpCiAgICAgLCBtX3Nob3VsZFNlbmRSZXNwb25zZShmYWxz
ZSkKICAgICAsIG1fc2hvdWxkRm9yd2FyZERhdGEoZmFsc2UpCisgICAgLCBtX3JlZGlyZWN0aW9u
Q291bnRlcigxMCkKIHsKICAgICBjb25zdCBSZXNvdXJjZVJlcXVlc3QgJnIgPSBtX3Jlc291cmNl
SGFuZGxlLT5yZXF1ZXN0KCk7CiAKQEAgLTMzNiwxNCArMzM3LDE1IEBAIHZvaWQgUU5ldHdvcmtS
ZXBseUhhbmRsZXI6OnNlbmRSZXNwb25zZUlmTmVlZGVkKCkKICAgICBRVXJsIHJlZGlyZWN0aW9u
ID0gbV9yZXBseS0+YXR0cmlidXRlKFFOZXR3b3JrUmVxdWVzdDo6UmVkaXJlY3Rpb25UYXJnZXRB
dHRyaWJ1dGUpLnRvVXJsKCk7CiAgICAgaWYgKHJlZGlyZWN0aW9uLmlzVmFsaWQoKSkgewogICAg
ICAgICBRVXJsIG5ld1VybCA9IG1fcmVwbHktPnVybCgpLnJlc29sdmVkKHJlZGlyZWN0aW9uKTsK
LSAgICAgICAgaWYgKG5ld1VybCA9PSBtX3JlcGx5LT51cmwoKSkgeyAvLyBhdm9pZCByZWRpcmVj
dGluZyB0byB0aGUgc2FtZSB1cmwgYXMgaXQgY2F1c2VzIGluZmluaXRlIHJlY3Vyc2lvbgorCisg
ICAgICAgIG1fcmVkaXJlY3Rpb25Db3VudGVyLS07CisgICAgICAgIGlmIChtX3JlZGlyZWN0aW9u
Q291bnRlciA9PSAwKSB7IC8vIDEwIG9yIG1vcmUgcmVkaXJlY3Rpb25zIHRvIHRoZSBzYW1lIHVy
bCBpcyBjb25zaWRlcmVkIGluZmluaXRlIHJlY3Vyc2lvbgogICAgICAgICAgICAgUmVzb3VyY2VF
cnJvciBlcnJvcihuZXdVcmwuaG9zdCgpLCA0MDAgLypiYWQgcmVxdWVzdCovLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBuZXdVcmwudG9TdHJpbmcoKSwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgUUNvcmVBcHBsaWNhdGlvbjo6dHJhbnNsYXRlKCJRV2ViUGFnZSIs
ICJJbmZpbml0ZSByZWN1cnNpb24gaW4gcmVkaXJlY3Rpb24gcmVxdWVzdCIpKTsKICAgICAgICAg
ICAgIGNsaWVudC0+ZGlkRmFpbChtX3Jlc291cmNlSGFuZGxlLCBlcnJvcik7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KLQogICAgICAgICBtX3JlZGlyZWN0ZWQgPSB0cnVlOwogCiAg
ICAgICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gbV9yZXNvdXJjZUhhbmRsZS0+cmVx
dWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3Jr
UmVwbHlIYW5kbGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuaAppbmRleCBlYjVhZTNjLi4wNGUyZjc0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAorKysgYi9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaApAQCAtODIsNiArODIsNyBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRGaW5pc2g7CiAgICAgYm9vbCBtX3Nob3VsZFNl
bmRSZXNwb25zZTsKICAgICBib29sIG1fc2hvdWxkRm9yd2FyZERhdGE7CisgICAgaW50IG1fcmVk
aXJlY3Rpb25Db3VudGVyOwogfTsKIAogLy8gU2VsZiBkZXN0cnVjdGluZyBRSU9EZXZpY2UgZm9y
IEZvcm1EYXRhCi0tIAoxLjYuMy4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52554</attachid>
            <date>2010-04-05 12:04:06 -0700</date>
            <delta_ts>2010-04-05 12:12:37 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-2010-04-05-Robert-Hogan-robert-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>4602</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSBmNzUwOGI1NjdiOWMxYTQxOTJhZGQ0ZDIxMGQ2YzRiOGM0NTgzNTQ2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTk6MTU6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA0
LTA1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtRdF0gRml4IGluZmluaXRlIHJlZGlyZWN0aW9u
IGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKCiAgICAgICAgUHV0IGEgbWF4aW11bSBvbiBj
b25zZWN1dGl2ZSByZWRpcmVjdGlvbnMgc28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgIHdvcnJ5
IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwgb3Igbm90LgoKICAgICAgICBUb2xlcmF0
ZSB1cCB0byAxMCBjb25zZWN1dGl2ZSByZWRpcmVjdGlvbnMsIGFueXRoaW5nIGJleW9uZAogICAg
ICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVudGlhbGx5IGluZmluaXRlIHJlY3Vyc2lvbiBp
biB0aGUKICAgICAgICByZWRpcmVjdGlvbiByZXF1ZXN0cy4gVGhpcyBpcyB0aGUgc2FtZSBiZWhh
dmlvdXIgYXMgRmlyZWZveC4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM3MDk3CgogICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpR
TmV0d29ya1JlcGx5SGFuZGxlcik6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5k
bGVyOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCk6CiAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmg6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysrKysrKysrKysrKysrCiAuLi4v
cGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgICB8ICAgIDkgKysr
KysrLS0tCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
aCB8ICAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNWQ1OTIwZS4uYTNiNDg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTQsNiArNCwyNiBAQAogCiAgICAgICAgIFtRdF0gRml4
IGluZmluaXRlIHJlZGlyZWN0aW9uIGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKIAorICAg
ICAgICBQdXQgYSBtYXhpbXVtIG9uIGNvbnNlY3V0aXZlIHJlZGlyZWN0aW9ucyBzbyB3ZSBkb24n
dCBoYXZlIHRvCisgICAgICAgIHdvcnJ5IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwg
b3Igbm90LgorCisgICAgICAgIFRvbGVyYXRlIHVwIHRvIDEwIGNvbnNlY3V0aXZlIHJlZGlyZWN0
aW9ucywgYW55dGhpbmcgYmV5b25kCisgICAgICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVu
dGlhbGx5IGluZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGUKKyAgICAgICAgcmVkaXJlY3Rpb24gcmVx
dWVzdHMuIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIEZpcmVmb3guCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDk3CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpRTmV0d29ya1JlcGx5SGFuZGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3BvbnNlSWZOZWVk
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
aDoKKworMjAxMC0wNC0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggaW5m
aW5pdGUgcmVkaXJlY3Rpb24gbG9vcCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCiAgICAgICAg
IFF0IGVudGVycyBhbiBpbmZpbml0ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVkaXJl
Y3RzIHRvIGl0c2VsZi4KIAogICAgICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2Nvbm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRleCBmYmIxOGM1Li40ZTZjYTQy
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhh
bmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNkZWZpbmUgU0lHTkFMX0NPTk4gUXQ6OlF1
ZXVlZENvbm5lY3Rpb24KICNlbmRpZgogCisjZGVmaW5lIE1BWF9SRURJUkVDVElPTl9UUklFUyAx
MAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEzOCw2ICsxMzksNyBAQCBRTmV0d29ya1Jl
cGx5SGFuZGxlcjo6UU5ldHdvcmtSZXBseUhhbmRsZXIoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwg
TG9hZE1vZGUgbG9hZAogICAgICwgbV9zaG91bGRGaW5pc2goZmFsc2UpCiAgICAgLCBtX3Nob3Vs
ZFNlbmRSZXNwb25zZShmYWxzZSkKICAgICAsIG1fc2hvdWxkRm9yd2FyZERhdGEoZmFsc2UpCisg
ICAgLCBtX3JlZGlyZWN0aW9uVHJpZXMoTUFYX1JFRElSRUNUSU9OX1RSSUVTKQogewogICAgIGNv
bnN0IFJlc291cmNlUmVxdWVzdCAmciA9IG1fcmVzb3VyY2VIYW5kbGUtPnJlcXVlc3QoKTsKIApA
QCAtMzM2LDE0ICszMzgsMTUgQEAgdm9pZCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3Bv
bnNlSWZOZWVkZWQoKQogICAgIFFVcmwgcmVkaXJlY3Rpb24gPSBtX3JlcGx5LT5hdHRyaWJ1dGUo
UU5ldHdvcmtSZXF1ZXN0OjpSZWRpcmVjdGlvblRhcmdldEF0dHJpYnV0ZSkudG9VcmwoKTsKICAg
ICBpZiAocmVkaXJlY3Rpb24uaXNWYWxpZCgpKSB7CiAgICAgICAgIFFVcmwgbmV3VXJsID0gbV9y
ZXBseS0+dXJsKCkucmVzb2x2ZWQocmVkaXJlY3Rpb24pOwotICAgICAgICBpZiAobmV3VXJsID09
IG1fcmVwbHktPnVybCgpKSB7IC8vIGF2b2lkIHJlZGlyZWN0aW5nIHRvIHRoZSBzYW1lIHVybCBh
cyBpdCBjYXVzZXMgaW5maW5pdGUgcmVjdXJzaW9uCisKKyAgICAgICAgbV9yZWRpcmVjdGlvblRy
aWVzLS07CisgICAgICAgIGlmIChtX3JlZGlyZWN0aW9uVHJpZXMgPT0gMCkgeyAvLyAxMCBvciBt
b3JlIHJlZGlyZWN0aW9ucyB0byB0aGUgc2FtZSB1cmwgaXMgY29uc2lkZXJlZCBpbmZpbml0ZSBy
ZWN1cnNpb24KICAgICAgICAgICAgIFJlc291cmNlRXJyb3IgZXJyb3IobmV3VXJsLmhvc3QoKSwg
NDAwIC8qYmFkIHJlcXVlc3QqLywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3
VXJsLnRvU3RyaW5nKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFDb3JlQXBw
bGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAiSW5maW5pdGUgcmVjdXJzaW9uIGluIHJl
ZGlyZWN0aW9uIHJlcXVlc3QiKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFD
b3JlQXBwbGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAiUmVkaXJlY3Rpb24gbGltaXQg
cmVhY2hlZCIpKTsKICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmFpbChtX3Jlc291cmNlSGFuZGxl
LCBlcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLQogICAgICAgICBtX3Jl
ZGlyZWN0ZWQgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0g
bV9yZXNvdXJjZUhhbmRsZS0+cmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmggYi9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAppbmRleCBlYjVhZTNjLi4xYWJhZDRlIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRs
ZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRs
ZXIuaApAQCAtODIsNiArODIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRGaW5pc2g7
CiAgICAgYm9vbCBtX3Nob3VsZFNlbmRSZXNwb25zZTsKICAgICBib29sIG1fc2hvdWxkRm9yd2Fy
ZERhdGE7CisgICAgaW50IG1fcmVkaXJlY3Rpb25UcmllczsKIH07CiAKIC8vIFNlbGYgZGVzdHJ1
Y3RpbmcgUUlPRGV2aWNlIGZvciBGb3JtRGF0YQotLSAKMS42LjMuMwoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>52557</attachid>
            <date>2010-04-05 12:12:37 -0700</date>
            <delta_ts>2010-04-05 20:33:39 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>0001-2010-04-05-Robert-Hogan-robert-webkit.org.patch</filename>
            <type>text/plain</type>
            <size>4608</size>
            <attacher name="Robert Hogan">robert</attacher>
            
              <data encoding="base64">RnJvbSA2OWYwZTRmODBlNWJjYzBkMmE1MDUwMDc0YWVjZjliOTk3MDdlZDRmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSb2JlcnQgSG9nYW4gPHJvYmVydEB3ZWJraXQub3JnPgpEYXRl
OiBNb24sIDUgQXByIDIwMTAgMTk6MTU6MzcgKzAxMDAKU3ViamVjdDogW1BBVENIXSAyMDEwLTA0
LTA1ICBSb2JlcnQgSG9nYW4gIDxyb2JlcnRAd2Via2l0Lm9yZz4KCiAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIFtRdF0gRml4IGluZmluaXRlIHJlZGlyZWN0aW9u
IGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKCiAgICAgICAgUHV0IGEgbWF4aW11bSBvbiBj
b25zZWN1dGl2ZSByZWRpcmVjdGlvbnMgc28gd2UgZG9uJ3QgaGF2ZSB0bwogICAgICAgIHdvcnJ5
IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwgb3Igbm90LgoKICAgICAgICBUb2xlcmF0
ZSB1cCB0byAxMCBjb25zZWN1dGl2ZSByZWRpcmVjdGlvbnMsIGFueXRoaW5nIGJleW9uZAogICAg
ICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVudGlhbGx5IGluZmluaXRlIHJlY3Vyc2lvbiBp
biB0aGUKICAgICAgICByZWRpcmVjdGlvbiByZXF1ZXN0cy4gVGhpcyBpcyB0aGUgc2FtZSBiZWhh
dmlvdXIgYXMgRmlyZWZveC4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM3MDk3CgogICAgICAgICogcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1Jl
cGx5SGFuZGxlci5jcHA6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpR
TmV0d29ya1JlcGx5SGFuZGxlcik6CiAgICAgICAgKFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5k
bGVyOjpzZW5kUmVzcG9uc2VJZk5lZWRlZCk6CiAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3F0
L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmg6Ci0tLQogV2ViQ29yZS9DaGFuZ2VMb2cgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIwICsrKysrKysrKysrKysrKysrKysrCiAuLi4v
cGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5SGFuZGxlci5jcHAgICB8ICAgIDkgKysr
KysrLS0tCiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
aCB8ICAgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
aW5kZXggNWQ1OTIwZS4uYTNiNDg4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysr
IGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTQsNiArNCwyNiBAQAogCiAgICAgICAgIFtRdF0gRml4
IGluZmluaXRlIHJlZGlyZWN0aW9uIGxvb3AgaW4gUU5ldHdvcmtSZXBseUhhbmRsZXIKIAorICAg
ICAgICBQdXQgYSBtYXhpbXVtIG9uIGNvbnNlY3V0aXZlIHJlZGlyZWN0aW9ucyBzbyB3ZSBkb24n
dCBoYXZlIHRvCisgICAgICAgIHdvcnJ5IGFib3V0IHdoZXRoZXIgaXQncyB0aGUgc2FtZSB1cmwg
b3Igbm90LgorCisgICAgICAgIFRvbGVyYXRlIHVwIHRvIDEwIGNvbnNlY3V0aXZlIHJlZGlyZWN0
aW9ucywgYW55dGhpbmcgYmV5b25kCisgICAgICAgIHRoYXQgaXMgY29uc2lkZXJlZCBhIHBvdGVu
dGlhbGx5IGluZmluaXRlIHJlY3Vyc2lvbiBpbiB0aGUKKyAgICAgICAgcmVkaXJlY3Rpb24gcmVx
dWVzdHMuIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIEZpcmVmb3guCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MDk3CisKKyAgICAgICAg
KiBwbGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlFOZXR3b3JrUmVwbHlIYW5kbGVyOjpRTmV0d29ya1JlcGx5SGFuZGxlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2VuZFJlc3BvbnNlSWZOZWVk
ZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIu
aDoKKworMjAxMC0wNC0wNSAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0QHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW1F0XSBGaXggaW5m
aW5pdGUgcmVkaXJlY3Rpb24gbG9vcCBpbiBRTmV0d29ya1JlcGx5SGFuZGxlcgorCiAgICAgICAg
IFF0IGVudGVycyBhbiBpbmZpbml0ZSBsb29wIGlmIGEgcmVkaXJlY3QgcmVzcG9uc2UgcmVkaXJl
Y3RzIHRvIGl0c2VsZi4KIAogICAgICAgICBGaXhlcyBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2Nvbm5lY3Rpb24tZXJyb3Itc3luYy5odG1sCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmNwcAppbmRleCBmYmIxOGM1Li4yN2I1N2I3
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhh
bmRsZXIuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9xdC9RTmV0d29ya1JlcGx5
SGFuZGxlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNkZWZpbmUgU0lHTkFMX0NPTk4gUXQ6OlF1
ZXVlZENvbm5lY3Rpb24KICNlbmRpZgogCitzdGF0aWMgY29uc3QgaW50IGdNYXhSZWN1cnNpb25M
aW1pdCA9IDEwOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEzOCw2ICsxMzksNyBAQCBR
TmV0d29ya1JlcGx5SGFuZGxlcjo6UU5ldHdvcmtSZXBseUhhbmRsZXIoUmVzb3VyY2VIYW5kbGUq
IGhhbmRsZSwgTG9hZE1vZGUgbG9hZAogICAgICwgbV9zaG91bGRGaW5pc2goZmFsc2UpCiAgICAg
LCBtX3Nob3VsZFNlbmRSZXNwb25zZShmYWxzZSkKICAgICAsIG1fc2hvdWxkRm9yd2FyZERhdGEo
ZmFsc2UpCisgICAgLCBtX3JlZGlyZWN0aW9uVHJpZXMoZ01heFJlY3Vyc2lvbkxpbWl0KQogewog
ICAgIGNvbnN0IFJlc291cmNlUmVxdWVzdCAmciA9IG1fcmVzb3VyY2VIYW5kbGUtPnJlcXVlc3Qo
KTsKIApAQCAtMzM2LDE0ICszMzgsMTUgQEAgdm9pZCBRTmV0d29ya1JlcGx5SGFuZGxlcjo6c2Vu
ZFJlc3BvbnNlSWZOZWVkZWQoKQogICAgIFFVcmwgcmVkaXJlY3Rpb24gPSBtX3JlcGx5LT5hdHRy
aWJ1dGUoUU5ldHdvcmtSZXF1ZXN0OjpSZWRpcmVjdGlvblRhcmdldEF0dHJpYnV0ZSkudG9Vcmwo
KTsKICAgICBpZiAocmVkaXJlY3Rpb24uaXNWYWxpZCgpKSB7CiAgICAgICAgIFFVcmwgbmV3VXJs
ID0gbV9yZXBseS0+dXJsKCkucmVzb2x2ZWQocmVkaXJlY3Rpb24pOwotICAgICAgICBpZiAobmV3
VXJsID09IG1fcmVwbHktPnVybCgpKSB7IC8vIGF2b2lkIHJlZGlyZWN0aW5nIHRvIHRoZSBzYW1l
IHVybCBhcyBpdCBjYXVzZXMgaW5maW5pdGUgcmVjdXJzaW9uCisKKyAgICAgICAgbV9yZWRpcmVj
dGlvblRyaWVzLS07CisgICAgICAgIGlmIChtX3JlZGlyZWN0aW9uVHJpZXMgPT0gMCkgeyAvLyAx
MCBvciBtb3JlIHJlZGlyZWN0aW9ucyB0byB0aGUgc2FtZSB1cmwgaXMgY29uc2lkZXJlZCBpbmZp
bml0ZSByZWN1cnNpb24KICAgICAgICAgICAgIFJlc291cmNlRXJyb3IgZXJyb3IobmV3VXJsLmhv
c3QoKSwgNDAwIC8qYmFkIHJlcXVlc3QqLywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgbmV3VXJsLnRvU3RyaW5nKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFD
b3JlQXBwbGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAiSW5maW5pdGUgcmVjdXJzaW9u
IGluIHJlZGlyZWN0aW9uIHJlcXVlc3QiKSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFFDb3JlQXBwbGljYXRpb246OnRyYW5zbGF0ZSgiUVdlYlBhZ2UiLCAiUmVkaXJlY3Rpb24g
bGltaXQgcmVhY2hlZCIpKTsKICAgICAgICAgICAgIGNsaWVudC0+ZGlkRmFpbChtX3Jlc291cmNl
SGFuZGxlLCBlcnJvcik7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLQogICAgICAg
ICBtX3JlZGlyZWN0ZWQgPSB0cnVlOwogCiAgICAgICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1
ZXN0ID0gbV9yZXNvdXJjZUhhbmRsZS0+cmVxdWVzdCgpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3F0L1FOZXR3b3JrUmVwbHlIYW5kbGVyLmggYi9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBseUhhbmRsZXIuaAppbmRleCBlYjVhZTNjLi4xYWJh
ZDRlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvcXQvUU5ldHdvcmtSZXBs
eUhhbmRsZXIuaApAQCAtODIsNiArODIsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9zaG91bGRG
aW5pc2g7CiAgICAgYm9vbCBtX3Nob3VsZFNlbmRSZXNwb25zZTsKICAgICBib29sIG1fc2hvdWxk
Rm9yd2FyZERhdGE7CisgICAgaW50IG1fcmVkaXJlY3Rpb25UcmllczsKIH07CiAKIC8vIFNlbGYg
ZGVzdHJ1Y3RpbmcgUUlPRGV2aWNlIGZvciBGb3JtRGF0YQotLSAKMS42LjMuMwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>