<?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>104040</bug_id>
          
          <creation_ts>2012-12-04 14:00:31 -0800</creation_ts>
          <short_desc>DOMImplementation::createDocument should call appendChild rather than parserAppendChild to add docType and documentElement</short_desc>
          <delta_ts>2012-12-06 11:28: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>DOM</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rafael Weinstein">rafaelw</reporter>
          <assigned_to name="Rafael Weinstein">rafaelw</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn</cc>
    
    <cc>ojan</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>782900</commentid>
    <comment_count>0</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 14:00:31 -0800</bug_when>
    <thetext>In particular, using parserAppendChild with doctype., breaks an invariant of that function which is the parent and child should already be owned by the same document.

Note that using appendChild brings webkit closer to DOM4 by not bypassing the standard work of http://dom.spec.whatwg.org/#concept-node-append.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782905</commentid>
    <comment_count>1</comment_count>
      <attachid>177551</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 14:03:14 -0800</bug_when>
    <thetext>Created attachment 177551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782908</commentid>
    <comment_count>2</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 14:03:53 -0800</bug_when>
    <thetext>Note that this patch also removes treeScopeAdoption from parserAppendChild, which I think has to be safe if the ASSERT is valid (and I&apos;m assuming it is).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783108</commentid>
    <comment_count>3</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-04 16:50:06 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Note that this patch also removes treeScopeAdoption from parserAppendChild, which I think has to be safe if the ASSERT is valid (and I&apos;m assuming it is).

Your assertion is about the document, not the treeScope, so they don&apos;t really cover the same things. In particular in a shadow document() != treeScope() so doing document() == newNode-&gt;document() can pass but treeScope() == newNode-&gt;treeScope() might fail.

That said we *also* assert ASSERT(!newChild-&gt;parentNode()) which means the only way for newNode-&gt;treeScope() to not be newNode-&gt;document() would be if newNode was itself a ShadowRoot which never happens (and calling adoptNode wouldn&apos;t fix it anyway).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783148</commentid>
    <comment_count>4</comment_count>
      <attachid>177616</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 17:24:57 -0800</bug_when>
    <thetext>Created attachment 177616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783159</commentid>
    <comment_count>5</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 17:32:11 -0800</bug_when>
    <thetext>Actually, it looks like this can happen.

If assign markup to innerHTML of a node in the shadow, then the parser will have set the appropriate ownerDocument for the new node, but not the appropriate treeScope.

This seems like an expensive way to pull nodes into the treeScope during innerHTML, but I think changing the parser to create the node in the appropriate treeScope may also be overkill because it adds another pointer compare to every node created during parsing.

I&apos;ve put the treeScope adoption back. I&apos;d create a test, but I&apos;m not sure how to detect that nodes created from innerHTML in the shadow have the wrong treeScope. Perhaps one of the component folks can do that? =-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783176</commentid>
    <comment_count>6</comment_count>
    <who name="Elliott Sprehn">esprehn</who>
    <bug_when>2012-12-04 17:41:31 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Actually, it looks like this can happen.
&gt; 
&gt; If assign markup to innerHTML of a node in the shadow, then the parser will have set the appropriate ownerDocument for the new node, but not the appropriate treeScope.
&gt; 
&gt; This seems like an expensive way to pull nodes into the treeScope during innerHTML, but I think changing the parser to create the node in the appropriate treeScope may also be overkill because it adds another pointer compare to every node created during parsing.
&gt; 
&gt; I&apos;ve put the treeScope adoption back. I&apos;d create a test, but I&apos;m not sure how to detect that nodes created from innerHTML in the shadow have the wrong treeScope. Perhaps one of the component folks can do that? =-)

That&apos;s not how innerHTML works, ShadowRoot::setInnerHTML creates a document fragment and then goes through replaceChildrenWithFragment which does:

    containerNode-&gt;removeChildren();
    containerNode-&gt;appendChild(fragment, ec);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783181</commentid>
    <comment_count>7</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-04 17:47:25 -0800</bug_when>
    <thetext>Right. Forgot that part. In any case, Elliot wants to deal with that call in a follow-on patch, so I&apos;ll leave the call alone for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783861</commentid>
    <comment_count>8</comment_count>
      <attachid>177783</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-05 09:49:53 -0800</bug_when>
    <thetext>Created attachment 177783
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783913</commentid>
    <comment_count>9</comment_count>
      <attachid>177783</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 11:03:01 -0800</bug_when>
    <thetext>Comment on attachment 177783
Patch for landing

Clearing flags on attachment: 177783

