<?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>123704</bug_id>
          
          <creation_ts>2013-11-03 04:26:56 -0800</creation_ts>
          <short_desc>Switch createContextualFragment to element iterator</short_desc>
          <delta_ts>2014-11-04 08:42:40 -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>cdumez</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>946430</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-03 04:26:56 -0800</bug_when>
    <thetext>more iterator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946431</commentid>
    <comment_count>1</comment_count>
      <attachid>215865</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-03 04:30:56 -0800</bug_when>
    <thetext>Created attachment 215865
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946432</commentid>
    <comment_count>2</comment_count>
      <attachid>215866</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-03 06:43:28 -0800</bug_when>
    <thetext>Created attachment 215866
better patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946464</commentid>
    <comment_count>3</comment_count>
      <attachid>215866</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-11-03 12:14:53 -0800</bug_when>
    <thetext>Comment on attachment 215866
better patch

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

r=me

&gt; Source/WebCore/editing/FrameSelection.cpp:1967
&gt; +            if (!contentDocument)
&gt; +                continue;

This looks new. Sneaky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946465</commentid>
    <comment_count>4</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-03 12:18:25 -0800</bug_when>
    <thetext>https://trac.webkit.org/r158537</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1045994</commentid>
    <comment_count>5</comment_count>
      <attachid>215866</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-03 21:52:50 -0800</bug_when>
    <thetext>Comment on attachment 215866
better patch

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

&gt; Source/WebCore/editing/markup.cpp:913
&gt; +            collectElementsToRemoveFromFragment(element);

This statement has no effect as the result value is being ignored.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046068</commentid>
    <comment_count>6</comment_count>
      <attachid>215866</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-11-04 07:17:02 -0800</bug_when>
    <thetext>Comment on attachment 215866
better patch

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

&gt;&gt; Source/WebCore/editing/markup.cpp:913
&gt;&gt; +            collectElementsToRemoveFromFragment(element);
&gt; 
&gt; This statement has no effect as the result value is being ignored.

Good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1046079</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-04 08:42:40 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 215866 [details]
&gt; better patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=215866&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/editing/markup.cpp:913
&gt; &gt;&gt; +            collectElementsToRemoveFromFragment(element);
&gt; &gt; 
&gt; &gt; This statement has no effect as the result value is being ignored.
&gt; 
&gt; Good catch!

