<?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>62184</bug_id>
          
          <creation_ts>2011-06-06 22:07:50 -0700</creation_ts>
          <short_desc>ShadowRoot.getElementById() returns removed node.</short_desc>
          <delta_ts>2012-05-29 10:50:27 -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>DOM</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>
          
          <blocked>59832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>416316</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 22:07:50 -0700</bug_when>
    <thetext>tkent doesn&apos;t like registering a shadow ID in insertedIntoDocument() and unregistering it in removedFromDocument().

See https://bugs.webkit.org/show_bug.cgi?id=62116#c5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416326</commentid>
    <comment_count>1</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-06-06 22:20:48 -0700</bug_when>
    <thetext>I&apos;m sorry for the lack of response on this issue.

Another possible idea is to have insertedIntoScope() in addition or instead of insertedIntoTree().
As we pulled some functionality up from Document to TreeScope,
associated part on Element and Node is also need to be generalized.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416340</commentid>
    <comment_count>2</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-06 22:37:20 -0700</bug_when>
    <thetext>I added a comment at https://bugs.webkit.org/show_bug.cgi?id=62116#c14</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416348</commentid>
    <comment_count>3</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-06 22:45:14 -0700</bug_when>
    <thetext>In Summary: 

If an element has an ID it just unconditionally calls treeScope()-&gt;registerID() from insertedIntoTree(), and treeScope()-&gt;unregisterID() from willRemove().

Nodes that are not in the Document are inserted into a new TreeScope-derived class DocumentAssociated, of which there is exactly 1 instance per Document, owned by the Document.

DocumentAssociated::registerID()/unregisterID() are no-ops.

With this, we can also get rid of all the instances where inDocument() is queried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416594</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-07 10:10:38 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; In Summary: 
&gt; 
&gt; If an element has an ID it just unconditionally calls treeScope()-&gt;registerID() from insertedIntoTree(), and treeScope()-&gt;unregisterID() from willRemove().
&gt; 
&gt; Nodes that are not in the Document are inserted into a new TreeScope-derived class DocumentAssociated, of which there is exactly 1 instance per Document, owned by the Document.

I remember you talking about this a while back. It seems like a pretty cool idea. What are the compatibility implications? Any observable changes in behavior - especially if we introduce treeScope() accessor on an Element as public API?

&gt; 
&gt; DocumentAssociated::registerID()/unregisterID() are no-ops.
&gt; 
&gt; With this, we can also get rid of all the instances where inDocument() is queried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416947</commentid>
    <comment_count>5</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-07 17:19:51 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; I remember you talking about this a while back. It seems like a pretty cool idea. What are the compatibility implications? Any observable changes in behavior - especially if we introduce treeScope() accessor on an Element as public API?

I guess it&apos;ll have the same implications as the shadow root if we allow it to be reached from JS (by accessing it directly via treeScope, or by climbing the parent pointers) - i.e., mainly what is the node type and IDL of this DocumentAssociated node?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417041</commentid>
    <comment_count>6</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-07 19:47:44 -0700</bug_when>
    <thetext>Actually, we might be able to just use a DocumentFragment for this if likewise we extend DocumentFragment to also be a TreeScope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556895</commentid>
    <comment_count>7</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-02-14 20:39:13 -0800</bug_when>
    <thetext>Now TreeScope is landed. We need to test the scope is working as intended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562952</commentid>
    <comment_count>8</comment_count>
      <attachid>128431</attachid>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2012-02-23 01:24:24 -0800</bug_when>
    <thetext>Created attachment 128431
Test

Turns out, removing elements from a shadow DOM doesn&apos;t properly update the ID cache. See attached test file (using removeChild) and also the test bug 78473 attachment 127944 (using innerHTML).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635838</commentid>
    <comment_count>9</comment_count>
      <attachid>144505</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-29 03:57:14 -0700</bug_when>
    <thetext>Created attachment 144505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>635840</commentid>
    <comment_count>10</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-05-29 03:58:03 -0700</bug_when>
    <thetext>Hi Ryosuke, Dimitri, could you take a look?
It&apos;s a simple bug fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636224</commentid>
    <comment_count>11</comment_count>
      <attachid>144505</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 10:50:21 -0700</bug_when>
    <thetext>Comment on attachment 144505
Patch

Clearing flags on attachment: 144505