Committed r136717: &lt;http://trac.webkit.org/changeset/136717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783914</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-05 11:03:07 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783948</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-05 11:51:32 -0800</bug_when>
    <thetext>&gt; Your assertion is about the document, not the treeScope, so they don&apos;t really cover the same things. In particular in a shadow document() != treeScope() so doing document() == newNode-&gt;document() can pass but treeScope() == newNode-&gt;treeScope() might fail.

As the first version of the patch had a bug that was not caught by EWS, it would be very desirable to add a regression test for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785080</commentid>
    <comment_count>12</comment_count>
      <attachid>177783</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-12-06 11:28:31 -0800</bug_when>
    <thetext>Comment on attachment 177783
Patch for landing

I&apos;m surprised this is not observable.  Do these cause JS execution (for synchronous mutation events?)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177551</attachid>
            <date>2012-12-04 14:03:14 -0800</date>
            <delta_ts>2012-12-04 17:44:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104040-20121204140039.patch</filename>
            <type>text/plain</type>
            <size>2871</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTg0YjVkYmViYTU5ZDAz
OWYwM2I3ZjBhODM3NmNkNWNmMzc3NjdlMi4uOTZjZjk3OWEzMTZkY2Y3NWQ5MmYyMjkxZmY1OGMw
YTYxYmU4YzNlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTA0ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRE9NSW1wbGVt
ZW50YXRpb24uY3JlYXRlRG9jdW1lbnQgc2hvdWxkIGNhbGwgYXBwZW5kQ2hpbGQgcmF0aGVyIHRo
YW4gcGFyc2VyQXBwZW5kQ2hpbGQgdG8gYWRkIGRvY1R5cGUgYW5kIGRvY3VtZW50RWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MDQwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgY3JlYXRlRG9j
dW1lbnQgbm93IGNhbGxzIGFwcGVuZENoaWxkLiBOb3RlIHRoYXQgcGFyc2VyQXBwZW5kQ2hpbGQg
bm8gbG9uZ2VyIGF0dGVtcHRzIHRvIGRvIHRyZWVTY29wZSBhZG9wdGlvbiwgYXMgdGhpcyBjYW4g
bm8gbG9uZ2VyIG9jY3VyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAobm8gb2JzZXJ2YWJsZSBj
aGFuZ2VzKS4KKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENoaWxkKToKKyAgICAgICAgKiBkb20v
RE9NSW1wbGVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NSW1wbGVtZW50YXRp
b246OmNyZWF0ZURvY3VtZW50KToKKwogMjAxMi0xMi0wNCAgRmxvcmluIE1hbGl0YSAgPGZtYWxp
dGFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN0YWxlIFNWR1VzZUVsZW1lbnQgcmVmZXJlbmNl
IGluIENhY2hlZFJlc291cmNlOjpjaGVja05vdGlmeSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZS5jcHAKaW5kZXggYzMwY2U2MTQwYzQ4MmMwNGQ5NmIwZGIxNWRkZGMwMDBhNjkwZTVkMS4u
YmZhMmJlOTdjNDgyOTc1YTllNTExYmIyNzU1YmU4ZWZkMTYyN2UyOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Db250YWluZXJOb2RlLmNwcApAQCAtNjk2LDE2ICs2OTYsMTMgQEAgdm9pZCBDb250YWluZXJO
b2RlOjpwYXJzZXJBcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkKQogewogICAg
IEFTU0VSVChuZXdDaGlsZCk7CiAgICAgQVNTRVJUKCFuZXdDaGlsZC0+cGFyZW50Tm9kZSgpKTsg
Ly8gVXNlIGFwcGVuZENoaWxkIGlmIHlvdSBuZWVkIHRvIGhhbmRsZSByZXBhcmVudGluZyAoYW5k
IHdhbnQgRE9NIG11dGF0aW9uIGV2ZW50cykuCi0gICAgLy8gRklYTUU6IFRoaXMgYXNzZXJ0IHNo
b3VsZCBiZSB2YWxpZCwgYnV0IERPTUltcGxlbWVudGF0aW9uOjpjcmVhdGVEb2N1bWVudCgpCi0g
ICAgLy8gYmxpbmRseSBjYWxscyBwYXNlckFwcGVuZENoaWxkIG9uIHRoZSBkb2NUeXBlIGl0cyBw
YXNzZWQuCi0gICAgLy8gQVNTRVJUKGRvY3VtZW50KCkgPT0gbmV3Q2hpbGQtPmRvY3VtZW50KCkp
OworICAgIEFTU0VSVChkb2N1bWVudCgpID09IG5ld0NoaWxkLT5kb2N1bWVudCgpKTsKIAogICAg
IE5vZGUqIGxhc3QgPSBtX2xhc3RDaGlsZDsKICAgICB7CiAgICAgICAgIE5vRXZlbnREaXNwYXRj
aEFzc2VydGlvbiBhc3NlcnROb0V2ZW50RGlzcGF0Y2g7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlz
IG1ldGhvZCBzaG91bGQgdGFrZSBhIFBhc3NSZWZQdHIuCiAgICAgICAgIGFwcGVuZENoaWxkVG9D
b250YWluZXIobmV3Q2hpbGQuZ2V0KCksIHRoaXMpOwotICAgICAgICB0cmVlU2NvcGUoKS0+YWRv
cHRJZk5lZWRlZChuZXdDaGlsZC5nZXQoKSk7CiAgICAgfQogCiAgICAgY2hpbGRyZW5DaGFuZ2Vk
KHRydWUsIGxhc3QsIDAsIDEpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RPTUlt
cGxlbWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5j
cHAKaW5kZXggMjc2OTNiMzQwOTM3OTczNDg4YjE2Y2U2NzI0ZTI4NmE3NWNiODg2Zi4uMWNhMjgy
MmZmZGNmNmZjMzMyNmQ5MTk2NjJlMWZkZTk3MDEwMTEwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RE9NSW1wbGVtZW50YXRpb24uY3BwCkBAIC0zMTUsMTEgKzMxNSwxMCBAQCBQYXNzUmVmUHRyPERv
Y3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5nJiBu
YW1lc3BhY2VVUgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogU2hv
dWxkbid0IHRoaXMgY2FsbCBhcHBlbmRDaGlsZCBpbnN0ZWFkPwogICAgIGlmIChkb2N0eXBlKQot
ICAgICAgICBkb2MtPnBhcnNlckFwcGVuZENoaWxkKGRvY3R5cGUpOworICAgICAgICBkb2MtPmFw
cGVuZENoaWxkKGRvY3R5cGUpOwogICAgIGlmIChkb2N1bWVudEVsZW1lbnQpCi0gICAgICAgIGRv
Yy0+cGFyc2VyQXBwZW5kQ2hpbGQoZG9jdW1lbnRFbGVtZW50LnJlbGVhc2UoKSk7CisgICAgICAg
IGRvYy0+YXBwZW5kQ2hpbGQoZG9jdW1lbnRFbGVtZW50LnJlbGVhc2UoKSk7CiAKICAgICByZXR1
cm4gZG9jLnJlbGVhc2UoKTsKIH0K
</data>
<flag name="commit-queue"
          id="193849"
          type_id="3"
          status="+"
          setter="rafaelw"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177616</attachid>
            <date>2012-12-04 17:24:57 -0800</date>
            <delta_ts>2012-12-04 17:45:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104040-20121204172222.patch</filename>
            <type>text/plain</type>
            <size>2510</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NjAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGFkMWIyNWFkZDMyZGFh
NzZmYTZmYWVmNTc5ZWEwMWM5ZDE0ZGIwNC4uMmVhZmNkMTk0OTYxNDdmMGVhM2E5MDFlZGZjNjFk
MTU3Y2JiZTE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTA0ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRE9NSW1wbGVt
ZW50YXRpb24uY3JlYXRlRG9jdW1lbnQgc2hvdWxkIGNhbGwgYXBwZW5kQ2hpbGQgcmF0aGVyIHRo
YW4gcGFyc2VyQXBwZW5kQ2hpbGQgdG8gYWRkIGRvY1R5cGUgYW5kIGRvY3VtZW50RWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MDQwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KKworICAgICAgICBjcmVhdGVEb2N1bWVu
dCBub3cgY2FsbHMgYXBwZW5kQ2hpbGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChubyBvYnNl
cnZhYmxlIGNoYW5nZXMpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cGFyc2VyQXBwZW5kQ2hpbGQpOgorICAgICAg
ICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01JbXBs
ZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQpOgorCiAyMDEyLTEyLTA0ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTM2NTk3LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5l
ck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCmluZGV4IGUx
OWI1YjVhMTU0ZWM3YWMxZGIzNDRhOGVhNGU4ZDc2MWQ2YTFmM2MuLmRkNTQxYTY0NTgyNjFmMjFh
ZDhkNzJhMDhhZGQ5MDZjMzUzZjQ2NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9D
b250YWluZXJOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5j
cHAKQEAgLTY3OSw5ICs2NzksNyBAQCB2b2lkIENvbnRhaW5lck5vZGU6OnBhcnNlckFwcGVuZENo
aWxkKFBhc3NSZWZQdHI8Tm9kZT4gbmV3Q2hpbGQpCiAgICAgQVNTRVJUKG5ld0NoaWxkKTsKICAg
ICBBU1NFUlQoIW5ld0NoaWxkLT5wYXJlbnROb2RlKCkpOyAvLyBVc2UgYXBwZW5kQ2hpbGQgaWYg
eW91IG5lZWQgdG8gaGFuZGxlIHJlcGFyZW50aW5nIChhbmQgd2FudCBET00gbXV0YXRpb24gZXZl
bnRzKS4KICAgICBBU1NFUlQoIW5ld0NoaWxkLT5pc0RvY3VtZW50RnJhZ21lbnQoKSk7Ci0gICAg
Ly8gRklYTUU6IFRoaXMgYXNzZXJ0IHNob3VsZCBiZSB2YWxpZCwgYnV0IERPTUltcGxlbWVudGF0
aW9uOjpjcmVhdGVEb2N1bWVudCgpCi0gICAgLy8gYmxpbmRseSBjYWxscyBwYXNlckFwcGVuZENo
aWxkIG9uIHRoZSBkb2NUeXBlIGl0cyBwYXNzZWQuCi0gICAgLy8gQVNTRVJUKGRvY3VtZW50KCkg
PT0gbmV3Q2hpbGQtPmRvY3VtZW50KCkpOworICAgIEFTU0VSVChkb2N1bWVudCgpID09IG5ld0No
aWxkLT5kb2N1bWVudCgpKTsKIAogICAgIE5vZGUqIGxhc3QgPSBtX2xhc3RDaGlsZDsKICAgICB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVtZW50YXRpb24uY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAppbmRleCAyNzY5M2IzNDA5
Mzc5NzM0ODhiMTZjZTY3MjRlMjg2YTc1Y2I4ODZmLi4xY2EyODIyZmZkY2Y2ZmMzMzI2ZDkxOTY2
MmUxZmRlOTcwMTAxMTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRE9NSW1wbGVt
ZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlvbi5j
cHAKQEAgLTMxNSwxMSArMzE1LDEwIEBAIFBhc3NSZWZQdHI8RG9jdW1lbnQ+IERPTUltcGxlbWVu
dGF0aW9uOjpjcmVhdGVEb2N1bWVudChjb25zdCBTdHJpbmcmIG5hbWVzcGFjZVVSCiAgICAgICAg
IHJldHVybiAwOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBTaG91bGRuJ3QgdGhpcyBjYWxsIGFw
cGVuZENoaWxkIGluc3RlYWQ/CiAgICAgaWYgKGRvY3R5cGUpCi0gICAgICAgIGRvYy0+cGFyc2Vy
QXBwZW5kQ2hpbGQoZG9jdHlwZSk7CisgICAgICAgIGRvYy0+YXBwZW5kQ2hpbGQoZG9jdHlwZSk7
CiAgICAgaWYgKGRvY3VtZW50RWxlbWVudCkKLSAgICAgICAgZG9jLT5wYXJzZXJBcHBlbmRDaGls
ZChkb2N1bWVudEVsZW1lbnQucmVsZWFzZSgpKTsKKyAgICAgICAgZG9jLT5hcHBlbmRDaGlsZChk
b2N1bWVudEVsZW1lbnQucmVsZWFzZSgpKTsKIAogICAgIHJldHVybiBkb2MucmVsZWFzZSgpOwog
fQo=
</data>
<flag name="commit-queue"
          id="193850"
          type_id="3"
          status="+"
          setter="rafaelw"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177783</attachid>
            <date>2012-12-05 09:49:53 -0800</date>
            <delta_ts>2012-12-06 11:28:31 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104040-20121205094718.patch</filename>
            <type>text/plain</type>
            <size>2532</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjAyYzAzN2NkMmU3MDg1