The thing is that I am not sure it is actually possible to have an &lt;html&gt; here. I have been trying to test the problem but I cannot get createFragmentForInnerOuterHTML() to return an &lt;html&gt; as first child in the DocumentFragment, despite the input having an &lt;html&gt; tag:
http://jsfiddle.net/2qevwvs3/8/</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215865</attachid>
            <date>2013-11-03 04:30:56 -0800</date>
            <delta_ts>2013-11-03 06:43:28 -0800</delta_ts>
            <desc>patch</desc>
            <filename>fragment-iterator.patch</filename>
            <type>text/plain</type>
            <size>3738</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTExLTAzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTd2l0Y2ggY3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50IHRvIGVsZW1lbnQgaXRlcmF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzcwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y29sbGVjdEVsZW1lbnRzVG9SZW1vdmVGcm9tRnJhZ21lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6cmVtb3ZlRWxlbWVudEZyb21GcmFnbWVudFByZXNlcnZpbmdDaGlsZHJlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpjcmVhdGVDb250ZXh0dWFsRnJhZ21lbnQpOgorCiAyMDEzLTExLTAz
ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgaGVscGVy
cyBmb3IgcGFydGlhbCBkZXNjZW5kYW50IHRyYXZlcnNhbCB0byBlbGVtZW50IGl0ZXJhdG9ycwpJ
bmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkocmV2aXNpb24gMTU4NDk1KQorKysgU291
cmNlL1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05MDIsMTUg
KzkwMiwzMSBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUZyYWdtCiAgICAg
cmV0dXJuIGZyYWdtZW50LnJlbGVhc2UoKTsKIH0KIAotc3RhdGljIGlubGluZSB2b2lkIHJlbW92
ZUVsZW1lbnRQcmVzZXJ2aW5nQ2hpbGRyZW4oUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBm
cmFnbWVudCwgSFRNTEVsZW1lbnQqIGVsZW1lbnQpCitzdGF0aWMgVmVjdG9yPFJlZjxIVE1MRWxl
bWVudD4+IGNvbGxlY3RFbGVtZW50c1RvUmVtb3ZlRnJvbUZyYWdtZW50KENvbnRhaW5lck5vZGUm
IGNvbnRhaW5lcikKK3sKKyAgICBWZWN0b3I8UmVmPEhUTUxFbGVtZW50Pj4gdG9SZW1vdmU7Cisg
ICAgYXV0byBjaGlsZHJlbiA9IGNoaWxkcmVuT2ZUeXBlPEhUTUxFbGVtZW50Pihjb250YWluZXIp
OworICAgIGZvciAoYXV0byBpdCA9IGNoaWxkcmVuLmJlZ2luKCksIGVuZCA9IGNoaWxkcmVuLmVu
ZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICAgICAgSFRNTEVsZW1lbnQmIGVsZW1lbnQgPSAq
aXQ7CisgICAgICAgIGlmIChlbGVtZW50Lmhhc1RhZ05hbWUoaHRtbFRhZykpIHsKKyAgICAgICAg
ICAgIHRvUmVtb3ZlLmFwcGVuZChlbGVtZW50KTsKKyAgICAgICAgICAgIGNvbGxlY3RFbGVtZW50
c1RvUmVtb3ZlRnJvbUZyYWdtZW50KGVsZW1lbnQpOworICAgICAgICB9CisgICAgICAgIGlmIChl
bGVtZW50Lmhhc1RhZ05hbWUoaGVhZFRhZykgfHwgZWxlbWVudC5oYXNUYWdOYW1lKGJvZHlUYWcp
KQorICAgICAgICAgICAgdG9SZW1vdmUuYXBwZW5kKGVsZW1lbnQpOworICAgIH0KKyAgICByZXR1
cm4gdG9SZW1vdmU7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZUVsZW1lbnRGcm9tRnJhZ21lbnRQ
cmVzZXJ2aW5nQ2hpbGRyZW4oRG9jdW1lbnRGcmFnbWVudCYgZnJhZ21lbnQsIEhUTUxFbGVtZW50
JiBlbGVtZW50KQogewogICAgIFJlZlB0cjxOb2RlPiBuZXh0Q2hpbGQ7Ci0gICAgZm9yIChSZWZQ
dHI8Tm9kZT4gY2hpbGQgPSBlbGVtZW50LT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IG5l
eHRDaGlsZCkgeworICAgIGZvciAoUmVmUHRyPE5vZGU+IGNoaWxkID0gZWxlbWVudC5maXJzdENo
aWxkKCk7IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgewogICAgICAgICBuZXh0Q2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmcoKTsKLSAgICAgICAgZWxlbWVudC0+cmVtb3ZlQ2hpbGQoY2hpbGQu
Z2V0KCksIEFTU0VSVF9OT19FWENFUFRJT04pOwotICAgICAgICBmcmFnbWVudC0+aW5zZXJ0QmVm
b3JlKGNoaWxkLCBlbGVtZW50LCBBU1NFUlRfTk9fRVhDRVBUSU9OKTsKKyAgICAgICAgZWxlbWVu
dC5yZW1vdmVDaGlsZChjaGlsZC5nZXQoKSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgICAg
IGZyYWdtZW50Lmluc2VydEJlZm9yZShjaGlsZCwgJmVsZW1lbnQsIEFTU0VSVF9OT19FWENFUFRJ
T04pOwogICAgIH0KLSAgICBmcmFnbWVudC0+cmVtb3ZlQ2hpbGQoZWxlbWVudCwgQVNTRVJUX05P
X0VYQ0VQVElPTik7CisgICAgZnJhZ21lbnQucmVtb3ZlQ2hpbGQoJmVsZW1lbnQsIEFTU0VSVF9O
T19FWENFUFRJT04pOwogfQogCiBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNv
bnRleHR1YWxGcmFnbWVudChjb25zdCBTdHJpbmcmIG1hcmt1cCwgSFRNTEVsZW1lbnQqIGVsZW1l
bnQsIFBhcnNlckNvbnRlbnRQb2xpY3kgcGFyc2VyQ29udGVudFBvbGljeSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCkBAIC05MzQsMTYgKzk1MCwxMCBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+
IGNyZWF0ZUNvbnRlCiAgICAgLy8gV2UgbmVlZCB0byBwb3AgPGh0bWw+IGFuZCA8Ym9keT4gZWxl
bWVudHMgYW5kIHJlbW92ZSA8aGVhZD4gdG8KICAgICAvLyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNz
aW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1lbnRzIHRvIG1ha2UgdGhlCiAgICAgLy8gY2hpbGQgb2Yg
YW4gZWxlbWVudC4KKyAgICBhdXRvIHRvUmVtb3ZlID0gY29sbGVjdEVsZW1lbnRzVG9SZW1vdmVG
cm9tRnJhZ21lbnQoKmZyYWdtZW50KTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9S
ZW1vdmUuc2l6ZSgpOyArK2kpCisgICAgICAgIHJlbW92ZUVsZW1lbnRGcm9tRnJhZ21lbnRQcmVz
ZXJ2aW5nQ2hpbGRyZW4oKmZyYWdtZW50LCB0b1JlbW92ZVtpXS5nZXQoKSk7CiAKLSAgICBSZWZQ
dHI8SFRNTEVsZW1lbnQ+IG5leHRFbGVtZW50OwotICAgIGZvciAoUmVmUHRyPEhUTUxFbGVtZW50
PiBlbGVtZW50ID0gVHJhdmVyc2FsPEhUTUxFbGVtZW50Pjo6Zmlyc3RXaXRoaW4oZnJhZ21lbnQu
Z2V0KCkpOyBlbGVtZW50OyBlbGVtZW50ID0gbmV4dEVsZW1lbnQpIHsKLSAgICAgICAgbmV4dEVs
ZW1lbnQgPSBUcmF2ZXJzYWw8SFRNTEVsZW1lbnQ+OjpuZXh0U2libGluZyhlbGVtZW50LmdldCgp
KTsKLSAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoaHRtbFRhZykgfHwgZWxlbWVudC0+
aGFzVGFnTmFtZShoZWFkVGFnKSB8fCBlbGVtZW50LT5oYXNUYWdOYW1lKGJvZHlUYWcpKSB7Ci0g
ICAgICAgICAgICBpZiAoSFRNTEVsZW1lbnQqIGZpcnN0Q2hpbGQgPSBUcmF2ZXJzYWw8SFRNTEVs
ZW1lbnQ+OjpmaXJzdENoaWxkKGVsZW1lbnQuZ2V0KCkpKQotICAgICAgICAgICAgICAgIG5leHRF
bGVtZW50ID0gZmlyc3RDaGlsZDsKLSAgICAgICAgICAgIHJlbW92ZUVsZW1lbnRQcmVzZXJ2aW5n
Q2hpbGRyZW4oZnJhZ21lbnQsIGVsZW1lbnQuZ2V0KCkpOwotICAgICAgICB9Ci0gICAgfQogICAg
IHJldHVybiBmcmFnbWVudC5yZWxlYXNlKCk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215866</attachid>
            <date>2013-11-03 06:43:28 -0800</date>
            <delta_ts>2013-11-03 12:14:52 -0800</delta_ts>
            <desc>better patch</desc>
            <filename>fragment-iterator-2.patch</filename>
            <type>text/plain</type>
            <size>6540</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODUzMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEzLTExLTAzICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTd2l0Y2ggY3JlYXRlQ29udGV4
