<?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>63596</bug_id>
          
          <creation_ts>2011-06-28 19:25:07 -0700</creation_ts>
          <short_desc>Extract setShadowRoot function, harden it in preparation to be exposed to script.</short_desc>
          <delta_ts>2011-06-29 10:47:15 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>63606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>429373</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 19:25:07 -0700</bug_when>
    <thetext>Extract setShadowRoot function, harden it in preparation to be exposed to script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429374</commentid>
    <comment_count>1</comment_count>
      <attachid>99026</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 19:29:23 -0700</bug_when>
    <thetext>Created attachment 99026
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429399</commentid>
    <comment_count>2</comment_count>
      <attachid>99026</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-28 20:34:16 -0700</bug_when>
    <thetext>Comment on attachment 99026
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1214
&gt; +    if (!shadowRoot)
&gt; +        return true;
&gt; +
&gt; +    if (shadowRoot-&gt;shadowHost()) {
&gt; +        ec = HIERARCHY_REQUEST_ERR;
&gt; +        return false;
&gt; +    }
&gt; +
&gt; +    if (shadowRoot-&gt;document() != document) {
&gt; +        ec = WRONG_DOCUMENT_ERR;
&gt; +        return false;
&gt; +    }
&gt; +
&gt; +    return true;

I would add this function in a separate patch once this function is exposed to JS so you can write tests for these branches.

&gt; Source/WebCore/dom/Element.cpp:1239
&gt; +    ExceptionCode ec = 0;
&gt; +    setShadowRoot(ShadowRoot::create(document()), ec);

We just drop the ec on the floor.  Typically we ASSERT that it is zero.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429418</commentid>
    <comment_count>3</comment_count>
      <attachid>99026</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 22:02:15 -0700</bug_when>
    <thetext>Comment on attachment 99026
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:1214
&gt;&gt; +    return true;
&gt; 
&gt; I would add this function in a separate patch once this function is exposed to JS so you can write tests for these branches.

That is a very good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429422</commentid>
    <comment_count>4</comment_count>
      <attachid>99038</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 22:04:46 -0700</bug_when>
    <thetext>Created attachment 99038
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429437</commentid>
    <comment_count>5</comment_count>
      <attachid>99038</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-28 23:02:26 -0700</bug_when>
    <thetext>Comment on attachment 99038
Patch for landing

whoops, boneheaded mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429439</commentid>
    <comment_count>6</comment_count>
      <attachid>99038</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-28 23:04:02 -0700</bug_when>
    <thetext>Comment on attachment 99038
Patch for landing

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

&gt; Source/WebCore/dom/Element.cpp:1220
&gt; +    ASSERT(ec);

ASSERT(!ec);

Do I win the prize?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429664</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-29 09:19:52 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 99038 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=99038&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1220
&gt; &gt; +    ASSERT(ec);
&gt; 
&gt; ASSERT(!ec);
&gt; 
&gt; Do I win the prize?

TOTALLY. I was half-asleep. Also, I think I&apos;ll bring back the hardening function and file a bug to write a test for it. I am trying to avoid the problem where enabling APIs is a huge atomic commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429693</commentid>
    <comment_count>8</comment_count>
      <attachid>99109</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-29 10:04:04 -0700</bug_when>
    <thetext>Created attachment 99109
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429715</commentid>
    <comment_count>9</comment_count>
      <attachid>99109</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 10:47:09 -0700</bug_when>
    <thetext>Comment on attachment 99109
Patch for landing

Clearing flags on attachment: 99109

Committed r90026: &lt;http://trac.webkit.org/changeset/90026&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>429716</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-29 10:47:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99026</attachid>
            <date>2011-06-28 19:29:23 -0700</date>
            <delta_ts>2011-06-28 22:04:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-63596-20110628192922.patch</filename>
            <type>text/plain</type>
            <size>3214</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk5NjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA0MTkzNTIyNWRmYmRjMTI1