MTdhYWFjYmZkOTllZDRiMzBkODNmYWY4Yi4uZmYwOTBiODkzMTZiMmNhYjMwYTEwYWU5MTA0MGYy
MzNjOWNhNWMxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEyLTA0ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgRE9NSW1wbGVt
ZW50YXRpb24uY3JlYXRlRG9jdW1lbnQgc2hvdWxkIGNhbGwgYXBwZW5kQ2hpbGQgcmF0aGVyIHRo
YW4gcGFyc2VyQXBwZW5kQ2hpbGQgdG8gYWRkIGRvY1R5cGUgYW5kIGRvY3VtZW50RWxlbWVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MDQwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgT2phbiBWYWZhaS4KKworICAgICAgICBjcmVhdGVEb2N1bWVu
dCBub3cgY2FsbHMgYXBwZW5kQ2hpbGQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChubyBvYnNl
cnZhYmxlIGNoYW5nZXMpLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6cGFyc2VyQXBwZW5kQ2hpbGQpOgorICAgICAg
ICAqIGRvbS9ET01JbXBsZW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpET01JbXBs
ZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQpOgorCiAyMDEyLTEyLTA1ICBKb2huIEouIEJhcnRv
biAgPGpvaG5qYmFydG9uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBt
b3JlIHJvYnVzdCB0cmVlb3V0bGluZS5maW5kVHJlZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmNwcAppbmRleCBlMTliNWI1YTE1NGVjN2FjMWRiMzQ0YThlYTRlOGQ3NjFkNmEx
ZjNjLi5kZDU0MWE2NDU4MjYxZjIxYWQ4ZDcyYTA4YWRkOTA2YzM1M2Y0NjU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC02NzksOSArNjc5LDcgQEAgdm9pZCBDb250YWlu
ZXJOb2RlOjpwYXJzZXJBcHBlbmRDaGlsZChQYXNzUmVmUHRyPE5vZGU+IG5ld0NoaWxkKQogICAg
IEFTU0VSVChuZXdDaGlsZCk7CiAgICAgQVNTRVJUKCFuZXdDaGlsZC0+cGFyZW50Tm9kZSgpKTsg
Ly8gVXNlIGFwcGVuZENoaWxkIGlmIHlvdSBuZWVkIHRvIGhhbmRsZSByZXBhcmVudGluZyAoYW5k
IHdhbnQgRE9NIG11dGF0aW9uIGV2ZW50cykuCiAgICAgQVNTRVJUKCFuZXdDaGlsZC0+aXNEb2N1
bWVudEZyYWdtZW50KCkpOwotICAgIC8vIEZJWE1FOiBUaGlzIGFzc2VydCBzaG91bGQgYmUgdmFs
aWQsIGJ1dCBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoKQotICAgIC8vIGJsaW5k
bHkgY2FsbHMgcGFzZXJBcHBlbmRDaGlsZCBvbiB0aGUgZG9jVHlwZSBpdHMgcGFzc2VkLgotICAg
IC8vIEFTU0VSVChkb2N1bWVudCgpID09IG5ld0NoaWxkLT5kb2N1bWVudCgpKTsKKyAgICBBU1NF
UlQoZG9jdW1lbnQoKSA9PSBuZXdDaGlsZC0+ZG9jdW1lbnQoKSk7CiAKICAgICBOb2RlKiBsYXN0
ID0gbV9sYXN0Q2hpbGQ7CiAgICAgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RP
TUltcGxlbWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9ET01JbXBsZW1lbnRhdGlv
bi5jcHAKaW5kZXggMjc2OTNiMzQwOTM3OTczNDg4YjE2Y2U2NzI0ZTI4NmE3NWNiODg2Zi4uMWNh
MjgyMmZmZGNmNmZjMzMyNmQ5MTk2NjJlMWZkZTk3MDEwMTEwYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RPTUltcGxlbWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRE9NSW1wbGVtZW50YXRpb24uY3BwCkBAIC0zMTUsMTEgKzMxNSwxMCBAQCBQYXNzUmVmUHRy
PERvY3VtZW50PiBET01JbXBsZW1lbnRhdGlvbjo6Y3JlYXRlRG9jdW1lbnQoY29uc3QgU3RyaW5n
JiBuYW1lc3BhY2VVUgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICAvLyBGSVhNRTog
U2hvdWxkbid0IHRoaXMgY2FsbCBhcHBlbmRDaGlsZCBpbnN0ZWFkPwogICAgIGlmIChkb2N0eXBl
KQotICAgICAgICBkb2MtPnBhcnNlckFwcGVuZENoaWxkKGRvY3R5cGUpOworICAgICAgICBkb2Mt
PmFwcGVuZENoaWxkKGRvY3R5cGUpOwogICAgIGlmIChkb2N1bWVudEVsZW1lbnQpCi0gICAgICAg
IGRvYy0+cGFyc2VyQXBwZW5kQ2hpbGQoZG9jdW1lbnRFbGVtZW50LnJlbGVhc2UoKSk7CisgICAg
ICAgIGRvYy0+YXBwZW5kQ2hpbGQoZG9jdW1lbnRFbGVtZW50LnJlbGVhc2UoKSk7CiAKICAgICBy
ZXR1cm4gZG9jLnJlbGVhc2UoKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>