dHVhbEZyYWdtZW50IHRvIGVsZW1lbnQgaXRlcmF0b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzcwNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpzY2FuRm9yRm9ybSk6CisgICAgICAgIAorICAgICAgICAgICAgVXNl
IHR5cGUgaGVscGVycyBpbnN0ZWFkIG9mIGhhc1RhZ05hbWUKKworICAgICAgICAqIGVkaXRpbmcv
bWFya3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RFbGVtZW50c1RvUmVtb3ZlRnJv
bUZyYWdtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OnJlbW92ZUVsZW1lbnRGcm9tRnJhZ21lbnRQ
cmVzZXJ2aW5nQ2hpbGRyZW4pOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlQ29udGV4dHVhbEZy
YWdtZW50KToKKyAgICAgICAgKiBodG1sL0hUTUxGb3JtRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MRm9ybUVsZW1lbnQ6OmZvcm1FbGVtZW50SW5kZXgpOgorICAgICAgICAKKyAg
ICAgICAgICAgIFVzZSB0eXBlIGhlbHBlcnMgaW5zdGVhZCBvZiBoYXNUYWdOYW1lCisKKyAgICAg
ICAgKiBodG1sL0hUTUxUYWdOYW1lcy5pbjoKKyAgICAgICAgCisgICAgICAgICAgICBHZW5lcmF0
ZSB0eXBlIGhlbHBlcnMgZm9yIDxodG1sPi4KKwogMjAxMy0xMS0wMyAgQW50dGkgS29pdmlzdG8g
IDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGhlbHBlcnMgZm9yIHBhcnRpYWwgZGVz
Y2VuZGFudCB0cmF2ZXJzYWwgdG8gZWxlbWVudCBpdGVyYXRvcnMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCShyZXZpc2lvbiAxNTg1MzApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTk1OSwxMCArMTk1OSwxMyBAQCBzdGF0aWMgSFRNTEZvcm1FbGVtZW50KiBzY2FuRm9yRm9ybShF
bGVtCiAgICAgICAgIEhUTUxFbGVtZW50JiBlbGVtZW50ID0gKml0OwogICAgICAgICBpZiAoaXNI
VE1MRm9ybUVsZW1lbnQoJmVsZW1lbnQpKQogICAgICAgICAgICAgcmV0dXJuIHRvSFRNTEZvcm1F
bGVtZW50KCZlbGVtZW50KTsKLSAgICAgICAgaWYgKGVsZW1lbnQuaXNGb3JtQ29udHJvbEVsZW1l
bnQoKSkKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxIVE1MRm9ybUNvbnRyb2xFbGVt
ZW50Jj4oZWxlbWVudCkuZm9ybSgpOwotICAgICAgICBpZiAoZWxlbWVudC5oYXNUYWdOYW1lKGZy
YW1lVGFnKSB8fCBlbGVtZW50Lmhhc1RhZ05hbWUoaWZyYW1lVGFnKSkgewotICAgICAgICAgICAg
aWYgKEhUTUxGb3JtRWxlbWVudCogZnJhbWVSZXN1bHQgPSBzY2FuRm9yRm9ybSh0b0hUTUxGcmFt
ZUVsZW1lbnRCYXNlKGVsZW1lbnQpLmNvbnRlbnREb2N1bWVudCgpLT5kb2N1bWVudEVsZW1lbnQo
KSkpCisgICAgICAgIGlmIChpc0hUTUxGb3JtQ29udHJvbEVsZW1lbnQoZWxlbWVudCkpCisgICAg
ICAgICAgICByZXR1cm4gdG9IVE1MRm9ybUNvbnRyb2xFbGVtZW50KGVsZW1lbnQpLmZvcm0oKTsK
KyAgICAgICAgaWYgKGlzSFRNTEZyYW1lRWxlbWVudEJhc2UoZWxlbWVudCkpIHsKKyAgICAgICAg
ICAgIERvY3VtZW50KiBjb250ZW50RG9jdW1lbnQgPSB0b0hUTUxGcmFtZUVsZW1lbnRCYXNlKGVs
ZW1lbnQpLmNvbnRlbnREb2N1bWVudCgpOworICAgICAgICAgICAgaWYgKCFjb250ZW50RG9jdW1l
bnQpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICBpZiAoSFRNTEZvcm1F
bGVtZW50KiBmcmFtZVJlc3VsdCA9IHNjYW5Gb3JGb3JtKGNvbnRlbnREb2N1bWVudC0+ZG9jdW1l
bnRFbGVtZW50KCkpKQogICAgICAgICAgICAgICAgIHJldHVybiBmcmFtZVJlc3VsdDsKICAgICAg
ICAgfQogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAJKHJldmlzaW9uIDE1
ODQ5NSkKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtOTAyLDE1ICs5MDIsMzIgQEAgUGFzc1JlZlB0cjxEb2N1bWVudEZyYWdtZW50PiBjcmVh
dGVGcmFnbQogICAgIHJldHVybiBmcmFnbWVudC5yZWxlYXNlKCk7CiB9CiAKLXN0YXRpYyBpbmxp
bmUgdm9pZCByZW1vdmVFbGVtZW50UHJlc2VydmluZ0NoaWxkcmVuKFBhc3NSZWZQdHI8RG9jdW1l
bnRGcmFnbWVudD4gZnJhZ21lbnQsIEhUTUxFbGVtZW50KiBlbGVtZW50KQorc3RhdGljIFZlY3Rv
cjxSZWY8SFRNTEVsZW1lbnQ+PiBjb2xsZWN0RWxlbWVudHNUb1JlbW92ZUZyb21GcmFnbWVudChD
b250YWluZXJOb2RlJiBjb250YWluZXIpCit7CisgICAgVmVjdG9yPFJlZjxIVE1MRWxlbWVudD4+
IHRvUmVtb3ZlOworICAgIGF1dG8gY2hpbGRyZW4gPSBjaGlsZHJlbk9mVHlwZTxIVE1MRWxlbWVu
dD4oY29udGFpbmVyKTsKKyAgICBmb3IgKGF1dG8gaXQgPSBjaGlsZHJlbi5iZWdpbigpLCBlbmQg
PSBjaGlsZHJlbi5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIEhUTUxFbGVtZW50
JiBlbGVtZW50ID0gKml0OworICAgICAgICBpZiAoaXNIVE1MSHRtbEVsZW1lbnQoZWxlbWVudCkp
IHsKKyAgICAgICAgICAgIHRvUmVtb3ZlLmFwcGVuZChlbGVtZW50KTsKKyAgICAgICAgICAgIGNv
bGxlY3RFbGVtZW50c1RvUmVtb3ZlRnJvbUZyYWdtZW50KGVsZW1lbnQpOworICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGlzSFRNTEhlYWRFbGVtZW50KGVsZW1l
bnQpIHx8IGlzSFRNTEJvZHlFbGVtZW50KGVsZW1lbnQpKQorICAgICAgICAgICAgdG9SZW1vdmUu
YXBwZW5kKGVsZW1lbnQpOworICAgIH0KKyAgICByZXR1cm4gdG9SZW1vdmU7Cit9CisKK3N0YXRp
YyB2b2lkIHJlbW92ZUVsZW1lbnRGcm9tRnJhZ21lbnRQcmVzZXJ2aW5nQ2hpbGRyZW4oRG9jdW1l
bnRGcmFnbWVudCYgZnJhZ21lbnQsIEhUTUxFbGVtZW50JiBlbGVtZW50KQogewogICAgIFJlZlB0
cjxOb2RlPiBuZXh0Q2hpbGQ7Ci0gICAgZm9yIChSZWZQdHI8Tm9kZT4gY2hpbGQgPSBlbGVtZW50
LT5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IG5leHRDaGlsZCkgeworICAgIGZvciAoUmVm
UHRyPE5vZGU+IGNoaWxkID0gZWxlbWVudC5maXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IG5l
eHRDaGlsZCkgewogICAgICAgICBuZXh0Q2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKTsKLSAg
ICAgICAgZWxlbWVudC0+cmVtb3ZlQ2hpbGQoY2hpbGQuZ2V0KCksIEFTU0VSVF9OT19FWENFUFRJ
T04pOwotICAgICAgICBmcmFnbWVudC0+aW5zZXJ0QmVmb3JlKGNoaWxkLCBlbGVtZW50LCBBU1NF
UlRfTk9fRVhDRVBUSU9OKTsKKyAgICAgICAgZWxlbWVudC5yZW1vdmVDaGlsZChjaGlsZC5nZXQo
KSwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgICAgIGZyYWdtZW50Lmluc2VydEJlZm9yZShj
aGlsZCwgJmVsZW1lbnQsIEFTU0VSVF9OT19FWENFUFRJT04pOwogICAgIH0KLSAgICBmcmFnbWVu
dC0+cmVtb3ZlQ2hpbGQoZWxlbWVudCwgQVNTRVJUX05PX0VYQ0VQVElPTik7CisgICAgZnJhZ21l
bnQucmVtb3ZlQ2hpbGQoJmVsZW1lbnQsIEFTU0VSVF9OT19FWENFUFRJT04pOwogfQogCiBQYXNz
UmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNvbnRleHR1YWxGcmFnbWVudChjb25zdCBT
dHJpbmcmIG1hcmt1cCwgSFRNTEVsZW1lbnQqIGVsZW1lbnQsIFBhcnNlckNvbnRlbnRQb2xpY3kg
cGFyc2VyQ29udGVudFBvbGljeSwgRXhjZXB0aW9uQ29kZSYgZWMpCkBAIC05MzQsMTYgKzk1MSwx
MCBAQCBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGNyZWF0ZUNvbnRlCiAgICAgLy8gV2Ug
bmVlZCB0byBwb3AgPGh0bWw+IGFuZCA8Ym9keT4gZWxlbWVudHMgYW5kIHJlbW92ZSA8aGVhZD4g
dG8KICAgICAvLyBhY2NvbW1vZGF0ZSBmb2xrcyBwYXNzaW5nIGNvbXBsZXRlIEhUTUwgZG9jdW1l
bnRzIHRvIG1ha2UgdGhlCiAgICAgLy8gY2hpbGQgb2YgYW4gZWxlbWVudC4KKyAgICBhdXRvIHRv
UmVtb3ZlID0gY29sbGVjdEVsZW1lbnRzVG9SZW1vdmVGcm9tRnJhZ21lbnQoKmZyYWdtZW50KTsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgdG9SZW1vdmUuc2l6ZSgpOyArK2kpCisgICAg
ICAgIHJlbW92ZUVsZW1lbnRGcm9tRnJhZ21lbnRQcmVzZXJ2aW5nQ2hpbGRyZW4oKmZyYWdtZW50
LCB0b1JlbW92ZVtpXS5nZXQoKSk7CiAKLSAgICBSZWZQdHI8SFRNTEVsZW1lbnQ+IG5leHRFbGVt
ZW50OwotICAgIGZvciAoUmVmUHRyPEhUTUxFbGVtZW50PiBlbGVtZW50ID0gVHJhdmVyc2FsPEhU
TUxFbGVtZW50Pjo6Zmlyc3RXaXRoaW4oZnJhZ21lbnQuZ2V0KCkpOyBlbGVtZW50OyBlbGVtZW50
ID0gbmV4dEVsZW1lbnQpIHsKLSAgICAgICAgbmV4dEVsZW1lbnQgPSBUcmF2ZXJzYWw8SFRNTEVs
ZW1lbnQ+OjpuZXh0U2libGluZyhlbGVtZW50LmdldCgpKTsKLSAgICAgICAgaWYgKGVsZW1lbnQt
Pmhhc1RhZ05hbWUoaHRtbFRhZykgfHwgZWxlbWVudC0+aGFzVGFnTmFtZShoZWFkVGFnKSB8fCBl
bGVtZW50LT5oYXNUYWdOYW1lKGJvZHlUYWcpKSB7Ci0gICAgICAgICAgICBpZiAoSFRNTEVsZW1l
bnQqIGZpcnN0Q2hpbGQgPSBUcmF2ZXJzYWw8SFRNTEVsZW1lbnQ+OjpmaXJzdENoaWxkKGVsZW1l
bnQuZ2V0KCkpKQotICAgICAgICAgICAgICAgIG5leHRFbGVtZW50ID0gZmlyc3RDaGlsZDsKLSAg
ICAgICAgICAgIHJlbW92ZUVsZW1lbnRQcmVzZXJ2aW5nQ2hpbGRyZW4oZnJhZ21lbnQsIGVsZW1l
bnQuZ2V0KCkpOwotICAgICAgICB9Ci0gICAgfQogICAgIHJldHVybiBmcmFnbWVudC5yZWxlYXNl
KCk7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxGb3JtRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDE1ODUzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEZvcm1FbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDgwLDcgKzQ4MCw3IEBAIHVuc2lnbmVkIEhUTUxGb3JtRWxl
bWVudDo6Zm9ybUVsZW1lbnRJbmQKICAgICAgICAgSFRNTEVsZW1lbnQmIGVsZW1lbnQgPSAqaXQ7
CiAgICAgICAgIGlmICgmZWxlbWVudCA9PSAmYXNzb2NpYXRlZEhUTUxFbGVtZW50KQogICAgICAg
ICAgICAgcmV0dXJuIGk7Ci0gICAgICAgIGlmICghZWxlbWVudC5pc0Zvcm1Db250cm9sRWxlbWVu
dCgpICYmICFlbGVtZW50Lmhhc1RhZ05hbWUob2JqZWN0VGFnKSkKKyAgICAgICAgaWYgKCFpc0hU
TUxGb3JtQ29udHJvbEVsZW1lbnQoZWxlbWVudCkgJiYgIWlzSFRNTE9iamVjdEVsZW1lbnQoZWxl
bWVudCkpCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgaWYgKGVsZW1lbnQuZm9ybSgp
ICE9IHRoaXMpCiAgICAgICAgICAgICBjb250aW51ZTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFRhZ05hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFRhZ05hbWVzLmluCShyZXZpc2lvbiAxNTg0OTUpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxUYWdOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNjEsNyArNjEsNyBAQCBoZWFkIGdlbmVy
YXRlVHlwZUhlbHBlcnMKIGhlYWRlciBpbnRlcmZhY2VOYW1lPUhUTUxFbGVtZW50CiBoZ3JvdXAg
aW50ZXJmYWNlTmFtZT1IVE1MRWxlbWVudAogaHIgaW50ZXJmYWNlTmFtZT1IVE1MSFJFbGVtZW50
Ci1odG1sCitodG1sIGdlbmVyYXRlVHlwZUhlbHBlcnMKIGkgaW50ZXJmYWNlTmFtZT1IVE1MRWxl
bWVudAogaWZyYW1lIGludGVyZmFjZU5hbWU9SFRNTElGcmFtZUVsZW1lbnQsIGdlbmVyYXRlVHlw
ZUhlbHBlcnMKIGltYWdlIGludGVyZmFjZU5hbWU9SFRNTEVsZW1lbnQK
</data>
<flag name="review"
          id="238711"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>