ZmVhZDhjYmUzMGFjODRhNmI3YjlhZDU4Li43YTczYjE3MTQwMDU3YWFhMGUwYmU4MzIzNmVhNjBh
ZjY1ZmQ4MTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDYtMjggIERpbWl0
cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeHRyYWN0IHNldFNoYWRvd1Jvb3QgZnVuY3Rp
b24sIGhhcmRlbiBpdCBpbiBwcmVwYXJhdGlvbiB0byBiZSBleHBvc2VkIHRvIHNjcmlwdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTk2CisKKyAg
ICAgICAgUmVmYWN0b3JpbmcsIGNvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAg
KiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjp2YWxpZGF0ZVNoYWRvd1Jvb3Qp
OiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldFNoYWRvd1Jvb3QpOiBFeHRy
YWN0ZWQgZnJvbSBlbnN1cmVTaGFkb3dSb290LgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6
ZW5zdXJlU2hhZG93Um9vdCk6IENoYW5nZWQgdG8gdXNlIHNldFNoYWRvd1Jvb3QuCisgICAgICAg
ICogZG9tL0VsZW1lbnQuaDogQWRkZWQgZGVjbC4KKwogMjAxMS0wNi0yOCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBkMTkwZTU2NzI2MGI3MDg1Njk5OTI4MDQwNDJhOTc1
NmE0MGQ1MTM4Li4xNmNiMjBmMjdkYTQ0NTJjOWU5MmQ1NjYyNGI5YjYzZjY3ZGRjNWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMTk2LDE5ICsxMTk2LDQ4IEBAIFNoYWRvd1Jvb3QqIEVs
ZW1lbnQ6OnNoYWRvd1Jvb3QoKSBjb25zdAogICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gcmFy
ZURhdGEoKS0+bV9zaGFkb3dSb290IDogMDsKIH0KIAorc3RhdGljIGJvb2wgdmFsaWRhdGVTaGFk
b3dSb290KERvY3VtZW50KiBkb2N1bWVudCwgU2hhZG93Um9vdCogc2hhZG93Um9vdCwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFzaGFkb3dSb290KQorICAgICAgICByZXR1cm4gdHJ1
ZTsKKworICAgIGlmIChzaGFkb3dSb290LT5zaGFkb3dIb3N0KCkpIHsKKyAgICAgICAgZWMgPSBI
SUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAg
ICBpZiAoc2hhZG93Um9vdC0+ZG9jdW1lbnQoKSAhPSBkb2N1bWVudCkgeworICAgICAgICBlYyA9
IFdST05HX0RPQ1VNRU5UX0VSUjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAg
IHJldHVybiB0cnVlOworfQorCit2b2lkIEVsZW1lbnQ6OnNldFNoYWRvd1Jvb3QoUGFzc1JlZlB0
cjxTaGFkb3dSb290PiBwcnBTaGFkb3dSb290LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBS
ZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9vdCA9IHBycFNoYWRvd1Jvb3Q7CisgICAgaWYgKCF2
YWxpZGF0ZVNoYWRvd1Jvb3QoZG9jdW1lbnQoKSwgc2hhZG93Um9vdC5nZXQoKSwgZWMpKQorICAg
ICAgICByZXR1cm47CisKKyAgICByZW1vdmVTaGFkb3dSb290KCk7CisKKyAgICBlbnN1cmVSYXJl
RGF0YSgpLT5tX3NoYWRvd1Jvb3QgPSBzaGFkb3dSb290LmdldCgpOworICAgIHNoYWRvd1Jvb3Qt
PnNldFNoYWRvd0hvc3QodGhpcyk7CisgICAgaWYgKGluRG9jdW1lbnQoKSkKKyAgICAgICAgc2hh
ZG93Um9vdC0+aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICBpZiAoYXR0YWNoZWQoKSkKKyAg
ICAgICAgc2hhZG93Um9vdC0+bGF6eUF0dGFjaCgpOworfQorCiBTaGFkb3dSb290KiBFbGVtZW50
OjplbnN1cmVTaGFkb3dSb290KCkKIHsKICAgICBpZiAoU2hhZG93Um9vdCogZXhpc3RpbmdSb290
ID0gc2hhZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gZXhpc3RpbmdSb290OwogCi0gICAgUmVm
UHRyPFNoYWRvd1Jvb3Q+IG5ld1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSk7
Ci0gICAgZW5zdXJlUmFyZURhdGEoKS0+bV9zaGFkb3dSb290ID0gbmV3Um9vdC5nZXQoKTsKLSAg
ICBuZXdSb290LT5zZXRTaGFkb3dIb3N0KHRoaXMpOwotICAgIGlmIChpbkRvY3VtZW50KCkpCi0g
ICAgICAgIG5ld1Jvb3QtPmluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgaWYgKGF0dGFjaGVk
KCkpCi0gICAgICAgIG5ld1Jvb3QtPmxhenlBdHRhY2goKTsKLSAgICByZXR1cm4gbmV3Um9vdC5n
ZXQoKTsKKyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBzZXRTaGFkb3dSb290KFNoYWRv
d1Jvb3Q6OmNyZWF0ZShkb2N1bWVudCgpKSwgZWMpOworICAgIHJldHVybiBzaGFkb3dSb290KCk7
CiB9CiAKIHZvaWQgRWxlbWVudDo6cmVtb3ZlU2hhZG93Um9vdCgpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApp
bmRleCA5MGRhZDY0MDM0NGNmOTI1MWM5MDg3ODEyMWNmMzY2ZGMyNzhlMDExLi5mZWQ5ZTIwMzM3
NzNmOTQwMDcxMTZlMjIxNGQ2MmMxZjhlYjdlMzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTIz
MSw2ICsyMzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxlKFN0eWxl
Q2hhbmdlID0gTm9DaGFuZ2UpOwogCiAgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCgpIGNvbnN0
OworICAgIHZvaWQgc2V0U2hhZG93Um9vdChQYXNzUmVmUHRyPFNoYWRvd1Jvb3Q+LCBFeGNlcHRp
b25Db2RlJik7CiAgICAgU2hhZG93Um9vdCogZW5zdXJlU2hhZG93Um9vdCgpOwogICAgIHZvaWQg
cmVtb3ZlU2hhZG93Um9vdCgpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99038</attachid>
            <date>2011-06-28 22:04:46 -0700</date>
            <delta_ts>2011-06-29 10:04:00 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-63596-20110628220444.patch</filename>
            <type>text/plain</type>
            <size>2769</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODk5ODcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkNjRmZTBkODM4ZTMwOTQ2
