<?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>126700</bug_id>
          
          <creation_ts>2014-01-09 08:26:10 -0800</creation_ts>
          <short_desc>Disconnect child frames iteratively</short_desc>
          <delta_ts>2014-01-09 12:07:54 -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="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>kangil.han</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965912</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 08:26:10 -0800</bug_when>
    <thetext>Get rid of the odd ChildFrameDisconnector factoring too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965923</commentid>
    <comment_count>1</comment_count>
      <attachid>220743</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 08:46:11 -0800</bug_when>
    <thetext>Created attachment 220743
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965926</commentid>
    <comment_count>2</comment_count>
      <attachid>220743</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-01-09 08:55:01 -0800</bug_when>
    <thetext>Comment on attachment 220743
patch

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

&gt; Source/WebCore/dom/ContainerNodeAlgorithms.cpp:171
&gt; +        HTMLFrameOwnerElement&amp; owner = frameOwners[i].get();

I&apos;d use auto&amp; here, since the type is repeated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966008</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-01-09 12:07:54 -0800</bug_when>
    <thetext>ttps://trac.webkit.org/r161567</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220743</attachid>
            <date>2014-01-09 08:46:11 -0800</date>
            <delta_ts>2014-01-09 08:55:01 -0800</delta_ts>
            <desc>patch</desc>
            <filename>child-frame-disconnect-2.patch</filename>
            <type>text/plain</type>
            <size>8855</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2MTU1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDE0LTAxLTA5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBEaXNjb25uZWN0IGNoaWxkIGZy
YW1lcyBpdGVyYXRpdmVseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTI2NzAwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXNlIGRlc2NlbmRhbnQgaXRlcmF0b3IgaW5zdGVhZCBvZiByZWN1cnNpb24gZm9y
IHRyYXZlcnNhbC4KKworICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OndpbGxSZW1vdmVDaGlsZCk6CisgICAgICAgIChXZWJDb3JlOjp3aWxsUmVtb3Zl
Q2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6Q29udGFpbmVyTm9kZTo6ZGlzY29ubmVjdERl
c2NlbmRhbnRGcmFtZXMpOgorICAgICAgICAqIGRvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjphc3NlcnRDb25uZWN0ZWRTdWJyYW1lQ291bnRJc0NvbnNp
c3RlbnQpOgorICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdEZyYW1lT3duZXJzKToKKyAgICAgICAg
KFdlYkNvcmU6OmRpc2Nvbm5lY3RTdWJmcmFtZXMpOgorICAgICAgICAKKyAgICAgICAgICAgIEdl
dCByaWQgb2YgdGhlIHN0cmFuZ2UgQ2hpbGRGcmFtZURpc2Nvbm5lY3RvciBjbGFzcyBpbiBmYXZv
ciBvZiBhIGZ1bmN0aW9uLgorCisgICAgICAgICogZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1z
Lmg6CisgICAgICAgIChXZWJDb3JlOjpkaXNjb25uZWN0U3ViZnJhbWVzSWZOZWVkZWQpOgorCiAy
MDE0LTAxLTA5ICBBbmRyZWkgQnVjdXIgIDxhYnVjdXJAYWRvYmUuY29tPgogCiAgICAgICAgIFtD
U1NSZWdpb25zXSBNb3ZlIHJlZ2lvbnMgYXV0by1zaXplIGNvZGUgaW50byBSZW5kZXJOYW1lZEZs
b3dGcmFnbWVudApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAkocmV2aXNp
b24gMTYxNTUyKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00ODksNyArNDg5LDcgQEAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZUNoaWxk
KE5vZGUmIGNoaWxkKQogICAgIGRpc3BhdGNoQ2hpbGRSZW1vdmFsRXZlbnRzKGNoaWxkKTsKICAg
ICBjaGlsZC5kb2N1bWVudCgpLm5vZGVXaWxsQmVSZW1vdmVkKCZjaGlsZCk7IC8vIGUuZy4gbXV0
YXRpb24gZXZlbnQgbGlzdGVuZXIgY2FuIGNyZWF0ZSBhIG5ldyByYW5nZS4KICAgICBpZiAoY2hp
bGQuaXNDb250YWluZXJOb2RlKCkpCi0gICAgICAgIENoaWxkRnJhbWVEaXNjb25uZWN0b3IodG9D
b250YWluZXJOb2RlKGNoaWxkKSkuZGlzY29ubmVjdCgpOworICAgICAgICBkaXNjb25uZWN0U3Vi
ZnJhbWVzSWZOZWVkZWQodG9Db250YWluZXJOb2RlKGNoaWxkKSwgUm9vdEFuZERlc2NlbmRhbnRz
KTsKIH0KIAogc3RhdGljIHZvaWQgd2lsbFJlbW92ZUNoaWxkcmVuKENvbnRhaW5lck5vZGUmIGNv
bnRhaW5lcikKQEAgLTUwOSwxMiArNTA5LDEyIEBAIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVDaGls
ZHJlbihDb250YWluZXIKIAogICAgIGNvbnRhaW5lci5kb2N1bWVudCgpLm5vZGVDaGlsZHJlbldp
bGxCZVJlbW92ZWQoY29udGFpbmVyKTsKIAotICAgIENoaWxkRnJhbWVEaXNjb25uZWN0b3IoY29u
dGFpbmVyKS5kaXNjb25uZWN0KENoaWxkRnJhbWVEaXNjb25uZWN0b3I6OkRlc2NlbmRhbnRzT25s
eSk7CisgICAgZGlzY29ubmVjdFN1YmZyYW1lc0lmTmVlZGVkKGNvbnRhaW5lciwgRGVzY2VuZGFu
dHNPbmx5KTsKIH0KIAogdm9pZCBDb250YWluZXJOb2RlOjpkaXNjb25uZWN0RGVzY2VuZGFudEZy
YW1lcygpCiB7Ci0gICAgQ2hpbGRGcmFtZURpc2Nvbm5lY3RvcigqdGhpcykuZGlzY29ubmVjdCgp
OworICAgIGRpc2Nvbm5lY3RTdWJmcmFtZXNJZk5lZWRlZCgqdGhpcywgUm9vdEFuZERlc2NlbmRh
bnRzKTsKIH0KIAogYm9vbCBDb250YWluZXJOb2RlOjpyZW1vdmVDaGlsZChOb2RlKiBvbGRDaGls
ZCwgRXhjZXB0aW9uQ29kZSYgZWMpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVy
Tm9kZUFsZ29yaXRobXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlQWxnb3JpdGhtcy5jcHAJKHJldmlzaW9uIDE2MTU1MikKKysrIFNvdXJjZS9XZWJD
b3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4
LDcgKzk4LDcgQEAgdm9pZCBDaGlsZE5vZGVSZW1vdmFsTm90aWZpZXI6Om5vdGlmeURlcwogfQog
CiAjaWZuZGVmIE5ERUJVRwotdW5zaWduZWQgYXNzZXJ0Q29ubmVjdGVkU3VicmFtZUNvdW50SXND
b25zaXN0ZW50KE5vZGUmIG5vZGUpCitzdGF0aWMgdW5zaWduZWQgYXNzZXJ0Q29ubmVjdGVkU3Vi
cmFtZUNvdW50SXNDb25zaXN0ZW50KENvbnRhaW5lck5vZGUmIG5vZGUpCiB7CiAgICAgdW5zaWdu
ZWQgY291bnQgPSAwOwogCkBAIC0xMTAsMTUgKzExMCwxNSBAQCB1bnNpZ25lZCBhc3NlcnRDb25u
ZWN0ZWRTdWJyYW1lQ291bnRJc0NvCiAgICAgICAgICAgICBjb3VudCArPSBhc3NlcnRDb25uZWN0
ZWRTdWJyYW1lQ291bnRJc0NvbnNpc3RlbnQoKnJvb3QpOwogICAgIH0KIAotICAgIGZvciAoTm9k
ZSogY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRT
aWJsaW5nKCkpCi0gICAgICAgIGNvdW50ICs9IGFzc2VydENvbm5lY3RlZFN1YnJhbWVDb3VudElz
Q29uc2lzdGVudCgqY2hpbGQpOworICAgIGZvciAoYXV0byYgY2hpbGQgOiBjaGlsZHJlbk9mVHlw
ZTxFbGVtZW50Pihub2RlKSkKKyAgICAgICAgY291bnQgKz0gYXNzZXJ0Q29ubmVjdGVkU3VicmFt
ZUNvdW50SXNDb25zaXN0ZW50KGNoaWxkKTsKIAogICAgIC8vIElmIHdlIHVuZGVyY291bnQgdGhl
cmUncyBwb3NzaWJseSBhIHNlY3VyaXR5IGJ1ZyBzaW5jZSB3ZSdkIGxlYXZlIGZyYW1lcwogICAg
IC8vIGluIHN1YnRyZWVzIG91dHNpZGUgdGhlIGRvY3VtZW50LgogICAgIEFTU0VSVChub2RlLmNv
bm5lY3RlZFN1YmZyYW1lQ291bnQoKSA+PSBjb3VudCk7CiAKICAgICAvLyBJZiB3ZSBvdmVyY291
bnQgaXQncyBzYWZlLCBidXQgbm90IG9wdGltYWwgYmVjYXVzZSBpdCBtZWFucyB3ZSdsbCB0cmF2
ZXJzZQotICAgIC8vIHRocm91Z2ggdGhlIGRvY3VtZW50IGluIENoaWxkRnJhbWVEaXNjb25uZWN0
b3IgbG9va2luZyBmb3IgZnJhbWVzIHRoYXQgaGF2ZQorICAgIC8vIHRocm91Z2ggdGhlIGRvY3Vt
ZW50IGluIGRpc2Nvbm5lY3RTdWJmcmFtZXMgbG9va2luZyBmb3IgZnJhbWVzIHRoYXQgaGF2ZQog
ICAgIC8vIGFscmVhZHkgYmVlbiBkaXNjb25uZWN0ZWQuCiAgICAgQVNTRVJUKG5vZGUuY29ubmVj
dGVkU3ViZnJhbWVDb3VudCgpID09IGNvdW50KTsKIApAQCAtMTI2LDQgKzEyNiw1NCBAQCB1bnNp
Z25lZCBhc3NlcnRDb25uZWN0ZWRTdWJyYW1lQ291bnRJc0NvCiB9CiAjZW5kaWYKIAorc3RhdGlj
IHZvaWQgY29sbGVjdEZyYW1lT3duZXJzKFZlY3RvcjxSZWY8SFRNTEZyYW1lT3duZXJFbGVtZW50
Pj4mIGZyYW1lT3duZXJzLCBDb250YWluZXJOb2RlJiByb290KQoreworICAgIGF1dG8gZWxlbWVu
dERlc2NlbmRhbnRzID0gZGVzY2VuZGFudHNPZlR5cGU8RWxlbWVudD4ocm9vdCk7CisgICAgYXV0
byBpdCA9IGVsZW1lbnREZXNjZW5kYW50cy5iZWdpbigpOworICAgIGF1dG8gZW5kID0gZWxlbWVu
dERlc2NlbmRhbnRzLmVuZCgpOworICAgIHdoaWxlIChpdCAhPSBlbmQpIHsKKyAgICAgICAgRWxl
bWVudCYgZWxlbWVudCA9ICppdDsKKyAgICAgICAgaWYgKCFlbGVtZW50LmNvbm5lY3RlZFN1YmZy
YW1lQ291bnQoKSkgeworICAgICAgICAgICAgaXQudHJhdmVyc2VOZXh0U2tpcHBpbmdDaGlsZHJl
bigpOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBpZiAoZWxl
bWVudC5pc0hUTUxFbGVtZW50KCkgJiYgZWxlbWVudC5pc0ZyYW1lT3duZXJFbGVtZW50KCkpCisg
ICAgICAgICAgICBmcmFtZU93bmVycy5hcHBlbmQodG9IVE1MRnJhbWVPd25lckVsZW1lbnQoZWxl
bWVudCkpOworCisgICAgICAgIGlmIChTaGFkb3dSb290KiBzaGFkb3cgPSBlbGVtZW50LnNoYWRv
d1Jvb3QoKSkKKyAgICAgICAgICAgIGNvbGxlY3RGcmFtZU93bmVycyhmcmFtZU93bmVycywgKnNo
YWRvdyk7CisgICAgICAgICsraXQ7CisgICAgfQorfQorCit2b2lkIGRpc2Nvbm5lY3RTdWJmcmFt
ZXMoQ29udGFpbmVyTm9kZSYgcm9vdCwgU3ViZnJhbWVEaXNjb25uZWN0UG9saWN5IHBvbGljeSkK
K3sKKyNpZm5kZWYgTkRFQlVHCisgICAgYXNzZXJ0Q29ubmVjdGVkU3VicmFtZUNvdW50SXNDb25z
aXN0ZW50KHJvb3QpOworI2VuZGlmCisgICAgQVNTRVJUKHJvb3QuY29ubmVjdGVkU3ViZnJhbWVD
b3VudCgpKTsKKworICAgIFZlY3RvcjxSZWY8SFRNTEZyYW1lT3duZXJFbGVtZW50Pj4gZnJhbWVP
d25lcnM7CisKKyAgICBpZiAocG9saWN5ID09IFJvb3RBbmREZXNjZW5kYW50cykgeworICAgICAg
ICBpZiAocm9vdC5pc0hUTUxFbGVtZW50KCkgJiYgcm9vdC5pc0ZyYW1lT3duZXJFbGVtZW50KCkp
CisgICAgICAgICAgICBmcmFtZU93bmVycy5hcHBlbmQodG9IVE1MRnJhbWVPd25lckVsZW1lbnQo
cm9vdCkpOworICAgIH0KKworICAgIGNvbGxlY3RGcmFtZU93bmVycyhmcmFtZU93bmVycywgcm9v
dCk7CisKKyAgICAvLyBNdXN0IGRpc2FibGUgZnJhbWUgbG9hZGluZyBpbiB0aGUgc3VidHJlZSBz
byBhbiB1bmxvYWQgaGFuZGxlciBjYW5ub3QKKyAgICAvLyBpbnNlcnQgbW9yZSBmcmFtZXMgYW5k
IGNyZWF0ZSBsb2FkZWQgZnJhbWVzIGluIGRldGFjaGVkIHN1YnRyZWVzLgorICAgIFN1YmZyYW1l
TG9hZGluZ0Rpc2FibGVyIGRpc2FibGVyKHJvb3QpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IGZyYW1lT3duZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIEhUTUxGcmFtZU93bmVy
RWxlbWVudCYgb3duZXIgPSBmcmFtZU93bmVyc1tpXS5nZXQoKTsKKyAgICAgICAgLy8gRG9uJ3Qg
bmVlZCB0byB0cmF2ZXJzZSB1cCB0aGUgdHJlZSBmb3IgdGhlIGZpcnN0IG93bmVyIHNpbmNlIG5v
CisgICAgICAgIC8vIHNjcmlwdCBjb3VsZCBoYXZlIG1vdmVkIGl0LgorICAgICAgICBpZiAoIWkg
fHwgcm9vdC5jb250YWluc0luY2x1ZGluZ1NoYWRvd0RPTSgmb3duZXIpKQorICAgICAgICAgICAg
b3duZXIuZGlzY29ubmVjdENvbnRlbnRGcmFtZSgpOworICAgIH0KK30KKwogfQpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGVBbGdvcml0aG1zLmgJKHJldmlzaW9uIDE2
MTU1MikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlQWxnb3JpdGhtcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBACiAjZGVmaW5lIENvbnRhaW5lck5vZGVBbGdv
cml0aG1zX2gKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudFRyYXZl
cnNhbC5oIgorI2luY2x1ZGUgIkVsZW1lbnRJdGVyYXRvci5oIgogI2luY2x1ZGUgIkZyYW1lLmgi
CiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCkBAIC0yNjIsODAgKzI2MiwxNyBAQCBpbmxpbmUgdm9pZCBDaGls
ZE5vZGVSZW1vdmFsTm90aWZpZXI6Om5vCiAgICAgICAgIG5vdGlmeU5vZGVSZW1vdmVkRnJvbVRy
ZWUodG9Db250YWluZXJOb2RlKG5vZGUpKTsKIH0KIAotY2xhc3MgQ2hpbGRGcmFtZURpc2Nvbm5l
Y3RvciB7Ci1wdWJsaWM6Ci0gICAgZW51bSBEaXNjb25uZWN0UG9saWN5IHsKLSAgICAgICAgUm9v
dEFuZERlc2NlbmRhbnRzLAotICAgICAgICBEZXNjZW5kYW50c09ubHkKLSAgICB9OwotCi0gICAg
ZXhwbGljaXQgQ2hpbGRGcmFtZURpc2Nvbm5lY3RvcihDb250YWluZXJOb2RlJiByb290KQotICAg
ICAgICA6IG1fcm9vdChyb290KQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGRpc2Nvbm5lY3Qo
RGlzY29ubmVjdFBvbGljeSA9IFJvb3RBbmREZXNjZW5kYW50cyk7Ci0KLXByaXZhdGU6Ci0gICAg
dm9pZCBjb2xsZWN0RnJhbWVPd25lcnMoQ29udGFpbmVyTm9kZSYgcm9vdCk7Ci0gICAgdm9pZCBk
aXNjb25uZWN0Q29sbGVjdGVkRnJhbWVPd25lcnMoKTsKLQotICAgIFZlY3RvcjxSZWY8SFRNTEZy
YW1lT3duZXJFbGVtZW50PiwgMTA+IG1fZnJhbWVPd25lcnM7Ci0gICAgQ29udGFpbmVyTm9kZSYg
bV9yb290OworZW51bSBTdWJmcmFtZURpc2Nvbm5lY3RQb2xpY3kgeworICAgIFJvb3RBbmREZXNj
ZW5kYW50cywKKyAgICBEZXNjZW5kYW50c09ubHkKIH07Cit2b2lkIGRpc2Nvbm5lY3RTdWJmcmFt
ZXMoQ29udGFpbmVyTm9kZSYgcm9vdCwgU3ViZnJhbWVEaXNjb25uZWN0UG9saWN5KTsKIAotI2lm
bmRlZiBOREVCVUcKLXVuc2lnbmVkIGFzc2VydENvbm5lY3RlZFN1YnJhbWVDb3VudElzQ29uc2lz
dGVudChOb2RlJik7Ci0jZW5kaWYKLQotaW5saW5lIHZvaWQgQ2hpbGRGcmFtZURpc2Nvbm5lY3Rv
cjo6Y29sbGVjdEZyYW1lT3duZXJzKENvbnRhaW5lck5vZGUmIHJvb3QpCitpbmxpbmUgdm9pZCBk
aXNjb25uZWN0U3ViZnJhbWVzSWZOZWVkZWQoQ29udGFpbmVyTm9kZSYgcm9vdCwgU3ViZnJhbWVE
aXNjb25uZWN0UG9saWN5IHBvbGljeSkKIHsKICAgICBpZiAoIXJvb3QuY29ubmVjdGVkU3ViZnJh
bWVDb3VudCgpKQogICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAocm9vdC5pc0hUTUxFbGVtZW50
KCkgJiYgcm9vdC5pc0ZyYW1lT3duZXJFbGVtZW50KCkpCi0gICAgICAgIG1fZnJhbWVPd25lcnMu
YXBwZW5kKHRvSFRNTEZyYW1lT3duZXJFbGVtZW50KHJvb3QpKTsKLQotICAgIGZvciAoRWxlbWVu
dCogY2hpbGQgPSBFbGVtZW50VHJhdmVyc2FsOjpmaXJzdENoaWxkKCZyb290KTsgY2hpbGQ7IGNo
aWxkID0gRWxlbWVudFRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoY2hpbGQpKQotICAgICAgICBjb2xs
ZWN0RnJhbWVPd25lcnMoKmNoaWxkKTsKLQotICAgIFNoYWRvd1Jvb3QqIHNoYWRvdyA9IHJvb3Qu
aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50KHJvb3QpLnNoYWRvd1Jvb3QoKSA6IDA7Ci0gICAg
aWYgKHNoYWRvdykKLSAgICAgICAgY29sbGVjdEZyYW1lT3duZXJzKCpzaGFkb3cpOwotfQotCi1p
bmxpbmUgdm9pZCBDaGlsZEZyYW1lRGlzY29ubmVjdG9yOjpkaXNjb25uZWN0Q29sbGVjdGVkRnJh
bWVPd25lcnMoKQotewotICAgIC8vIE11c3QgZGlzYWJsZSBmcmFtZSBsb2FkaW5nIGluIHRoZSBz
dWJ0cmVlIHNvIGFuIHVubG9hZCBoYW5kbGVyIGNhbm5vdAotICAgIC8vIGluc2VydCBtb3JlIGZy
YW1lcyBhbmQgY3JlYXRlIGxvYWRlZCBmcmFtZXMgaW4gZGV0YWNoZWQgc3VidHJlZXMuCi0gICAg
U3ViZnJhbWVMb2FkaW5nRGlzYWJsZXIgZGlzYWJsZXIobV9yb290KTsKLQotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtX2ZyYW1lT3duZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIEhU
TUxGcmFtZU93bmVyRWxlbWVudCYgb3duZXIgPSBtX2ZyYW1lT3duZXJzW2ldLmdldCgpOwotICAg
ICAgICAvLyBEb24ndCBuZWVkIHRvIHRyYXZlcnNlIHVwIHRoZSB0cmVlIGZvciB0aGUgZmlyc3Qg
b3duZXIgc2luY2Ugbm8KLSAgICAgICAgLy8gc2NyaXB0IGNvdWxkIGhhdmUgbW92ZWQgaXQuCi0g
ICAgICAgIGlmICghaSB8fCBtX3Jvb3QuY29udGFpbnNJbmNsdWRpbmdTaGFkb3dET00oJm93bmVy
KSkKLSAgICAgICAgICAgIG93bmVyLmRpc2Nvbm5lY3RDb250ZW50RnJhbWUoKTsKLSAgICB9Ci19
Ci0KLWlubGluZSB2b2lkIENoaWxkRnJhbWVEaXNjb25uZWN0b3I6OmRpc2Nvbm5lY3QoRGlzY29u
bmVjdFBvbGljeSBwb2xpY3kpCi17Ci0jaWZuZGVmIE5ERUJVRwotICAgIGFzc2VydENvbm5lY3Rl
ZFN1YnJhbWVDb3VudElzQ29uc2lzdGVudChtX3Jvb3QpOwotI2VuZGlmCi0KLSAgICBpZiAoIW1f
cm9vdC5jb25uZWN0ZWRTdWJmcmFtZUNvdW50KCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlm
IChwb2xpY3kgPT0gUm9vdEFuZERlc2NlbmRhbnRzKQotICAgICAgICBjb2xsZWN0RnJhbWVPd25l
cnMobV9yb290KTsKLSAgICBlbHNlIHsKLSAgICAgICAgZm9yIChFbGVtZW50KiBjaGlsZCA9IEVs
ZW1lbnRUcmF2ZXJzYWw6OmZpcnN0Q2hpbGQoJm1fcm9vdCk7IGNoaWxkOyBjaGlsZCA9IEVsZW1l
bnRUcmF2ZXJzYWw6Om5leHRTaWJsaW5nKGNoaWxkKSkKLSAgICAgICAgICAgIGNvbGxlY3RGcmFt
ZU93bmVycygqY2hpbGQpOwotICAgIH0KLQotICAgIGRpc2Nvbm5lY3RDb2xsZWN0ZWRGcmFtZU93
bmVycygpOworICAgIGRpc2Nvbm5lY3RTdWJmcmFtZXMocm9vdCwgcG9saWN5KTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>
<flag name="review"
          id="244516"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>