Committed r118804: &lt;http://trac.webkit.org/changeset/118804&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>636225</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-29 10:50:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128431</attachid>
            <date>2012-02-23 01:24:24 -0800</date>
            <delta_ts>2012-02-23 01:24:24 -0800</delta_ts>
            <desc>Test</desc>
            <filename>get-element-by-id.html</filename>
            <type>text/html</type>
            <size>3385</size>
            <attacher name="Roland Steiner">rolandsteiner</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CjxzY3JpcHQ+CiAgICBkZXNjcmlwdGlvbigi
VGVzdHMgdG8gZW5zdXJlIHRoYXQgZ2V0RWxlbWVudEJ5SWQgY2FuIG9ubHkgZ2V0IGVsZW1lbnRz
IHdpdGhpbiB0aGUgc2FtZSBUcmVlU2NvcGUuIENhbiBvbmx5IHJ1biB3aXRoaW4gRFJULiIpOwoK
ICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgewogICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCiAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsK
CiAgICAgICAgZGVidWcoIi0tLSBJbml0aWFsIC0tLSIpOwogICAgICAgIHNob3VsZEJlTm9uTnVs
bCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0EnKSIpOwogICAgICAgIHNob3VsZEJlTm9uTnVs
bCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0InKSIpOwogICAgICAgIHNob3VsZEJlTm9uTnVs
bCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1gnKSIpOwogICAgICAgIHNob3VsZEJlTm9uTnVs
bCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1knKSIpOwoKICAgICAgICBkZWJ1ZygiLS0tIEFk
ZGluZyBzaGFkb3cgRE9NIHRvIDFzdCBkaXYgLS0tIik7CiAgICAgICAgdmFyIGEgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiQSIpOwogICAgICAgIHNoYWRvdyA9IGludGVybmFscy5lbnN1cmVT
aGFkb3dSb290KGEpCiAgICAgICAgc2hvdWxkQmVEZWZpbmVkKCJzaGFkb3cuZ2V0RWxlbWVudEJ5
SWQiKTsKICAgICAgICBzaG91bGRCZU51bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnQScpIik7
CiAgICAgICAgc2hvdWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ0InKSIpOwogICAg
ICAgIHNob3VsZEJlTnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdYJykiKTsKICAgICAgICBz
aG91bGRCZU51bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnWScpIik7CgogICAgICAgIGRlYnVn
KCItLS0gWWFua2luZyAybmQgZGl2IC0tLSIpOwogICAgICAgIHZhciB4ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoIlgiKTsKICAgICAgICB4LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoeCk7CiAg
ICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQScpIik7CiAg
ICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQicpIik7CiAg
ICAgICAgc2hvdWxkQmVOdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnWCcpIik7CiAgICAg
ICAgc2hvdWxkQmVOdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnWScpIik7CiAgICAgICAg
c2hvdWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ0EnKSIpOwogICAgICAgIHNob3Vs
ZEJlTnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdCJykiKTsKICAgICAgICBzaG91bGRCZU51
bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnWCcpIik7CiAgICAgICAgc2hvdWxkQmVOdWxsKCJz
aGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ1knKSIpOwoKICAgICAgICBkZWJ1ZygiLS0tIEluc2VydGlu
ZyB5YW5rZWQgZGl2IGFzIHNoYWRvdyAtLS0iKTsKICAgICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQo
eCk7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQScp
Iik7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQicp
Iik7CiAgICAgICAgc2hvdWxkQmVOdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnWCcpIik7
CiAgICAgICAgc2hvdWxkQmVOdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnWScpIik7CiAg
ICAgICAgc2hvdWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ0EnKSIpOwogICAgICAg
IHNob3VsZEJlTnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdCJykiKTsKICAgICAgICBzaG91
bGRCZU5vbk51bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnWCcpIik7CiAgICAgICAgc2hvdWxk
QmVOb25OdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ1knKSIpOwoKICAgICAgICBkZWJ1Zygi
LS0tIFlhbmtpbmcgYWdhaW4gLS0tIik7CiAgICAgICAgeC5wYXJlbnROb2RlLnJlbW92ZUNoaWxk
KHgpOwogICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0En
KSIpOwogICAgICAgIHNob3VsZEJlTm9uTnVsbCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0In
KSIpOwogICAgICAgIHNob3VsZEJlTnVsbCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1gnKSIp
OwogICAgICAgIHNob3VsZEJlTnVsbCgiZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ1knKSIpOwog
ICAgICAgIHNob3VsZEJlTnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdBJykiKTsKICAgICAg
ICBzaG91bGRCZU51bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnQicpIik7CiAgICAgICAgc2hv
dWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ1gnKSIpOwogICAgICAgIHNob3VsZEJl
TnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdZJykiKTsKCiAgICAgICAgZGVidWcoIi0tLSBJ
bnNlcnRpbmcgaW50byBib2R5IGFnYWluIC0tLSIpOwogICAgICAgIGRvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoeCk7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnQScpIik7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnQicpIik7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnWCcpIik7CiAgICAgICAgc2hvdWxkQmVOb25OdWxsKCJkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnWScpIik7CiAgICAgICAgc2hvdWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQo
J0EnKSIpOwogICAgICAgIHNob3VsZEJlTnVsbCgic2hhZG93LmdldEVsZW1lbnRCeUlkKCdCJyki
KTsKICAgICAgICBzaG91bGRCZU51bGwoInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnWCcpIik7CiAg
ICAgICAgc2hvdWxkQmVOdWxsKCJzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ1knKSIpOwogICAgfQo8
L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KICAgIDxkaXYgaWQ9IkEiPgogICAgICAgIDxpbnB1dCBp
ZD0iQiI+PC9pbnB1dD4KICAgIDwvZGl2PgogICAgPGRpdiBpZD0iWCI+CiAgICAgICAgPGlucHV0
IGlkPSJZIj48L2lucHV0PgogICAgPC9kaXY+CiAgICA8c2NyaXB0PnRlc3QoKTs8L3NjcmlwdD4K
ICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144505</attachid>
            <date>2012-05-29 03:57:14 -0700</date>
            <delta_ts>2012-05-29 10:50:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62184-20120529195713.patch</filename>
            <type>text/plain</type>
            <size>6709</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE4NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVmNmE3ZmEzMDE5YWQ1