ZmU4OTUxMGM4YTU0Yjk1MDZhMjRiOTQyLi4zYWVmZDJjZDlkYzYwY2U5YTBjMGY1ZWQ5ZmJjMmFk
YmNlMDIwNmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDYtMjggIERpbWl0
cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgorCisgICAgICAgIEV4dHJhY3Qgc2V0U2hhZG93Um9vdCBmdW5jdGlvbiwg
aGFyZGVuIGl0IGluIHByZXBhcmF0aW9uIHRvIGJlIGV4cG9zZWQgdG8gc2NyaXB0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1OTYKKworICAgICAg
ICBSZWZhY3RvcmluZywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRv
bS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlU2hhZG93Um9vdCk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2hhZG93Um9vdCk6IEV4dHJhY3Rl
ZCBmcm9tIGVuc3VyZVNoYWRvd1Jvb3QuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1
cmVTaGFkb3dSb290KTogQ2hhbmdlZCB0byB1c2Ugc2V0U2hhZG93Um9vdC4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5oOiBBZGRlZCBkZWNsLgorCiAyMDExLTA2LTI4ICBSb2xhbmQgU3RlaW5lciAg
PHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMg
U2VpZGVsLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IGQxOTBlNTY3MjYwYjcwODU2OTk5Mjgw
NDA0MmE5NzU2YTQwZDUxMzguLjVjZWQxYTI3MDUzMWEzYzczMGFiOGFkZDQwYjQwMjFiZjU1YmIz
MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTExOTYsMTkgKzExOTYsMjkgQEAgU2hhZG93
Um9vdCogRWxlbWVudDo6c2hhZG93Um9vdCgpIGNvbnN0CiAgICAgcmV0dXJuIGhhc1JhcmVEYXRh
KCkgPyByYXJlRGF0YSgpLT5tX3NoYWRvd1Jvb3QgOiAwOwogfQogCit2b2lkIEVsZW1lbnQ6OnNl
dFNoYWRvd1Jvb3QoUGFzc1JlZlB0cjxTaGFkb3dSb290PiBwcnBTaGFkb3dSb290LCBFeGNlcHRp
b25Db2RlJikKK3sKKyAgICBSZWZQdHI8U2hhZG93Um9vdD4gc2hhZG93Um9vdCA9IHBycFNoYWRv
d1Jvb3Q7CisKKyAgICByZW1vdmVTaGFkb3dSb290KCk7CisKKyAgICBlbnN1cmVSYXJlRGF0YSgp
LT5tX3NoYWRvd1Jvb3QgPSBzaGFkb3dSb290LmdldCgpOworICAgIHNoYWRvd1Jvb3QtPnNldFNo
YWRvd0hvc3QodGhpcyk7CisgICAgaWYgKGluRG9jdW1lbnQoKSkKKyAgICAgICAgc2hhZG93Um9v
dC0+aW5zZXJ0ZWRJbnRvRG9jdW1lbnQoKTsKKyAgICBpZiAoYXR0YWNoZWQoKSkKKyAgICAgICAg
c2hhZG93Um9vdC0+bGF6eUF0dGFjaCgpOworfQorCiBTaGFkb3dSb290KiBFbGVtZW50OjplbnN1
cmVTaGFkb3dSb290KCkKIHsKICAgICBpZiAoU2hhZG93Um9vdCogZXhpc3RpbmdSb290ID0gc2hh
ZG93Um9vdCgpKQogICAgICAgICByZXR1cm4gZXhpc3RpbmdSb290OwogCi0gICAgUmVmUHRyPFNo
YWRvd1Jvb3Q+IG5ld1Jvb3QgPSBTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSk7Ci0gICAg
ZW5zdXJlUmFyZURhdGEoKS0+bV9zaGFkb3dSb290ID0gbmV3Um9vdC5nZXQoKTsKLSAgICBuZXdS
b290LT5zZXRTaGFkb3dIb3N0KHRoaXMpOwotICAgIGlmIChpbkRvY3VtZW50KCkpCi0gICAgICAg
IG5ld1Jvb3QtPmluc2VydGVkSW50b0RvY3VtZW50KCk7Ci0gICAgaWYgKGF0dGFjaGVkKCkpCi0g
ICAgICAgIG5ld1Jvb3QtPmxhenlBdHRhY2goKTsKLSAgICByZXR1cm4gbmV3Um9vdC5nZXQoKTsK
KyAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKKyAgICBzZXRTaGFkb3dSb290KFNoYWRvd1Jvb3Q6
OmNyZWF0ZShkb2N1bWVudCgpKSwgZWMpOworICAgIEFTU0VSVChlYyk7CisgICAgcmV0dXJuIHNo
YWRvd1Jvb3QoKTsKIH0KIAogdm9pZCBFbGVtZW50OjpyZW1vdmVTaGFkb3dSb290KCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oCmluZGV4IDkwZGFkNjQwMzQ0Y2Y5MjUxYzkwODc4MTIxY2YzNjZkYzI3OGUwMTEu
LmZlZDllMjAzMzc3M2Y5NDAwNzExNmUyMjE0ZDYyYzFmOGViN2UzOTggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaApAQCAtMjMxLDYgKzIzMSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVjYWxj
U3R5bGUoU3R5bGVDaGFuZ2UgPSBOb0NoYW5nZSk7CiAKICAgICBTaGFkb3dSb290KiBzaGFkb3dS
b290KCkgY29uc3Q7CisgICAgdm9pZCBzZXRTaGFkb3dSb290KFBhc3NSZWZQdHI8U2hhZG93Um9v
dD4sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBTaGFkb3dSb290KiBlbnN1cmVTaGFkb3dSb290KCk7
CiAgICAgdm9pZCByZW1vdmVTaGFkb3dSb290KCk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>99109</attachid>
            <date>2011-06-29 10:04:04 -0700</date>
            <delta_ts>2011-06-29 10:47:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-63596-20110629100403.patch</filename>
            <type>text/plain</type>
            <size>3236</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTAwMjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMGU2M2YzMTgwZmZiMzU2
