<?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>62116</bug_id>
          
          <creation_ts>2011-06-06 03:07:35 -0700</creation_ts>
          <short_desc>REGRESSION(r87980): Crash in RenderTextControl::setInnerText() / ieForbidsInsertHTML</short_desc>
          <delta_ts>2011-06-06 22:35:51 -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>Forms</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>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kent Tamura">tkent</reporter>
          <assigned_to name="Kent Tamura">tkent</assigned_to>
          <cc>ap</cc>
    
    <cc>bulach</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dimitris.apostolou</cc>
    
    <cc>inferno</cc>
    
    <cc>morrita</cc>
    
    <cc>rniwa</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>simonjam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>415759</commentid>
    <comment_count>0</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 03:07:35 -0700</bug_when>
    <thetext>TextFieldInputElement::innerTextElement() return 0 though it specifies the ID value of a shadow element which was appended to the &lt;input&gt; in the &lt;input&gt; factory method.

We can&apos;t assume attach() is called after insertedIntoDocument().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415760</commentid>
    <comment_count>1</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 03:11:32 -0700</bug_when>
    <thetext>http://code.google.com/p/chromium/issues/detail?id=84872</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415762</commentid>
    <comment_count>2</comment_count>
      <attachid>96072</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 03:28:08 -0700</bug_when>
    <thetext>Created attachment 96072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415861</commentid>
    <comment_count>3</comment_count>
      <attachid>96072</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-06 09:36:47 -0700</bug_when>
    <thetext>Comment on attachment 96072
Patch

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

I think this approach is wrong. We should not be special-casing id handling inside shadow DOM. Or maybe I just don&apos;t understand why we would want to do that?