MzFhYjEzNWU2ZjczNDBkNjRlOWY5NzU0Yi4uYTAwYWM5ZGY2YWMwZDE1M2Y3ZWQxYzdjOGYxZmYx
OGM0NmFmMjZiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA1LTI5ICBNT1JJ
VEEgSGFqaW1lICA8bW9ycml0YUBnb29nbGUuY29tPgorCisgICAgICAgIFNoYWRvd1Jvb3QuZ2V0
RWxlbWVudEJ5SWQoKSByZXR1cm5zIHJlbW92ZWQgbm9kZS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTg0CisKKyAgICAgICAgRGVyZWdpdHJhdGlv
biBvZiBtX2VsZW1lbnRzQnlJZCBtYXAgaXMgZG9uZSBhdCBFbGVtZW50OjpyZW1vdmVkRnJvbSgp
CisgICAgICAgIEJ1dCB0aGUgdHJlZSBzY29wZSBvZiB0aGUgcmVtb3ZlZCBub2RlIGlzIGFscmVh
ZHkgcmVzZXQgZnJvbSBhIHNoYWRvdyByb290CisgICAgICAgIHRvIGEgZG9jdW1lbnQuCisKKyAg
ICAgICAgVGhpcyBjaGFuZ2UgbG9va3VwIHRoZSBvbGQgc2hhZG93IHJvb3QgdGhyb3VnaCBpdHMg
cGFyZW50IG5vZGUgYW5kCisgICAgICAgIGRlcmVnaXRyYXRlciB0aGUgbm9kZSBhZ2FpbnN0IGl0
LgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6
IGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRt
bAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6dHJlZVNj
b3BlT2ZQYXJlbnQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjpyZW1vdmVkRnJvbSk6CisgICAgICAgICogZG9tL0VsZW1lbnQuaDoKKyAgICAgICAgKEVs
ZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6dXBkYXRlSWQpOgorICAgICAgICAo
V2ViQ29yZSk6CisKIDIwMTItMDUtMjggIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFtWOF0gQXZvaWQgcGFzc2luZyBOVUxMIHRvIGFuICdpc29sYXRlJyBw
YXJhbWV0ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCAyNGExMTNmMWQxMzRhNThiNjdkNTQ3
ZTY5MWZjNWM2OGEyNDc1MDY4Li45N2EyNTVhMmZhNzczNjQzNTBkNWUwZjVlNWZiMDIwM2E3MDYx
NjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC05MTQsNiArOTE0LDE0IEBAIE5vZGU6Oklu
c2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3QgRWxlbWVudDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5l
ck5vZGUqIGluc2VydGlvCiAgICAgcmV0dXJuIEluc2VydGlvbkRvbmU7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgVHJlZVNjb3BlKiB0cmVlU2NvcGVPZlBhcmVudChOb2RlKiBub2RlLCBDb250YWluZXJO
b2RlKiBpbnNlcnRpb25Qb2ludCkKK3sKKyAgICBpZiAoTm9kZSogcGFyZW50ID0gbm9kZS0+cGFy
ZW50Tm9kZSgpKQorICAgICAgICBwYXJlbnQtPnRyZWVTY29wZSgpOworICAgIHJldHVybiBpbnNl
cnRpb25Qb2ludC0+dHJlZVNjb3BlKCk7Cit9CisKKwogdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJv
bShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIHsKICNpZiBFTkFCTEUoRlVMTFNDUkVF
Tl9BUEkpCkBAIC05MjUsOCArOTMzLDggQEAgdm9pZCBFbGVtZW50OjpyZW1vdmVkRnJvbShDb250
YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKIAogICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aW5E
b2N1bWVudCgpKSB7CiAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgaWRWYWx1ZSA9IGdldElk
QXR0cmlidXRlKCk7Ci0gICAgICAgIGlmICghaWRWYWx1ZS5pc051bGwoKSkKLSAgICAgICAgICAg
IHVwZGF0ZUlkKGlkVmFsdWUsIG51bGxBdG9tKTsKKyAgICAgICAgaWYgKCFpZFZhbHVlLmlzTnVs
bCgpICYmIGluRG9jdW1lbnQoKSkKKyAgICAgICAgICAgIHVwZGF0ZUlkKHRyZWVTY29wZU9mUGFy
ZW50KHRoaXMsIGluc2VydGlvblBvaW50KSwgaWRWYWx1ZSwgbnVsbEF0b20pOwogCiAgICAgICAg
IGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZVZhbHVlID0gZ2V0TmFtZUF0dHJpYnV0ZSgpOwogICAg
ICAgICBpZiAoIW5hbWVWYWx1ZS5pc051bGwoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IGZmYjdi
MmRmMmI5OGQ4ODkxYjBlZTFmNjgzNzM0NjI1OGE1NjJhZGUuLmZhMzlhMTg3YjA3ZmNkNWM3MmIw
YWZiOGZmMmFmZTE3YjkzYTZjOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMzAzLDYgKzMwMyw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFN0cmluZyB0aXRsZSgpIGNvbnN0OwogCiAgICAgdm9p
ZCB1cGRhdGVJZChjb25zdCBBdG9taWNTdHJpbmcmIG9sZElkLCBjb25zdCBBdG9taWNTdHJpbmcm
IG5ld0lkKTsKKyAgICB2b2lkIHVwZGF0ZUlkKFRyZWVTY29wZSosIGNvbnN0IEF0b21pY1N0cmlu
ZyYgb2xkSWQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpOwogICAgIHZvaWQgdXBkYXRlTmFt
ZShjb25zdCBBdG9taWNTdHJpbmcmIG9sZE5hbWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3TmFt
ZSk7CiAKICAgICB2b2lkIHdpbGxNb2RpZnlBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21pY1N0cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21pY1N0cmluZyYgbmV3VmFs
dWUpOwpAQCAtNTg3LDcgKzU4OCwxNCBAQCBpbmxpbmUgdm9pZCBFbGVtZW50Ojp1cGRhdGVJZChj
b25zdCBBdG9taWNTdHJpbmcmIG9sZElkLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ldwogICAgIGlm
IChvbGRJZCA9PSBuZXdJZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVHJlZVNjb3BlKiBzY29w
ZSA9IHRyZWVTY29wZSgpOworICAgIHVwZGF0ZUlkKHRyZWVTY29wZSgpLCBvbGRJZCwgbmV3SWQp
OworfQorCitpbmxpbmUgdm9pZCBFbGVtZW50Ojp1cGRhdGVJZChUcmVlU2NvcGUqIHNjb3BlLCBj
b25zdCBBdG9taWNTdHJpbmcmIG9sZElkLCBjb25zdCBBdG9taWNTdHJpbmcmIG5ld0lkKQorewor
ICAgIEFTU0VSVChpbkRvY3VtZW50KCkpOworICAgIEFTU0VSVChvbGRJZCAhPSBuZXdJZCk7CisK
ICAgICBpZiAoIW9sZElkLmlzRW1wdHkoKSkKICAgICAgICAgc2NvcGUtPnJlbW92ZUVsZW1lbnRC
eUlkKG9sZElkLCB0aGlzKTsKICAgICBpZiAoIW5ld0lkLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmYTQz
MzhlYjAyODlmMzY3YjZiNTk1YTA1NzZmNGQ1MjFjNmZmOTBhLi40OTM5Y2IwZTQ5NTRjZTNlZDAy
ZWJhNmQ2MWRlMWQzYjgzZTkyNmJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDUtMjkg
IE1PUklUQSBIYWppbWUgIDxtb3JyaXRhQGdvb2dsZS5jb20+CisKKyAgICAgICAgU2hhZG93Um9v
dC5nZXRFbGVtZW50QnlJZCgpIHJldHVybnMgcmVtb3ZlZCBub2RlLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxODQKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9nZXQtZWxl
bWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9u
Lmh0bWw6IEFkZGVkLgorCiAyMDEyLTA1LTI4ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBGb3JtIGNvbnRyb2xzIGluIDxmaWVsZHNldCBkaXNhYmxlZD4gc2hv
dWxkIG5vdCBiZSB2YWxpZGF0ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ct
bXV0YXRpb24tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiNzBiYTIyMDM0MDhiOTZmMDRhNzY5
NDRiNTRhMDY1NDg0MzY4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvZ2V0LWVsZW1lbnQtYnktaWQtaW4tc2hhZG93LW11dGF0aW9uLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDE2IEBACitUZXN0cyB0byBlbnN1cmUgdGhhdCBTaGFkb3dSb290LmdldEVs
ZW1lbnRCeUlkIHdvcmtzIGV2ZW4gYWZ0ZXIgbXV0YXRpb24KKworT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgorCisKK1BBU1MgbnVsbCBpcyBzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpCitQ
QVNTIGUwYSBpcyBzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpCitQQVNTIGUwYiBpcyBzaGFk
b3cuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpCitQQVNTIGUwYyBpcyBzaGFkb3cuZ2V0RWxlbWVudEJ5
SWQoJ2ZvbycpCitQQVNTIGUwYiBpcyBzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpCitQQVNT
IGUwYSBpcyBzaGFkb3cuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpCitQQVNTIG51bGwgaXMgc2hhZG93
LmdldEVsZW1lbnRCeUlkKCdmb28nKQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9nZXQtZWxlbWVudC1ieS1pZC1pbi1zaGFkb3ctbXV0YXRpb24uaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNzhkZTZjNzU1MDQwOTRkNzM2N2I4NjViZDdkMDNiNjVlMWQxMGEyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dldC1lbGVtZW50
LWJ5LWlkLWluLXNoYWRvdy1tdXRhdGlvbi5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJob3N0
Ij48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdG8gZW5zdXJlIHRoYXQgU2hh
ZG93Um9vdC5nZXRFbGVtZW50QnlJZCB3b3JrcyBldmVuIGFmdGVyIG11dGF0aW9uIik7CisKK3Zh
ciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImhvc3QiKTsKK3ZhciBzaGFkb3cgPSBu
ZXcgV2ViS2l0U2hhZG93Um9vdChob3N0KTsKKworc2hvdWxkQmUoIm51bGwiLCAic2hhZG93Lmdl
dEVsZW1lbnRCeUlkKCdmb28nKSIpOworCitlMGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJk
aXYiKTsKK2UwYS5pZCA9ICJmb28iOworc2hhZG93LmFwcGVuZENoaWxkKGUwYSk7CitzaG91bGRC
ZSgiZTBhIiwgInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnZm9vJykiKTsKKworZTBiID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOworZTBiLmlkID0gImZvbyI7CitzaGFkb3cuaW5zZXJ0
QmVmb3JlKGUwYiwgZTBhKTsKK3Nob3VsZEJlKCJlMGIiLCAic2hhZG93LmdldEVsZW1lbnRCeUlk
KCdmb28nKSIpOworCitlMGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CitlMGMuaWQg
PSAiZm9vIjsKK2UwY1BhcmVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworZTBj
UGFyZW50LmFwcGVuZENoaWxkKGUwYyk7CitzaGFkb3cuaW5zZXJ0QmVmb3JlKGUwY1BhcmVudCwg
ZTBiKTsKK3Nob3VsZEJlKCJlMGMiLCAic2hhZG93LmdldEVsZW1lbnRCeUlkKCdmb28nKSIpOwor
CitzaGFkb3cucmVtb3ZlQ2hpbGQoZTBjUGFyZW50KTsKK3Nob3VsZEJlKCJlMGIiLCAic2hhZG93
LmdldEVsZW1lbnRCeUlkKCdmb28nKSIpOworc2hhZG93LnJlbW92ZUNoaWxkKGUwYik7CitzaG91
bGRCZSgiZTBhIiwgInNoYWRvdy5nZXRFbGVtZW50QnlJZCgnZm9vJykiKTsKK3NoYWRvdy5yZW1v
dmVDaGlsZChlMGEpOworc2hvdWxkQmUoIm51bGwiLCAic2hhZG93LmdldEVsZW1lbnRCeUlkKCdm
b28nKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>