NjJkMWNkMjgxZDdkZjc1ODhkMDUzNTU0Li5lZjMyNDMyNzkwZTc3NGYwZmVjOGIwNjE0ZmY1Yjky
OWNlMmI3NWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDYtMjggIERpbWl0
cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBBZGFtIEJhcnRoLgorCisgICAgICAgIEV4dHJhY3Qgc2V0U2hhZG93Um9vdCBmdW5jdGlvbiwg
aGFyZGVuIGl0IGluIHByZXBhcmF0aW9uIHRvIGJlIGV4cG9zZWQgdG8gc2NyaXB0LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1OTYKKworICAgICAg
ICBSZWZhY3RvcmluZywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRv
bS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnZhbGlkYXRlU2hhZG93Um9vdCk6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0U2hhZG93Um9vdCk6IEV4dHJhY3Rl
ZCBmcm9tIGVuc3VyZVNoYWRvd1Jvb3QuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1
cmVTaGFkb3dSb290KTogQ2hhbmdlZCB0byB1c2Ugc2V0U2hhZG93Um9vdC4KKyAgICAgICAgKiBk
b20vRWxlbWVudC5oOiBBZGRlZCBkZWNsLgorCiAyMDExLTA2LTI5ICBWc2V2b2xvZCBWbGFzb3Yg
IDx2c2V2aWtAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRt
YW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMjljNmM5Mzk5ZTQwNzk0ZDJhNmRmZWFkYmEx
Y2FiNDA4ZTkzYzY3Ny4uNmNjMDJlMjBjMjk0OTlmMjRjOWE3ODZjN2QxNjRjZjRhYWRiYzIyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTE5NiwxOSArMTE5Niw0OSBAQCBTaGFkb3dSb290
KiBFbGVtZW50OjpzaGFkb3dSb290KCkgY29uc3QKICAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/
IHJhcmVEYXRhKCktPm1fc2hhZG93Um9vdCA6IDA7CiB9CiAKK3N0YXRpYyBib29sIHZhbGlkYXRl
U2hhZG93Um9vdChEb2N1bWVudCogZG9jdW1lbnQsIFNoYWRvd1Jvb3QqIHNoYWRvd1Jvb3QsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisKKyAgICBpZiAoc2hhZG93Um9vdC0+c2hhZG93SG9zdCgpKSB7CisgICAgICAgIGVj
ID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQor
CisgICAgaWYgKHNoYWRvd1Jvb3QtPmRvY3VtZW50KCkgIT0gZG9jdW1lbnQpIHsKKyAgICAgICAg
ZWMgPSBXUk9OR19ET0NVTUVOVF9FUlI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBFbGVtZW50OjpzZXRTaGFkb3dSb290KFBhc3NS
ZWZQdHI8U2hhZG93Um9vdD4gcHJwU2hhZG93Um9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgUmVmUHRyPFNoYWRvd1Jvb3Q+IHNoYWRvd1Jvb3QgPSBwcnBTaGFkb3dSb290OworICAgIGlm
ICghdmFsaWRhdGVTaGFkb3dSb290KGRvY3VtZW50KCksIHNoYWRvd1Jvb3QuZ2V0KCksIGVjKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgcmVtb3ZlU2hhZG93Um9vdCgpOworCisgICAgZW5zdXJl
UmFyZURhdGEoKS0+bV9zaGFkb3dSb290ID0gc2hhZG93Um9vdC5nZXQoKTsKKyAgICBzaGFkb3dS
b290LT5zZXRTaGFkb3dIb3N0KHRoaXMpOworICAgIGlmIChpbkRvY3VtZW50KCkpCisgICAgICAg
IHNoYWRvd1Jvb3QtPmluc2VydGVkSW50b0RvY3VtZW50KCk7CisgICAgaWYgKGF0dGFjaGVkKCkp
CisgICAgICAgIHNoYWRvd1Jvb3QtPmxhenlBdHRhY2goKTsKK30KKwogU2hhZG93Um9vdCogRWxl
bWVudDo6ZW5zdXJlU2hhZG93Um9vdCgpCiB7CiAgICAgaWYgKFNoYWRvd1Jvb3QqIGV4aXN0aW5n
Um9vdCA9IHNoYWRvd1Jvb3QoKSkKICAgICAgICAgcmV0dXJuIGV4aXN0aW5nUm9vdDsKIAotICAg
IFJlZlB0cjxTaGFkb3dSb290PiBuZXdSb290ID0gU2hhZG93Um9vdDo6Y3JlYXRlKGRvY3VtZW50
KCkpOwotICAgIGVuc3VyZVJhcmVEYXRhKCktPm1fc2hhZG93Um9vdCA9IG5ld1Jvb3QuZ2V0KCk7
Ci0gICAgbmV3Um9vdC0+c2V0U2hhZG93SG9zdCh0aGlzKTsKLSAgICBpZiAoaW5Eb2N1bWVudCgp
KQotICAgICAgICBuZXdSb290LT5pbnNlcnRlZEludG9Eb2N1bWVudCgpOwotICAgIGlmIChhdHRh
Y2hlZCgpKQotICAgICAgICBuZXdSb290LT5sYXp5QXR0YWNoKCk7Ci0gICAgcmV0dXJuIG5ld1Jv
b3QuZ2V0KCk7CisgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CisgICAgc2V0U2hhZG93Um9vdChT
aGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSksIGVjKTsKKyAgICBBU1NFUlQoIWVjKTsKKyAg
ICByZXR1cm4gc2hhZG93Um9vdCgpOwogfQogCiB2b2lkIEVsZW1lbnQ6OnJlbW92ZVNoYWRvd1Jv
b3QoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5kZXggNWEwNDg2MmMzNDFmNWIzY2Q0ZDc4MTI3Yzg4YTY2
NDQ1YmRlNjVlYy4uOTQ0MzJiNDVhZGZjMzRlNGE5NmJkNjkxNjM0Nzc3MTkwMDVlYmRmYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCkBAIC0yMzEsNiArMjMxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCByZWNhbGNTdHlsZShTdHlsZUNoYW5nZSA9IE5vQ2hhbmdlKTsKIAogICAgIFNoYWRvd1Jv
b3QqIHNoYWRvd1Jvb3QoKSBjb25zdDsKKyAgICB2b2lkIHNldFNoYWRvd1Jvb3QoUGFzc1JlZlB0
cjxTaGFkb3dSb290PiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIFNoYWRvd1Jvb3QqIGVuc3VyZVNo
YWRvd1Jvb3QoKTsKICAgICB2b2lkIHJlbW92ZVNoYWRvd1Jvb3QoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>