&gt; Source/WebCore/dom/Element.cpp:961
&gt; +    if (hasID() &amp;&amp; m_attributeMap &amp;&amp; treeScope() == document()) {

Why do we have to have a special way of handling shadow DOM nodes here? Other than working around the bug you&apos;re fixing? I don&apos;t think this is right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415864</commentid>
    <comment_count>4</comment_count>
      <attachid>96072</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-06 09:45:04 -0700</bug_when>
    <thetext>Comment on attachment 96072
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +         - insertedIntoDocument() for HTMLInputElement and shadow nodes were

This seems like the problem we need to be fixing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416123</commentid>
    <comment_count>5</comment_count>
      <attachid>96072</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 16:55:30 -0700</bug_when>
    <thetext>Comment on attachment 96072
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:11
&gt;&gt; +         - insertedIntoDocument() for HTMLInputElement and shadow nodes were
&gt; 
&gt; This seems like the problem we need to be fixing.

Yeah, probably this behavior is not intended.  I&apos;ll try to fix it today.

&gt;&gt; Source/WebCore/dom/Element.cpp:961
&gt;&gt; +    if (hasID() &amp;&amp; m_attributeMap &amp;&amp; treeScope() == document()) {
&gt; 
&gt; Why do we have to have a special way of handling shadow DOM nodes here? Other than working around the bug you&apos;re fixing? I don&apos;t think this is right.

I think this is a right change though it might be a good way to fix this bug. We had a similar problem in https://bugs.webkit.org/show_bug.cgi?id=61986#c25 .

ID registration/unregistration is handled in insertedIntoDocument()/removedFromDocument() because IDs are managed by a document.  Now ShadowRoot also manges subordinate IDs.  So ID registration/unregistration for ShadowRoot should be handled when an element is inserted into or removed from a ShadowRoot.  I think it&apos;s very straightforward behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416125</commentid>
    <comment_count>6</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 16:56:19 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; it might be a good way to fix this bug.

it might not be a ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416214</commentid>
    <comment_count>7</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 19:00:35 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 96072 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=96072&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/ChangeLog:11
&gt; &gt;&gt; +         - insertedIntoDocument() for HTMLInputElement and shadow nodes were
&gt; &gt; 
&gt; &gt; This seems like the problem we need to be fixing.
&gt; 
&gt; Yeah, probably this behavior is not intended.  I&apos;ll try to fix it today.

It seems to be hard.  My simple change to fix the attach-before-insertedIntoDocument issue made another 7 layout test regressions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416215</commentid>
    <comment_count>8</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 19:01:49 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; &gt;&gt; Source/WebCore/dom/Element.cpp:961
&gt; &gt;&gt; +    if (hasID() &amp;&amp; m_attributeMap &amp;&amp; treeScope() == document()) {
&gt; &gt; 
&gt; &gt; Why do we have to have a special way of handling shadow DOM nodes here? Other than working around the bug you&apos;re fixing? I don&apos;t think this is right.
&gt; 
&gt; I think this is a right change though it might be a good way to fix this bug. We had a similar problem in https://bugs.webkit.org/show_bug.cgi?id=61986#c25 .
&gt; 
&gt; ID registration/unregistration is handled in insertedIntoDocument()/removedFromDocument() because IDs are managed by a document.  Now ShadowRoot also manges subordinate IDs.  So ID registration/unregistration for ShadowRoot should be handled when an element is inserted into or removed from a ShadowRoot.  I think it&apos;s very straightforward behavior.

Roland, Morita-san,
do you have any comments on ID in ShadowRoot?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416220</commentid>
    <comment_count>9</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 19:04:43 -0700</bug_when>
    <thetext>*** Bug 62109 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416302</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-06 21:48:24 -0700</bug_when>
    <thetext>*** Bug 62030 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416303</commentid>
    <comment_count>11</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 21:49:40 -0700</bug_when>
    <thetext>It&apos;s not good to keep the crash.  So I have decided to revert a part of r87980.
Let&apos;s discuss the ID issue in a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416304</commentid>
    <comment_count>12</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-06 21:49:56 -0700</bug_when>
    <thetext>Renaming the bug so that this bug shows up when people search for ieForbidsInsertHTML.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416309</commentid>
    <comment_count>13</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-06-06 21:53:26 -0700</bug_when>
    <thetext>Landed the revert: http://trac.webkit.org/changeset/88216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416337</commentid>
    <comment_count>14</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-06 22:35:51 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; ID registration/unregistration is handled in insertedIntoDocument()/removedFromDocument() because IDs are managed by a document.  Now ShadowRoot also manges subordinate IDs.  So ID registration/unregistration for ShadowRoot should be handled when an element is inserted into or removed from a ShadowRoot.  I think it&apos;s very straightforward behavior.

I also think the above is correct.

The cleanest solution IMHO would be that a node ALWAYS registers its ID with its TreeScope when it&apos;s inserted into the tree. To this end, we would need another TreeScope sub-class to contain the nodes that are associated with the Document, but !inDocument(). (This specific sub-class could even just do a no-op on ID registration).

However, this is a larger refactoring, probably outside the immediate scope of this bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96072</attachid>
            <date>2011-06-06 03:28:08 -0700</date>
            <delta_ts>2011-06-06 16:55:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62116-20110606192806.patch</filename>
            <type>text/plain</type>
            <size>9158</size>
            <attacher name="Kent Tamura">tkent</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgxMzkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ZTNhYWM1ODI5MzA4N2M1OWE1OGMx
YWU3YzRjNzYxZDgxNTBiYjcwLi45MmZhZTUyNTM2ZmJhOTJlMmJhNjAyNDRjY2NmOTU1MTM1ZGI4
MjJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMDYgIEtlbnQgVGFtdXJhICA8dGtl
bnRAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJFR1JFU1NJT04ocjg3OTgwKTogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGlu
IFJlbmRlclRleHRDb250cm9sOjpzZXRJbm5lclRleHQoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIxMTYKKworICAgICAgICAqIGZhc3QvZm9ybXMv
dGV4dGZpZWxkLWNyYXNoLWJ5LWF0dGFjaC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZm9ybXMvdGV4dGZpZWxkLWNyYXNoLWJ5LWF0dGFjaC5odG1sOiBBZGRlZC4KKwogMjAx
MS0wNi0wNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGltaXRyaSBHbGF6a292LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9m
b3Jtcy90ZXh0ZmllbGQtY3Jhc2gtYnktYXR0YWNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZm9ybXMvdGV4dGZpZWxkLWNyYXNoLWJ5LWF0dGFjaC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYzA1MGFmOTcxNDFlOWQzN2RkZmI3ZWRiMWI5Njc2MmUzYTFjMmE4OQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZm9ybXMvdGV4dGZpZWxkLWNyYXNoLWJ5LWF0dGFj
aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACisKK1BBU1MgaWYgdGhpcyB0ZXN0IGRpZG4n
dCBjYXVzZSBhIGNyYXNoLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy90ZXh0
ZmllbGQtY3Jhc2gtYnktYXR0YWNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Zvcm1zL3RleHRm
aWVsZC1jcmFzaC1ieS1hdHRhY2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OTgxN2Q0YTdhOWQxY2FjMWJh
MjU0OTY3NWI3NThkNjE2NDQzMzc0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy90ZXh0ZmllbGQtY3Jhc2gtYnktYXR0YWNoLmh0bWwKQEAgLTAsMCArMSw4IEBACis8
ZGl2IGlkPSdjb25zb2xlJz48L2Rpdj4KKzxkaXY+UEFTUyBpZiB0aGlzIHRlc3QgZGlkbid0IGNh
dXNlIGEgY3Jhc2guPC9kaXY+Cis8c2NyaXB0PgorZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnNvbGUiKS5pbm5lckhUTUwgPSAnPHNwYW4+PHN0eWxlPjwvc3R5bGU+PGlucHV0Pic7CitpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKzwvc2NyaXB0PgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzkyMzY0M2MyN2M5NWZjNDZh
ZjAwODQ2YjA4NGNmMzdjOTMwNzYzYy4uYTAyMTNjYmRlN2JkNWEzNmY2M2ZiYTkyNmI2OWMxNWYz
NWRkZDVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDExLTA2LTA2ICBLZW50IFRh
bXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OKHI4Nzk4MCk6IE51bGwgcG9pbnRlciBkZXJl
ZmVyZW5jZSBpbiBSZW5kZXJUZXh0Q29udHJvbDo6c2V0SW5uZXJUZXh0KCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTE2CisKKyAgICAgICAgVGV4
dEZpZWxkSW5wdXRUeXBlOjppbm5lclRleHRFbGVtZW50KCkgcmV0dXJuZWQgMCBkdXJpbmcKKyAg
ICAgICAgSFRNTElucHV0RWxlbWVudDo6YXR0YWNoKCkgYmVjYXVzZToKKyAgICAgICAgIC0gVGhl
IElEIGZvciBhIHNoYWRvdyBub2RlIHdhcyBub3QgcmVnaXN0ZXJlZC4KKyAgICAgICAgIC0gaW5z
ZXJ0ZWRJbnRvRG9jdW1lbnQoKSBmb3IgSFRNTElucHV0RWxlbWVudCBhbmQgc2hhZG93IG5vZGVz
IHdlcmUKKyAgICAgICAgICAgbm90IGNhbGxlZC4KKyAgICAgICAgIC0gaW5zZXJ0ZWRJbnRvRG9j
dW1lbnQoKSBmb3IgdGhlIHByZXZpb3VzIHNpYmxpbmcgbm9kZSBvZiB0aGUKKyAgICAgICAgICAg
SFRNTElucHV0RWxlbWVudCBjYXVzZWQgc3R5bGUgcmVjYWxjdWxhdGlvbiBhbmQgY2FsbGVkIGF0
dGFjaCgpIGZvcgorICAgICAgICAgICBldmVyeSBub2Rlcy4KKworICAgICAgICBUbyBzb2x2ZSB0
aGlzIGlzc3VlLCB3ZSByZWdpc3RlciBJRHMgZm9yIHNoYWRvdyBub2RlcyBldmVuIGlmIHRoZSBu
b2RlcworICAgICAgICBhcmUgbm90IGluIGEgZG9jdW1lbnQuIFRoZXkgYXJlIHJlZ2lzdGVyZWQg
d2hpbGUgdGhleSBhcmUgaW4gYSBzaGFkb3cgdHJlZS4KKworICAgICAgICBUZXN0OiBmYXN0L2Zv
cm1zL3RleHRmaWVsZC1jcmFzaC1ieS1hdHRhY2guaHRtbAorCisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aW5zZXJ0ZWRJbnRvRG9jdW1lbnQp
OgorICAgICAgICAgIERvIG5vdCByZWdpc3RlciB0aGUgZWxlbWVudCBpZiBpdCdzIGluIGEgc2hh
ZG93IHRyZWUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50
KToKKyAgICAgICAgICBEbyBub3QgdW5yZWdpc3RlciB0aGUgZWxlbWVudCBpZiBpdCdzIGluIGEg
c2hhZG93IHRyZWUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRUcmVlU2NvcGVSZWN1
cnNpdmVseSk6CisgICAgICAgICAgVW5yZWdpc3RlciB0aGUgZWxlbWVudCBpZiBpdCdzIGluIGEg
c2hhZG93IHRyZWUsIGFuZCByZWdpc3RlciB0aGUKKyAgICAgICAgICBlbGVtZW50IGlmIGl0J3Mg
aW4gYSBzaGFkb3cgdHJlZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6dXBkYXRlSWQpOiBBbGxvdyByZWdpc3RlcmluZyB0aGUgZWxlbWVudCB3
aGljaCBpcyBub3QKKyAgICAgICAgICBpbiBhIGRvY3VtZW50IGlmIGl0J3MgaW4gYSBzaGFkb3cg
dHJlZS4KKyAgICAgICAgKiBkb20vTm9kZS5oOiBBZGQgYSBjb21tZW50IHRvIGF0dGFjaCgpLgor
ICAgICAgICAqIGh0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlRleHRGaWVsZElucHV0VHlwZTo6aW5uZXJUZXh0RWxlbWVudCk6IEFkZCBhbiBhc3NlcnRpb24u
CisKIDIwMTEtMDYtMDQgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRl
eCBhOTI2NWRhMGEzNThlZGRiODUxZjU0YzA4MTU0YTYyMWMwYjZlNGIyLi45N2E1OTgxMjU2ZjM0
OWRlMTI3NjM5YzhkNTUwYTc4MTNhNmJiMzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC05
NTgsMjMgKzk1OCwxOSBAQCB2b2lkIEVsZW1lbnQ6Omluc2VydGVkSW50b0RvY3VtZW50KCkKICAg
ICBpZiAoU2hhZG93Um9vdCogc2hhZG93ID0gc2hhZG93Um9vdCgpKQogICAgICAgICBzaGFkb3ct
Pmluc2VydGVkSW50b0RvY3VtZW50KCk7CiAKLSAgICBpZiAoaGFzSUQoKSkgewotICAgICAgICBp
ZiAobV9hdHRyaWJ1dGVNYXApIHsKLSAgICAgICAgICAgIEF0dHJpYnV0ZSogaWRJdGVtID0gbV9h
dHRyaWJ1dGVNYXAtPmdldEF0dHJpYnV0ZUl0ZW0oZG9jdW1lbnQoKS0+aWRBdHRyaWJ1dGVOYW1l
KCkpOwotICAgICAgICAgICAgaWYgKGlkSXRlbSAmJiAhaWRJdGVtLT5pc051bGwoKSkKLSAgICAg
ICAgICAgICAgICB1cGRhdGVJZChudWxsQXRvbSwgaWRJdGVtLT52YWx1ZSgpKTsKLSAgICAgICAg
fQorICAgIGlmIChoYXNJRCgpICYmIG1fYXR0cmlidXRlTWFwICYmIHRyZWVTY29wZSgpID09IGRv
Y3VtZW50KCkpIHsKKyAgICAgICAgQXR0cmlidXRlKiBpZEl0ZW0gPSBtX2F0dHJpYnV0ZU1hcC0+
Z2V0QXR0cmlidXRlSXRlbShkb2N1bWVudCgpLT5pZEF0dHJpYnV0ZU5hbWUoKSk7CisgICAgICAg
IGlmIChpZEl0ZW0gJiYgIWlkSXRlbS0+aXNOdWxsKCkpCisgICAgICAgICAgICB1cGRhdGVJZChu
dWxsQXRvbSwgaWRJdGVtLT52YWx1ZSgpKTsKICAgICB9CiB9CiAKIHZvaWQgRWxlbWVudDo6cmVt
b3ZlZEZyb21Eb2N1bWVudCgpCiB7Ci0gICAgaWYgKGhhc0lEKCkpIHsKLSAgICAgICAgaWYgKG1f
YXR0cmlidXRlTWFwKSB7Ci0gICAgICAgICAgICBBdHRyaWJ1dGUqIGlkSXRlbSA9IG1fYXR0cmli
dXRlTWFwLT5nZXRBdHRyaWJ1dGVJdGVtKGRvY3VtZW50KCktPmlkQXR0cmlidXRlTmFtZSgpKTsK
LSAgICAgICAgICAgIGlmIChpZEl0ZW0gJiYgIWlkSXRlbS0+aXNOdWxsKCkpCi0gICAgICAgICAg
ICAgICAgdXBkYXRlSWQoaWRJdGVtLT52YWx1ZSgpLCBudWxsQXRvbSk7Ci0gICAgICAgIH0KKyAg
ICBpZiAoaGFzSUQoKSAmJiBtX2F0dHJpYnV0ZU1hcCAmJiB0cmVlU2NvcGUoKSA9PSBkb2N1bWVu
dCgpKSB7CisgICAgICAgIEF0dHJpYnV0ZSogaWRJdGVtID0gbV9hdHRyaWJ1dGVNYXAtPmdldEF0
dHJpYnV0ZUl0ZW0oZG9jdW1lbnQoKS0+aWRBdHRyaWJ1dGVOYW1lKCkpOworICAgICAgICBpZiAo
aWRJdGVtICYmICFpZEl0ZW0tPmlzTnVsbCgpKQorICAgICAgICAgICAgdXBkYXRlSWQoaWRJdGVt
LT52YWx1ZSgpLCBudWxsQXRvbSk7CiAgICAgfQogCiAgICAgQ29udGFpbmVyTm9kZTo6cmVtb3Zl
ZEZyb21Eb2N1bWVudCgpOwpAQCAtMTAwNSw2ICsxMDAxLDIzIEBAIHZvaWQgRWxlbWVudDo6cmVt
b3ZlZEZyb21UcmVlKGJvb2wgZGVlcCkKICAgICAgICAgc2hhZG93LT5yZW1vdmVkRnJvbVRyZWUo
dHJ1ZSk7CiB9CiAKK3ZvaWQgRWxlbWVudDo6c2V0VHJlZVNjb3BlUmVjdXJzaXZlbHkoVHJlZVNj
b3BlKiBuZXdTY29wZSwgYm9vbCBpbmNsdWRlUm9vdCkKK3sKKyAgICBib29sIGlzSW5TaGFkb3cg
PSB0cmVlU2NvcGUoKSAhPSBkb2N1bWVudCgpOworICAgIGJvb2wgd2lsbEJlSW5TaGFkb3cgPSBu
ZXdTY29wZSAhPSBkb2N1bWVudCgpOworICAgIGlmIChpc0luU2hhZG93ICYmIGhhc0lEKCkgJiYg
bV9hdHRyaWJ1dGVNYXApIHsKKyAgICAgICAgQXR0cmlidXRlKiBpZEl0ZW0gPSBtX2F0dHJpYnV0
ZU1hcC0+Z2V0QXR0cmlidXRlSXRlbShkb2N1bWVudCgpLT5pZEF0dHJpYnV0ZU5hbWUoKSk7Cisg
ICAgICAgIGlmIChpZEl0ZW0gJiYgIWlkSXRlbS0+aXNOdWxsKCkpCisgICAgICAgICAgICB1cGRh
dGVJZChpZEl0ZW0tPnZhbHVlKCksIG51bGxBdG9tKTsKKyAgICB9CisgICAgQ29udGFpbmVyTm9k
ZTo6c2V0VHJlZVNjb3BlUmVjdXJzaXZlbHkobmV3U2NvcGUsIGluY2x1ZGVSb290KTsKKyAgICBp
ZiAod2lsbEJlSW5TaGFkb3cgJiYgaGFzSUQoKSAmJiBtX2F0dHJpYnV0ZU1hcCkgeworICAgICAg
ICBBdHRyaWJ1dGUqIGlkSXRlbSA9IG1fYXR0cmlidXRlTWFwLT5nZXRBdHRyaWJ1dGVJdGVtKGRv
Y3VtZW50KCktPmlkQXR0cmlidXRlTmFtZSgpKTsKKyAgICAgICAgaWYgKGlkSXRlbSAmJiAhaWRJ
dGVtLT5pc051bGwoKSkKKyAgICAgICAgICAgIHVwZGF0ZUlkKG51bGxBdG9tLCBpZEl0ZW0tPnZh
bHVlKCkpOworICAgIH0KK30KKwogdm9pZCBFbGVtZW50OjphdHRhY2goKQogewogICAgIHN1c3Bl
bmRQb3N0QXR0YWNoQ2FsbGJhY2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBlMTRlNDhiOGUy
MzQyNGJkNGYwNjU2OTcyNDA0YWU0ZjI5M2IwOGRkLi4zODQzMWI3MzVlZmRkMGIxYTM0NjBjMmU1
MDYzNjgxOTcxY2IyYzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTM3NSw2ICszNzUsNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgaW5zZXJ0ZWRJbnRvVHJlZShib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlZEZyb21UcmVlKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRUcmVlU2NvcGVSZWN1cnNp
dmVseShUcmVlU2NvcGUqLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2Vk
KGJvb2wgY2hhbmdlZEJ5UGFyc2VyID0gZmFsc2UsIE5vZGUqIGJlZm9yZUNoYW5nZSA9IDAsIE5v
ZGUqIGFmdGVyQ2hhbmdlID0gMCwgaW50IGNoaWxkQ291bnREZWx0YSA9IDApOwogCiAgICAgLy8g
VGhlIGltcGxlbWVudGF0aW9uIG9mIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoKSBjYWxscyB0
aGUgZm9sbG93aW5nIHR3byBmdW5jdGlvbnMuCkBAIC00ODksMTMgKzQ5MCwxMyBAQCBpbmxpbmUg
TmFtZWROb2RlTWFwKiBFbGVtZW50OjphdHRyaWJ1dGVzKGJvb2wgcmVhZG9ubHkpIGNvbnN0CiAK
IGlubGluZSB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUlkKGNvbnN0IEF0b21pY1N0cmluZyYgb2xkSWQs
IGNvbnN0IEF0b21pY1N0cmluZyYgbmV3SWQpCiB7Ci0gICAgaWYgKCFpbkRvY3VtZW50KCkpCisg
ICAgVHJlZVNjb3BlKiBzY29wZSA9IHRyZWVTY29wZSgpOworICAgIGlmIChzY29wZSA9PSBkb2N1
bWVudCgpICYmICFpbkRvY3VtZW50KCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGlmIChvbGRJ
ZCA9PSBuZXdJZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgVHJlZVNjb3BlKiBzY29wZSA9IHRy
ZWVTY29wZSgpOwogICAgIGlmICghb2xkSWQuaXNFbXB0eSgpKQogICAgICAgICBzY29wZS0+cmVt
b3ZlRWxlbWVudEJ5SWQob2xkSWQsIHRoaXMpOwogICAgIGlmICghbmV3SWQuaXNFbXB0eSgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKaW5kZXggNmZjOTVmYzA4MWE4NWMwZGM0Y2FiNmI2MTk2ZDJlODRiN2YyNTMzNC4u
NDY1NWNjY2EwMGJjOGIxN2I1N2I0ZjJiMzE3NDg2NGRlYmRmN2ZkNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBA
IC0zNzEsNyArMzcxLDcgQEAgcHVibGljOgogICAgIFRyZWVTY29wZSogdHJlZVNjb3BlKCkgY29u
c3Q7CiAKICAgICAvLyBVc2VkIGJ5IHRoZSBiYXNpYyBET00gbWV0aG9kcyAoZS5nLiwgYXBwZW5k
Q2hpbGQoKSkuCi0gICAgdm9pZCBzZXRUcmVlU2NvcGVSZWN1cnNpdmVseShUcmVlU2NvcGUqLCBi
b29sIGluY2x1ZGVSb290ID0gdHJ1ZSk7CisgICAgdmlydHVhbCB2b2lkIHNldFRyZWVTY29wZVJl
Y3Vyc2l2ZWx5KFRyZWVTY29wZSosIGJvb2wgaW5jbHVkZVJvb3QgPSB0cnVlKTsKIAogICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiB0aGlzIG5vZGUgaXMgYXNzb2NpYXRlZCB3aXRoIGEgZG9jdW1lbnQg
YW5kIGlzIGluIGl0cyBhc3NvY2lhdGVkIGRvY3VtZW50J3MKICAgICAvLyBub2RlIHRyZWUsIGZh
bHNlIG90aGVyd2lzZS4KQEAgLTQ0Myw2ICs0NDMsNyBAQCBwdWJsaWM6CiAgICAgLy8gQXR0YWNo
ZXMgdGhpcyBub2RlIHRvIHRoZSByZW5kZXJpbmcgdHJlZS4gVGhpcyBjYWxjdWxhdGVzIHRoZSBz
dHlsZSB0byBiZSBhcHBsaWVkIHRvIHRoZSBub2RlIGFuZCBjcmVhdGVzIGFuCiAgICAgLy8gYXBw
cm9wcmlhdGUgUmVuZGVyT2JqZWN0IHdoaWNoIHdpbGwgYmUgaW5zZXJ0ZWQgaW50byB0aGUgdHJl
ZSAoZXhjZXB0IHdoZW4gdGhlIHN0eWxlIGhhcyBkaXNwbGF5OiBub25lKS4gVGhpcwogICAgIC8v
IG1ha2VzIHRoZSBub2RlIHZpc2libGUgaW4gdGhlIEZyYW1lVmlldy4KKyAgICAvLyBOb3RlOiBU
aGlzIGNhbiBiZSBjYWxsZWQgYmVmb3JlIGluc2VydGVkSW50b0RvY3VtZW50KCkgaXMgY2FsbGVk
LgogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2goKTsKIAogICAgIC8vIERldGFjaGVzIHRoZSBub2Rl
IGZyb20gdGhlIHJlbmRlcmluZyB0cmVlLCBtYWtpbmcgaXQgaW52aXNpYmxlIGluIHRoZSByZW5k
ZXJlZCB2aWV3LiBUaGlzIG1ldGhvZCB3aWxsIHJlbW92ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9UZXh0RmllbGRJbnB1dFR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9U
ZXh0RmllbGRJbnB1dFR5cGUuY3BwCmluZGV4IDc5ZjY1ZmE1MDZjNTExNGE2YjIxNDc5MmQwNzRh
NmM5YzRlZWI4YjcuLjAwNmFiNTFmZjI4YjcwOGJlYTYzMzlkOGJlNzkwZTk1OTBiMzlkOWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvVGV4dEZpZWxkSW5wdXRUeXBlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL1RleHRGaWVsZElucHV0VHlwZS5jcHAKQEAgLTE4OCw3ICsx
ODgsOSBAQCBIVE1MRWxlbWVudCogVGV4dEZpZWxkSW5wdXRUeXBlOjpnZXRTaGFkb3dFbGVtZW50
QnlJZChjb25zdCBBdG9taWNTdHJpbmcmIGlkKSBjbwogCiBIVE1MRWxlbWVudCogVGV4dEZpZWxk
SW5wdXRUeXBlOjppbm5lclRleHRFbGVtZW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZ2V0U2hh
ZG93RWxlbWVudEJ5SWQoaW5uZXJUZXh0SWQoKSk7CisgICAgSFRNTEVsZW1lbnQqIGVsZW1lbnQg
PSBnZXRTaGFkb3dFbGVtZW50QnlJZChpbm5lclRleHRJZCgpKTsKKyAgICBBU1NFUlQoZWxlbWVu
dCk7CisgICAgcmV0dXJuIGVsZW1lbnQ7CiB9CiAKIEhUTUxFbGVtZW50KiBUZXh0RmllbGRJbnB1
dFR5cGU6OmlubmVyU3BpbkJ1dHRvbkVsZW1lbnQoKSBjb25zdAo=
</data>
<flag name="review"
          id="89687"
          type_id="1"
          status="-"
          setter="dglazkov"
    />
          </attachment>
      

    </bug>

</bugzilla>