<?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>53594</bug_id>
          
          <creation_ts>2011-02-02 07:48:51 -0800</creation_ts>
          <short_desc>[v8] frame several more JS code invocations into v8::TryCatch</short_desc>
          <delta_ts>2011-02-04 03:02:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="anton muhin">antonm</reporter>
          <assigned_to name="anton muhin">antonm</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>343976</commentid>
    <comment_count>0</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-02 07:48:51 -0800</bug_when>
    <thetext>[v8] frame several more JS code invocations into v8::TryCatch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343977</commentid>
    <comment_count>1</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-02 07:51:58 -0800</bug_when>
    <thetext>I am changing v8::TryCatch semantics to allow it to catch exceptions thrown from embedder code (see http://codereview.chromium.org/6397011/).  This patch prepares v8 bindings to properly handle new semantics (but we will need minor LayoutTests rebaselining as well).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343980</commentid>
    <comment_count>2</comment_count>
      <attachid>80913</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-02 07:57:44 -0800</bug_when>
    <thetext>Created attachment 80913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344184</commentid>
    <comment_count>3</comment_count>
      <attachid>80913</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-02 13:29:40 -0800</bug_when>
    <thetext>Comment on attachment 80913
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Covered by the existing layout tests.

What do you mean by that?  Will we pass some tests that we used to fail after this patch?  If so, we should list them.  If not, we should write tests that show the change in behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344609</commentid>
    <comment_count>4</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-03 03:02:22 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 80913 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80913&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        Covered by the existing layout tests.
&gt; 
&gt; What do you mean by that?  Will we pass some tests that we used to fail after this patch?  If so, we should list them.  If not, we should write tests that show the change in behavior.

I mean that this patch doesn&apos;t change current behaviour (at least as far as Layout Tests are concerned).  But it is a necessary preparation step before I land v8 patch.  Does that sound reasonable?  May you suggest the proper wording?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344767</commentid>
    <comment_count>5</comment_count>
      <attachid>80913</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 09:26:04 -0800</bug_when>
    <thetext>Comment on attachment 80913
Patch

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

&gt;&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt;&gt; +        Covered by the existing layout tests.
&gt;&gt; 
&gt;&gt; What do you mean by that?  Will we pass some tests that we used to fail after this patch?  If so, we should list them.  If not, we should write tests that show the change in behavior.
&gt; 
&gt; I mean that this patch doesn&apos;t change current behaviour (at least as far as Layout Tests are concerned).  But it is a necessary preparation step before I land v8 patch.  Does that sound reasonable?  May you suggest the proper wording?

Maybe I&apos;m just lacking context on this change.  Do you mean its not possible to throw exceptions that will be caught by these blocks?  It&apos;s probably better to explain why this patch doesn&apos;t change any observable behavior and, give that&apos;s the case, why we want to make this change.  If it&apos;s at all possible to observe this change, we&apos;ll want to add a test for it, even though no such test exists currently.  Almost every patch should have an associated test.  It&apos;s the rare exception that a patch won&apos;t have a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344783</commentid>
    <comment_count>6</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-03 09:40:24 -0800</bug_when>
    <thetext>I am sorry, Adam, I didn&apos;t explain it properly.  Yes, there is a context.

Currently there is a bug in v8: if the exception is thrown with v8 API (using v8::ThrowException), it&apos;s not caught by v8::TryCatch unless v8 crosses C++/JS boundary.  For most of the cases, v8 does cross it.  But sometimes, for example, when query object with GetRealNamedProperty, it doesn&apos;t and one can obtain an empty handle to the property while property is actually present.  There is also http://code.google.com/p/v8/issues/detail?id=1072

So we decided to fix it and make such exceptions catchable by surrounding v8::TryCatch.  That though changes exception throwing semantics and hence I needed to prepare some places in v8 bindings to to be committed to v8 change.  Hence this patch.  It doesn&apos;t alter v8 bindings behaviour as far as tested by layout tests (save for reasonable rebaseline of a single layout test).

And I cannot guarantee that we won&apos;t change behaviour on some paths, but so far the best thing I can do is just run all the tests we have.

Another way to consider this patch: imagine that instead of first submitting patch to WebKit, I&apos;d submit it to v8.  On next v8 roll, several Layout tests would started to fail.  And one would require this patch or something similar to fix them.  So that&apos;s kind of preemptive fix.

I hope it explains the reason for this patch, but I&apos;d be glad to give any additional details.

(In reply to comment #5)
&gt; (From update of attachment 80913 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=80913&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/ChangeLog:8
&gt; &gt;&gt;&gt; +        Covered by the existing layout tests.
&gt; &gt;&gt; 
&gt; &gt;&gt; What do you mean by that?  Will we pass some tests that we used to fail after this patch?  If so, we should list them.  If not, we should write tests that show the change in behavior.
&gt; &gt; 
&gt; &gt; I mean that this patch doesn&apos;t change current behaviour (at least as far as Layout Tests are concerned).  But it is a necessary preparation step before I land v8 patch.  Does that sound reasonable?  May you suggest the proper wording?
&gt; 
&gt; Maybe I&apos;m just lacking context on this change.  Do you mean its not possible to throw exceptions that will be caught by these blocks?  It&apos;s probably better to explain why this patch doesn&apos;t change any observable behavior and, give that&apos;s the case, why we want to make this change.  If it&apos;s at all possible to observe this change, we&apos;ll want to add a test for it, even though no such test exists currently.  Almost every patch should have an associated test.  It&apos;s the rare exception that a patch won&apos;t have a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344785</commentid>
    <comment_count>7</comment_count>
      <attachid>80913</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 09:43:18 -0800</bug_when>
    <thetext>Comment on attachment 80913
Patch

Thanks.  That makes a lot of sense.  Can you add some of that information to the ChangeLog before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344805</commentid>
    <comment_count>8</comment_count>
      <attachid>81074</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-03 10:12:26 -0800</bug_when>
    <thetext>Created attachment 81074
Addressing Adam&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344806</commentid>
    <comment_count>9</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-03 10:13:07 -0800</bug_when>
    <thetext>Sure, Adam.  May you quickly check the wording of the new patch?

(In reply to comment #7)
&gt; (From update of attachment 80913 [details])
&gt; Thanks.  That makes a lot of sense.  Can you add some of that information to the ChangeLog before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344809</commentid>
    <comment_count>10</comment_count>
      <attachid>81074</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 10:17:31 -0800</bug_when>
    <thetext>Comment on attachment 81074
Addressing Adam&apos;s comments

Looks great!  Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344811</commentid>
    <comment_count>11</comment_count>
      <attachid>81074</attachid>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-03 10:20:14 -0800</bug_when>
    <thetext>Comment on attachment 81074
Addressing Adam&apos;s comments

Thanks a lot for review, Adam!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345252</commentid>
    <comment_count>12</comment_count>
      <attachid>81074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 19:01:23 -0800</bug_when>
    <thetext>Comment on attachment 81074
Addressing Adam&apos;s comments

Rejecting attachment 81074 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;apply-...&quot; exit_code: 1

Last 500 characters of output:
rks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py&quot;, line 361, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_http.py&quot;, line 756, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_http.py&quot;, line 706, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://queues.webkit.org/results/7689919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345334</commentid>
    <comment_count>13</comment_count>
      <attachid>81074</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 21:29:36 -0800</bug_when>
    <thetext>Comment on attachment 81074
Addressing Adam&apos;s comments

Rejecting attachment 81074 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-4&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
ommit-queue/Tools/Scripts/webkitpy/tool/commands/stepsequence.py&quot;, line 64, in _run
    step(tool, options).run(state)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/tool/steps/validatereviewer.py&quot;, line 57, in run
    if self._has_valid_reviewer(changelog_entry):
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/tool/steps/validatereviewer.py&quot;, line 42, in _has_valid_reviewer
    if changelog_entry.reviewer():
AttributeError: &apos;NoneType&apos; object has no attribute &apos;reviewer&apos;

Full output: http://queues.webkit.org/results/7693834</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345344</commentid>
    <comment_count>14</comment_count>
      <attachid>81187</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 21:43:51 -0800</bug_when>
    <thetext>Created attachment 81187
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345377</commentid>
    <comment_count>15</comment_count>
      <attachid>81187</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 23:13:03 -0800</bug_when>
    <thetext>Comment on attachment 81187
Patch for landing

Rejecting attachment 81187 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-8&apos;, &apos;land-a...&quot; exit_code: 1

Last 500 characters of output:
ommit-queue/Tools/Scripts/webkitpy/tool/commands/stepsequence.py&quot;, line 64, in _run
    step(tool, options).run(state)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/tool/steps/validatereviewer.py&quot;, line 57, in run
    if self._has_valid_reviewer(changelog_entry):
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/tool/steps/validatereviewer.py&quot;, line 42, in _has_valid_reviewer
    if changelog_entry.reviewer():
AttributeError: &apos;NoneType&apos; object has no attribute &apos;reviewer&apos;

Full output: http://queues.webkit.org/results/7698428</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345380</commentid>
    <comment_count>16</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 23:17:50 -0800</bug_when>
    <thetext>Ah!  I figured it out.  Your ChangeLog indent is off by one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345383</commentid>
    <comment_count>17</comment_count>
      <attachid>81192</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-03 23:21:02 -0800</bug_when>
    <thetext>Created attachment 81192
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345391</commentid>
    <comment_count>18</comment_count>
      <attachid>81192</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 23:51:06 -0800</bug_when>
    <thetext>Comment on attachment 81192
Patch for landing

Clearing flags on attachment: 81192

Committed r77613: &lt;http://trac.webkit.org/changeset/77613&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345392</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-02-03 23:51:11 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345427</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-02-04 02:59:22 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/77613 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>345428</commentid>
    <comment_count>21</comment_count>
    <who name="anton muhin">antonm</who>
    <bug_when>2011-02-04 03:02:31 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Ah!  I figured it out.  Your ChangeLog indent is off by one.

Thanks a lot for your help, Adam!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80913</attachid>
            <date>2011-02-02 07:57:44 -0800</date>
            <delta_ts>2011-02-03 10:12:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-53594-20110202185742.patch</filename>
            <type>text/plain</type>
            <size>3086</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5NGMzZjdlMjg2M2I4NThhYjZiZTYzYWM4ZTMyOTI4ZmYyNmZmZjlkLi40
MjkxYzdjNmQxYzZhZTAxNDZiZWYwNzExZjI0NGEyNDFkNTdhMmJlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTEtMDItMDIgIEFudG9uIE11aGluICA8YW50b25tQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbdjhd
IGZyYW1lIHNldmVyYWwgbW9yZSBKUyBjb2RlIGludm9jYXRpb25zIGludG8gdjg6OlRyeUNhdGNo
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MzU5NAor
CisgICAgICAgIENvdmVyZWQgYnkgdGhlIGV4aXN0aW5nIGxheW91dCB0ZXN0cy4KKworICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6
cnVuU2NyaXB0KTogRG8gbm90IHJlbHkgb24gZW1wdHkgaGFuZGxlIGFzIGEgc2lnbmFsIG9mIGV4
Y2VwdGlvbiwgd3JhcCBpbnRvIHY4OjpUcnlDYXRjaCBpbnN0ZWFkCisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhXaW5k
b3dFcnJvckhhbmRsZXI6OmNhbGxMaXN0ZW5lckZ1bmN0aW9uKTogRGl0dG8KKwogMjAxMS0wMi0w
MiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3Bw
CmluZGV4IDVkMDk0ODI2ZTlkOWI1MWVmNmM0ZGI5OTU0MTUzNTczODE5MzAxZDQuLmQ5MGNmMWMw
ODFiNTlkOTg1MWRlNzYyODU0YTVmZmFmNTM5ZWQ4NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4UHJveHkuY3BwCkBAIC00MDcsNiArNDA3LDggQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g
VjhQcm94eTo6cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0LCBib29sIGlz
SW4KIAogICAgIC8vIFJ1biB0aGUgc2NyaXB0IGFuZCBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50
IHJlY3Vyc2lvbiBkZXB0aC4KICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiByZXN1bHQ7CisgICAg
djg6OlRyeUNhdGNoIHRyeUNhdGNoOworICAgIHRyeUNhdGNoLlNldFZlcmJvc2UodHJ1ZSk7CiAg
ICAgewogICAgICAgICAvLyBTZWUgY29tbWVudCBpbiBWOFByb3h5OjpjYWxsRnVuY3Rpb24uCiAg
ICAgICAgIG1fZnJhbWUtPmtlZXBBbGl2ZSgpOwpAQCAtNDIzLDYgKzQyNSwxMSBAQCB2ODo6TG9j
YWw8djg6OlZhbHVlPiBWOFByb3h5OjpydW5TY3JpcHQodjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBz
Y3JpcHQsIGJvb2wgaXNJbgogICAgICAgICBBU1NFUlQocmVzdWx0LklzRW1wdHkoKSk7CiAKICAg
ICAvLyBIYW5kbGUgVjggaW50ZXJuYWwgZXJyb3Igc2l0dWF0aW9uIChPdXQtb2YtbWVtb3J5KS4K
KyAgICBpZiAodHJ5Q2F0Y2guSGFzQ2F1Z2h0KCkpIHsKKyAgICAgICAgQVNTRVJUKHJlc3VsdC5J
c0VtcHR5KCkpOworICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKKyAg
ICB9CisKICAgICBpZiAocmVzdWx0LklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcAppbmRleCA0MjAzYWQ1YzIzOWNjYzgwODNhZjMzY2Zj
OWVkNDIwMzVkNDA4YWZkLi5lMzNhMTgzZjA1MjA3ODk1NjY0OTA3NzYxMDc5YTYzMmRhZDMwNDdm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFu
ZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhh
bmRsZXIuY3BwCkBAIC01NCw4ICs1NCwxMCBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFdpbmRv
d0Vycm9ySGFuZGxlcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQwogICAg
ICAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBjYWxsRnVuY3Rpb24gPSB2ODo6TG9jYWw8djg6
OkZ1bmN0aW9uPjo6Q2FzdChsaXN0ZW5lcik7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0
PiB0aGlzVmFsdWUgPSB2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpLT5HbG9iYWwoKTsKICAgICAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBhcmFtZXRlcnNbM10gPSB7IHY4U3RyaW5nKGVycm9y
RXZlbnQtPm1lc3NhZ2UoKSksIHY4U3RyaW5nKGVycm9yRXZlbnQtPmZpbGVuYW1lKCkpLCB2ODo6
SW50ZWdlcjo6TmV3KGVycm9yRXZlbnQtPmxpbmVubygpKSB9OworICAgICAgICB2ODo6VHJ5Q2F0
Y2ggdHJ5Q2F0Y2g7CisgICAgICAgIHRyeUNhdGNoLlNldFZlcmJvc2UodHJ1ZSk7CiAgICAgICAg
IHJldHVyblZhbHVlID0gY2FsbEZ1bmN0aW9uLT5DYWxsKHRoaXNWYWx1ZSwgMywgcGFyYW1ldGVy
cyk7Ci0gICAgICAgIGlmICghcmV0dXJuVmFsdWUuSXNFbXB0eSgpICYmIHJldHVyblZhbHVlLT5J
c0Jvb2xlYW4oKSAmJiAhcmV0dXJuVmFsdWUtPkJvb2xlYW5WYWx1ZSgpKQorICAgICAgICBpZiAo
IXRyeUNhdGNoLkhhc0NhdWdodCgpICYmICFyZXR1cm5WYWx1ZS5Jc0VtcHR5KCkgJiYgcmV0dXJu
VmFsdWUtPklzQm9vbGVhbigpICYmICFyZXR1cm5WYWx1ZS0+Qm9vbGVhblZhbHVlKCkpCiAgICAg
ICAgICAgICBldmVudC0+cHJldmVudERlZmF1bHQoKTsKICAgICB9CiAgICAgcmV0dXJuIHJldHVy
blZhbHVlOwo=
</data>
<flag name="review"
          id="72425"
          type_id="1"
          status="+"
          setter="abarth"
    />
    <flag name="commit-queue"
          id="72606"
          type_id="3"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81074</attachid>
            <date>2011-02-03 10:12:26 -0800</date>
            <delta_ts>2011-02-03 21:43:48 -0800</delta_ts>
            <desc>Addressing Adam&apos;s comments</desc>
            <filename>a.patch</filename>
            <type>text/plain</type>
            <size>3361</size>
            <attacher name="anton muhin">antonm</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZTMwYjhlLi5mYWQzYjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKyAyMDExLTAyLTAzICBBbnRvbiBNdWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICBbdjhdIGZyYW1l
IHNldmVyYWwgbW9yZSBKUyBjb2RlIGludm9jYXRpb25zIGludG8gdjg6OlRyeUNhdGNoCisgICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTM1OTQKKworICAg
ICAgICAgVGhpcyBwYXRjaCBpcyBwcmVlbXB0aXZlIGFuZCBhZGp1c3RzIHY4IGJpbmRpbmdzIGNv
ZGUgdG8gZm9ydGhjb21pbmcgc21hbGwgY2hhbmdlCisgICAgICAgICBpbiB2ODo6VGhyb3dFeGNl
cHRpb24tLS1jdXJyZW50bHkgc29tZXRpbWVzIGV4Y2VwdGlvbnMgdGhyb3duIGJ5IHRoaXMgbWV0
aG9kCisgICAgICAgICBkbyBub3QgcmVhY2ggc3Vycm91bmRpbmcgdjg6OlRyeUNhdGNoIGhhbmRs
ZXIgKHNlZQorICAgICAgICAgaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL3Y4L2lzc3Vlcy9kZXRh
aWw/aWQ9MTA3MiBhbmQKKyAgICAgICAgIGh0dHA6Ly9jb2RlcmV2aWV3LmNocm9taXVtLm9yZy82
Mzk3MDExLykuICBUaGVyZWZvcmUgdGhlIGdvYWwgb2YgdGhpcyBwYXRjaAorICAgICAgICAgaXMg
dG8gbWFrZSBmb3J0aGNvbWluZyB2OCByb2xsIGFzIHNtb290aCBhcyBwb3NzaWJsZSAoYWxhcywg
d2UnbGwgc3RpbGwgbmVlZAorICAgICAgICAgb25lIHJlYmFzZWxpbmUgYXMgb2Ygbm93LikKKwor
ICAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAgICAgICAgIChXZWJDb3JlOjpW
OFByb3h5OjpydW5TY3JpcHQpOiBEbyBub3QgcmVseSBvbiBlbXB0eSBoYW5kbGUgYXMgYSBzaWdu
YWwgb2YgZXhjZXB0aW9uLCB3cmFwIGludG8gdjg6OlRyeUNhdGNoIGluc3RlYWQKKyAgICAgICAg
ICogYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwOgorICAgICAgICAgKFdlYkNv
cmU6OlY4V2luZG93RXJyb3JIYW5kbGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbik6IERpdHRvCisK
IDIwMTEtMDItMDMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQ
cm94eS5jcHAKaW5kZXggNWQwOTQ4Mi4uZDkwY2YxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5jcHAKQEAgLTQwNyw2ICs0MDcsOCBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBW
OFByb3h5OjpydW5TY3JpcHQodjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQsIGJvb2wgaXNJ
bgogCiAgICAgLy8gUnVuIHRoZSBzY3JpcHQgYW5kIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQg
cmVjdXJzaW9uIGRlcHRoLgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKKyAgICB2
ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CisgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAg
ICB7CiAgICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KICAg
ICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7CkBAIC00MjMsNiArNDI1LDExIEBAIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNj
cmlwdCwgYm9vbCBpc0luCiAgICAgICAgIEFTU0VSVChyZXN1bHQuSXNFbXB0eSgpKTsKIAogICAg
IC8vIEhhbmRsZSBWOCBpbnRlcm5hbCBlcnJvciBzaXR1YXRpb24gKE91dC1vZi1tZW1vcnkpLgor
ICAgIGlmICh0cnlDYXRjaC5IYXNDYXVnaHQoKSkgeworICAgICAgICBBU1NFUlQocmVzdWx0Lklz
RW1wdHkoKSk7CisgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOworICAg
IH0KKwogICAgIGlmIChyZXN1bHQuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbm90SGFuZGxl
ZEJ5SW50ZXJjZXB0b3IoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCmluZGV4IDQyMDNhZDUuLmUzM2ExODMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAK
QEAgLTU0LDggKzU0LDEwIEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4V2luZG93RXJyb3JIYW5k
bGVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25DCiAgICAgICAgIHY4OjpM
b2NhbDx2ODo6RnVuY3Rpb24+IGNhbGxGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+
OjpDYXN0KGxpc3RlbmVyKTsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IHRoaXNWYWx1
ZSA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCktPkdsb2JhbCgpOwogICAgICAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gcGFyYW1ldGVyc1szXSA9IHsgdjhTdHJpbmcoZXJyb3JFdmVudC0+bWVz
c2FnZSgpKSwgdjhTdHJpbmcoZXJyb3JFdmVudC0+ZmlsZW5hbWUoKSksIHY4OjpJbnRlZ2VyOjpO
ZXcoZXJyb3JFdmVudC0+bGluZW5vKCkpIH07CisgICAgICAgIHY4OjpUcnlDYXRjaCB0cnlDYXRj
aDsKKyAgICAgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICAgICAgcmV0dXJuVmFs
dWUgPSBjYWxsRnVuY3Rpb24tPkNhbGwodGhpc1ZhbHVlLCAzLCBwYXJhbWV0ZXJzKTsKLSAgICAg
ICAgaWYgKCFyZXR1cm5WYWx1ZS5Jc0VtcHR5KCkgJiYgcmV0dXJuVmFsdWUtPklzQm9vbGVhbigp
ICYmICFyZXR1cm5WYWx1ZS0+Qm9vbGVhblZhbHVlKCkpCisgICAgICAgIGlmICghdHJ5Q2F0Y2gu
SGFzQ2F1Z2h0KCkgJiYgIXJldHVyblZhbHVlLklzRW1wdHkoKSAmJiByZXR1cm5WYWx1ZS0+SXNC
b29sZWFuKCkgJiYgIXJldHVyblZhbHVlLT5Cb29sZWFuVmFsdWUoKSkKICAgICAgICAgICAgIGV2
ZW50LT5wcmV2ZW50RGVmYXVsdCgpOwogICAgIH0KICAgICByZXR1cm4gcmV0dXJuVmFsdWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81187</attachid>
            <date>2011-02-03 21:43:51 -0800</date>
            <delta_ts>2011-02-03 23:20:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53594-20110203214350.patch</filename>
            <type>text/plain</type>
            <size>3293</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc3NjA0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKyAyMDExLTAyLTAzICBBbnRvbiBN
dWhpbiAgPGFudG9ubUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0g
QmFydGguCisKKyAgICAgICAgIFt2OF0gZnJhbWUgc2V2ZXJhbCBtb3JlIEpTIGNvZGUgaW52b2Nh
dGlvbnMgaW50byB2ODo6VHJ5Q2F0Y2gKKyAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MzU5NAorCisgICAgICAgICBUaGlzIHBhdGNoIGlzIHByZWVtcHRp
dmUgYW5kIGFkanVzdHMgdjggYmluZGluZ3MgY29kZSB0byBmb3J0aGNvbWluZyBzbWFsbCBjaGFu
Z2UKKyAgICAgICAgIGluIHY4OjpUaHJvd0V4Y2VwdGlvbi0tLWN1cnJlbnRseSBzb21ldGltZXMg
ZXhjZXB0aW9ucyB0aHJvd24gYnkgdGhpcyBtZXRob2QKKyAgICAgICAgIGRvIG5vdCByZWFjaCBz
dXJyb3VuZGluZyB2ODo6VHJ5Q2F0Y2ggaGFuZGxlciAoc2VlCisgICAgICAgICBodHRwOi8vY29k
ZS5nb29nbGUuY29tL3AvdjgvaXNzdWVzL2RldGFpbD9pZD0xMDcyIGFuZAorICAgICAgICAgaHR0
cDovL2NvZGVyZXZpZXcuY2hyb21pdW0ub3JnLzYzOTcwMTEvKS4gIFRoZXJlZm9yZSB0aGUgZ29h
bCBvZiB0aGlzIHBhdGNoCisgICAgICAgICBpcyB0byBtYWtlIGZvcnRoY29taW5nIHY4IHJvbGwg
YXMgc21vb3RoIGFzIHBvc3NpYmxlIChhbGFzLCB3ZSdsbCBzdGlsbCBuZWVkCisgICAgICAgICBv
bmUgcmViYXNlbGluZSBhcyBvZiBub3cuKQorCisgICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJv
eHkuY3BwOgorICAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1blNjcmlwdCk6IERvIG5vdCBy
ZWx5IG9uIGVtcHR5IGhhbmRsZSBhcyBhIHNpZ25hbCBvZiBleGNlcHRpb24sIHdyYXAgaW50byB2
ODo6VHJ5Q2F0Y2ggaW5zdGVhZAorICAgICAgICAgKiBiaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9y
SGFuZGxlci5jcHA6CisgICAgICAgICAoV2ViQ29yZTo6VjhXaW5kb3dFcnJvckhhbmRsZXI6OmNh
bGxMaXN0ZW5lckZ1bmN0aW9uKTogRGl0dG8KKwogMjAxMS0wMi0wMyAgQnJpYW4gUnluZXIgIDxi
cnluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEZpc2hlci4K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA3NzYw
NCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00MDcsNiArNDA3LDggQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVu
U2NyaXB0KAogCiAgICAgLy8gUnVuIHRoZSBzY3JpcHQgYW5kIGtlZXAgdHJhY2sgb2YgdGhlIGN1
cnJlbnQgcmVjdXJzaW9uIGRlcHRoLgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsK
KyAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CisgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVl
KTsKICAgICB7CiAgICAgICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlv
bi4KICAgICAgICAgbV9mcmFtZS0+a2VlcEFsaXZlKCk7CkBAIC00MjMsNiArNDI1LDExIEBAIHY4
OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICAgICAgQVNTRVJUKHJl
c3VsdC5Jc0VtcHR5KCkpOwogCiAgICAgLy8gSGFuZGxlIFY4IGludGVybmFsIGVycm9yIHNpdHVh
dGlvbiAoT3V0LW9mLW1lbW9yeSkuCisgICAgaWYgKHRyeUNhdGNoLkhhc0NhdWdodCgpKSB7Cisg
ICAgICAgIEFTU0VSVChyZXN1bHQuSXNFbXB0eSgpKTsKKyAgICAgICAgcmV0dXJuIG5vdEhhbmRs
ZWRCeUludGVyY2VwdG9yKCk7CisgICAgfQorCiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCShy
ZXZpc2lvbiA3NzYwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJy
b3JIYW5kbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTQsOCArNTQsMTAgQEAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gVjhXaW5kb3dFcnJvckhhbmRsZQogICAgICAgICB2ODo6TG9jYWw8djg6OkZ1
bmN0aW9uPiBjYWxsRnVuY3Rpb24gPSB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2FzdChsaXN0
ZW5lcik7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0aGlzVmFsdWUgPSB2ODo6Q29u
dGV4dDo6R2V0Q3VycmVudCgpLT5HbG9iYWwoKTsKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IHBhcmFtZXRlcnNbM10gPSB7IHY4U3RyaW5nKGVycm9yRXZlbnQtPm1lc3NhZ2UoKSksIHY4
U3RyaW5nKGVycm9yRXZlbnQtPmZpbGVuYW1lKCkpLCB2ODo6SW50ZWdlcjo6TmV3KGVycm9yRXZl
bnQtPmxpbmVubygpKSB9OworICAgICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CisgICAgICAg
IHRyeUNhdGNoLlNldFZlcmJvc2UodHJ1ZSk7CiAgICAgICAgIHJldHVyblZhbHVlID0gY2FsbEZ1
bmN0aW9uLT5DYWxsKHRoaXNWYWx1ZSwgMywgcGFyYW1ldGVycyk7Ci0gICAgICAgIGlmICghcmV0
dXJuVmFsdWUuSXNFbXB0eSgpICYmIHJldHVyblZhbHVlLT5Jc0Jvb2xlYW4oKSAmJiAhcmV0dXJu
VmFsdWUtPkJvb2xlYW5WYWx1ZSgpKQorICAgICAgICBpZiAoIXRyeUNhdGNoLkhhc0NhdWdodCgp
ICYmICFyZXR1cm5WYWx1ZS5Jc0VtcHR5KCkgJiYgcmV0dXJuVmFsdWUtPklzQm9vbGVhbigpICYm
ICFyZXR1cm5WYWx1ZS0+Qm9vbGVhblZhbHVlKCkpCiAgICAgICAgICAgICBldmVudC0+cHJldmVu
dERlZmF1bHQoKTsKICAgICB9CiAgICAgcmV0dXJuIHJldHVyblZhbHVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81192</attachid>
            <date>2011-02-03 23:21:02 -0800</date>
            <delta_ts>2011-02-03 23:51:06 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-53594-20110203232101.patch</filename>
            <type>text/plain</type>
            <size>3278</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc3NjEwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDItMDMgIEFudG9uIE11
aGluICA8YW50b25tQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgorCisgICAgICAgIFt2OF0gZnJhbWUgc2V2ZXJhbCBtb3JlIEpTIGNvZGUgaW52b2NhdGlv
bnMgaW50byB2ODo6VHJ5Q2F0Y2gKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUzNTk0CisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBwcmVlbXB0aXZlIGFu
ZCBhZGp1c3RzIHY4IGJpbmRpbmdzIGNvZGUgdG8gZm9ydGhjb21pbmcgc21hbGwgY2hhbmdlCisg
ICAgICAgIGluIHY4OjpUaHJvd0V4Y2VwdGlvbi0tLWN1cnJlbnRseSBzb21ldGltZXMgZXhjZXB0
aW9ucyB0aHJvd24gYnkgdGhpcyBtZXRob2QKKyAgICAgICAgZG8gbm90IHJlYWNoIHN1cnJvdW5k
aW5nIHY4OjpUcnlDYXRjaCBoYW5kbGVyIChzZWUKKyAgICAgICAgaHR0cDovL2NvZGUuZ29vZ2xl
LmNvbS9wL3Y4L2lzc3Vlcy9kZXRhaWw/aWQ9MTA3MiBhbmQKKyAgICAgICAgaHR0cDovL2NvZGVy
ZXZpZXcuY2hyb21pdW0ub3JnLzYzOTcwMTEvKS4gIFRoZXJlZm9yZSB0aGUgZ29hbCBvZiB0aGlz
IHBhdGNoCisgICAgICAgIGlzIHRvIG1ha2UgZm9ydGhjb21pbmcgdjggcm9sbCBhcyBzbW9vdGgg
YXMgcG9zc2libGUgKGFsYXMsIHdlJ2xsIHN0aWxsIG5lZWQKKyAgICAgICAgb25lIHJlYmFzZWxp
bmUgYXMgb2Ygbm93LikKKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0KTogRG8gbm90IHJlbHkgb24gZW1wdHkg
aGFuZGxlIGFzIGEgc2lnbmFsIG9mIGV4Y2VwdGlvbiwgd3JhcCBpbnRvIHY4OjpUcnlDYXRjaCBp
bnN0ZWFkCisgICAgICAgICogYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6VjhXaW5kb3dFcnJvckhhbmRsZXI6OmNhbGxMaXN0ZW5lckZ1bmN0
aW9uKTogRGl0dG8KKwogMjAxMS0wMi0wMyAgVmljdG9yaWEgS2lyc3QgIDx2cmtAZ29vZ2xlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA3NzYxMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsNiAr
NDA3LDggQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2NyaXB0KAogCiAgICAg
Ly8gUnVuIHRoZSBzY3JpcHQgYW5kIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgcmVjdXJzaW9u
IGRlcHRoLgogICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdDsKKyAgICB2ODo6VHJ5Q2F0
Y2ggdHJ5Q2F0Y2g7CisgICAgdHJ5Q2F0Y2guU2V0VmVyYm9zZSh0cnVlKTsKICAgICB7CiAgICAg
ICAgIC8vIFNlZSBjb21tZW50IGluIFY4UHJveHk6OmNhbGxGdW5jdGlvbi4KICAgICAgICAgbV9m
cmFtZS0+a2VlcEFsaXZlKCk7CkBAIC00MjMsNiArNDI1LDExIEBAIHY4OjpMb2NhbDx2ODo6VmFs
dWU+IFY4UHJveHk6OnJ1blNjcmlwdCgKICAgICAgICAgQVNTRVJUKHJlc3VsdC5Jc0VtcHR5KCkp
OwogCiAgICAgLy8gSGFuZGxlIFY4IGludGVybmFsIGVycm9yIHNpdHVhdGlvbiAoT3V0LW9mLW1l
bW9yeSkuCisgICAgaWYgKHRyeUNhdGNoLkhhc0NhdWdodCgpKSB7CisgICAgICAgIEFTU0VSVChy
ZXN1bHQuSXNFbXB0eSgpKTsKKyAgICAgICAgcmV0dXJuIG5vdEhhbmRsZWRCeUludGVyY2VwdG9y
KCk7CisgICAgfQorCiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBu
b3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCShyZXZpc2lvbiA3NzYxMCkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNTQsOCArNTQsMTAgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhX
aW5kb3dFcnJvckhhbmRsZQogICAgICAgICB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPiBjYWxsRnVu
Y3Rpb24gPSB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2FzdChsaXN0ZW5lcik7CiAgICAgICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiB0aGlzVmFsdWUgPSB2ODo6Q29udGV4dDo6R2V0Q3VycmVu
dCgpLT5HbG9iYWwoKTsKICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBhcmFtZXRlcnNb
M10gPSB7IHY4U3RyaW5nKGVycm9yRXZlbnQtPm1lc3NhZ2UoKSksIHY4U3RyaW5nKGVycm9yRXZl
bnQtPmZpbGVuYW1lKCkpLCB2ODo6SW50ZWdlcjo6TmV3KGVycm9yRXZlbnQtPmxpbmVubygpKSB9
OworICAgICAgICB2ODo6VHJ5Q2F0Y2ggdHJ5Q2F0Y2g7CisgICAgICAgIHRyeUNhdGNoLlNldFZl
cmJvc2UodHJ1ZSk7CiAgICAgICAgIHJldHVyblZhbHVlID0gY2FsbEZ1bmN0aW9uLT5DYWxsKHRo
aXNWYWx1ZSwgMywgcGFyYW1ldGVycyk7Ci0gICAgICAgIGlmICghcmV0dXJuVmFsdWUuSXNFbXB0
eSgpICYmIHJldHVyblZhbHVlLT5Jc0Jvb2xlYW4oKSAmJiAhcmV0dXJuVmFsdWUtPkJvb2xlYW5W
YWx1ZSgpKQorICAgICAgICBpZiAoIXRyeUNhdGNoLkhhc0NhdWdodCgpICYmICFyZXR1cm5WYWx1
ZS5Jc0VtcHR5KCkgJiYgcmV0dXJuVmFsdWUtPklzQm9vbGVhbigpICYmICFyZXR1cm5WYWx1ZS0+
Qm9vbGVhblZhbHVlKCkpCiAgICAgICAgICAgICBldmVudC0+cHJldmVudERlZmF1bHQoKTsKICAg
ICB9CiAgICAgcmV0dXJuIHJldHVyblZhbHVlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>