<?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>32079</bug_id>
          
          <creation_ts>2009-12-02 11:21:46 -0800</creation_ts>
          <short_desc>Undo should not affect elements that are not editable</short_desc>
          <delta_ts>2009-12-03 11:22:27 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrica Casucci">enrica</reporter>
          <assigned_to name="Enrica Casucci">enrica</assigned_to>
          <cc>adele</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>168090</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-12-02 11:21:46 -0800</bug_when>
    <thetext>If an element changes from editable to non-editable, all undo commands that apply to it and its descendant should be ignored.
Same goes for redo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168112</commentid>
    <comment_count>1</comment_count>
      <attachid>44170</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-12-02 11:56:37 -0800</bug_when>
    <thetext>Created attachment 44170
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168260</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-02 21:10:58 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 44170 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168300</commentid>
    <comment_count>3</comment_count>
      <attachid>44170</attachid>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-12-02 22:52:13 -0800</bug_when>
    <thetext>Comment on attachment 44170
patch

Are there cases where the parent isn&apos;t editable, and its not attached, where we would want to allow the AppendNodeCommand?

&gt;  void AppendNodeCommand::doApply()
&gt;  {
&gt; +    if (!m_parent-&gt;isContentEditable() &amp;&amp; m_parent-&gt;attached())
&gt; +        return;
&gt; +        
&gt;      ExceptionCode ec;
&gt;      m_parent-&gt;appendChild(m_node.get(), ec);
&gt;  }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168447</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-12-03 10:10:40 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 44170 [details])
&gt; Are there cases where the parent isn&apos;t editable, and its not attached, where we
&gt; would want to allow the AppendNodeCommand?
&gt; 
&gt; &gt;  void AppendNodeCommand::doApply()
&gt; &gt;  {
&gt; &gt; +    if (!m_parent-&gt;isContentEditable() &amp;&amp; m_parent-&gt;attached())
&gt; &gt; +        return;
&gt; &gt; +        
&gt; &gt;      ExceptionCode ec;
&gt; &gt;      m_parent-&gt;appendChild(m_node.get(), ec);
&gt; &gt;  }

I don&apos;t think so. Look at the ASSERT in the constructor.
    ASSERT(m_parent-&gt;isContentEditable() || !m_parent-&gt;attached());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168459</commentid>
    <comment_count>5</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2009-12-03 10:42:05 -0800</bug_when>
    <thetext>ok, makes sense</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>168475</commentid>
    <comment_count>6</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2009-12-03 11:22:27 -0800</bug_when>
    <thetext>Committed revision 51645.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>44170</attachid>
            <date>2009-12-02 11:56:37 -0800</date>
            <delta_ts>2009-12-02 22:52:13 -0800</delta_ts>
            <desc>patch</desc>
            <filename>bug6557066.txt</filename>
            <type>text/plain</type>
            <size>13892</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTYwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMDktMTItMDIgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
dWx0aXBsZSBVbmRvcyByZW1vdmVzIHRoZSBsYXN0IHBvc3RlZCBjb21tZW50IGFuZC9vciB0aGUg
b25lcyBiZWZvcmUgaXQuCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82NTU3MDY2PgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzIwNzkKKyAgICAgICAg
CisgICAgICAgIFRoZSBmaXggY29uc2lzdHMgaW4gcHJldmVudGluZyBVbmRvcyBhbmQgUmVkb3Mg
dG8gYmUgYXBwbGllZCB0byBlbGVtZW50cyB0aGF0CisgICAgICAgIGFyZSBubyBsb25nZXIgZWRp
dGFibGUuIFdlIGRvIG5vdCBhdHRlbXB0IHRvIHJlbW92ZSB0aGUgY29tbWFuZHMgZnJvbSB0aGUg
cXVldWUuCisgICAgICAgIEl0IGlzIGEgcmVsYXRpdmVseSBzaW1wbGUgZml4IHRoYXQgY29tZXMg
d2l0aCBhIGxpdHRsZSBleHRyYSBvdmVyaGVhZCBmb3IgdGhlIGFwcGx5CisgICAgICAgIGFuZCB1
bmFwcGx5IG1ldGhvZHMgd2hlcmUgd2UgYXJlIG5vdyBwZXJmb3JtaW5nIHRoZSBlZGl0YWJpbGl0
eSBjaGVjay4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL3VuZG8vdW5kby1pbmRlbnQtbm9uZWRp
dGFibGUuaHRtbAorCisgICAgICAgICogZWRpdGluZy9BcHBlbmROb2RlQ29tbWFuZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBcHBlbmROb2RlQ29tbWFuZDo6ZG9BcHBseSk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBlbmROb2RlQ29tbWFuZDo6ZG9VbmFwcGx5KToKKyAgICAgICAgKiBlZGl0aW5n
L0RlbGV0ZUZyb21UZXh0Tm9kZUNvbW1hbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVsZXRl
RnJvbVRleHROb2RlQ29tbWFuZDo6ZG9BcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpEZWxldGVG
cm9tVGV4dE5vZGVDb21tYW5kOjpkb1VuYXBwbHkpOgorICAgICAgICAqIGVkaXRpbmcvSW5zZXJ0
SW50b1RleHROb2RlQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRJbnRvVGV4
dE5vZGVDb21tYW5kOjpkb0FwcGx5KToKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydEludG9UZXh0
Tm9kZUNvbW1hbmQ6OmRvVW5hcHBseSk6CisgICAgICAgICogZWRpdGluZy9JbnNlcnROb2RlQmVm
b3JlQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnROb2RlQmVmb3JlQ29tbWFu
ZDo6ZG9BcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnROb2RlQmVmb3JlQ29tbWFuZDo6
ZG9VbmFwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL0pvaW5UZXh0Tm9kZXNDb21tYW5kLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkpvaW5UZXh0Tm9kZXNDb21tYW5kOjpkb0FwcGx5KToKKyAgICAg
ICAgKFdlYkNvcmU6OkpvaW5UZXh0Tm9kZXNDb21tYW5kOjpkb1VuYXBwbHkpOgorICAgICAgICAq
IGVkaXRpbmcvTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQ6OmRvQXBwbHkpOgorICAgICAgICAo
V2ViQ29yZTo6TWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQ6OmRvVW5hcHBseSk6CisgICAg
ICAgICogZWRpdGluZy9SZW1vdmVOb2RlQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW1vdmVOb2RlQ29tbWFuZDo6ZG9BcHBseSk6CisgICAgICAgIChXZWJDb3JlOjpSZW1vdmVOb2Rl
Q29tbWFuZDo6ZG9VbmFwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL1NwbGl0RWxlbWVudENvbW1h
bmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3BsaXRFbGVtZW50Q29tbWFuZDo6ZXhlY3V0ZUFw
cGx5KToKKyAgICAgICAgKFdlYkNvcmU6OlNwbGl0RWxlbWVudENvbW1hbmQ6OmRvVW5hcHBseSk6
CisgICAgICAgICogZWRpdGluZy9TcGxpdFRleHROb2RlQ29tbWFuZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTcGxpdFRleHROb2RlQ29tbWFuZDo6ZG9BcHBseSk6CisgICAgICAgIChXZWJDb3Jl
OjpTcGxpdFRleHROb2RlQ29tbWFuZDo6ZG9VbmFwcGx5KToKKyAgICAgICAgKiBlZGl0aW5nL1dy
YXBDb250ZW50c0luRHVtbXlTcGFuQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXcmFw
Q29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQ6OmRvVW5hcHBseSk6CisgICAgICAgIChXZWJDb3Jl
OjpXcmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQ6OmRvUmVhcHBseSk6CisKIDIwMDktMTIt
MDIgIFl1c3VrZSBTYXRvICA8eXVzdWtlc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFuIEJlcm5zdGVpbi4KSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9BcHBlbmROb2RlQ29t
bWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0FwcGVuZE5vZGVDb21tYW5k
LmNwcAkocmV2aXNpb24gNTE2MDYpCisrKyBXZWJDb3JlL2VkaXRpbmcvQXBwZW5kTm9kZUNvbW1h
bmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMiArNDQsMTggQEAgQXBwZW5kTm9kZUNvbW1h
bmQ6OkFwcGVuZE5vZGVDb21tYW5kKFBhcwogCiB2b2lkIEFwcGVuZE5vZGVDb21tYW5kOjpkb0Fw
cGx5KCkKIHsKKyAgICBpZiAoIW1fcGFyZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpICYmIG1fcGFy
ZW50LT5hdHRhY2hlZCgpKQorICAgICAgICByZXR1cm47CisgICAgICAgIAogICAgIEV4Y2VwdGlv
bkNvZGUgZWM7CiAgICAgbV9wYXJlbnQtPmFwcGVuZENoaWxkKG1fbm9kZS5nZXQoKSwgZWMpOwog
fQogCiB2b2lkIEFwcGVuZE5vZGVDb21tYW5kOjpkb1VuYXBwbHkoKQogeworICAgIGlmICghbV9w
YXJlbnQtPmlzQ29udGVudEVkaXRhYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCiAg
ICAgRXhjZXB0aW9uQ29kZSBlYzsKICAgICBtX25vZGUtPnJlbW92ZShlYyk7CiB9CkluZGV4OiBX
ZWJDb3JlL2VkaXRpbmcvRGVsZXRlRnJvbVRleHROb2RlQ29tbWFuZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9lZGl0aW5nL0RlbGV0ZUZyb21UZXh0Tm9kZUNvbW1hbmQuY3BwCShyZXZpc2lv
biA1MTYwNikKKysrIFdlYkNvcmUvZWRpdGluZy9EZWxldGVGcm9tVGV4dE5vZGVDb21tYW5kLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsOSBAQCB2b2lkIERlbGV0ZUZyb21UZXh0Tm9k
ZUNvbW1hbmQ6OmRvQXBwbHkoCiB7CiAgICAgQVNTRVJUKG1fbm9kZSk7CiAKKyAgICBpZiAoIW1f
bm9kZS0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7CiAgICAgbV90ZXh0ID0gbV9ub2RlLT5zdWJzdHJpbmdEYXRhKG1fb2Zm
c2V0LCBtX2NvdW50LCBlYyk7CiAgICAgaWYgKGVjKQpAQCAtNTcsNiArNjAsOSBAQCB2b2lkIERl
bGV0ZUZyb21UZXh0Tm9kZUNvbW1hbmQ6OmRvVW5hcHBsCiB7CiAgICAgQVNTRVJUKG1fbm9kZSk7
CiAKKyAgICBpZiAoIW1fbm9kZS0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAgICAgcmV0dXJu
OworICAgICAgICAKICAgICBFeGNlcHRpb25Db2RlIGVjOwogICAgIG1fbm9kZS0+aW5zZXJ0RGF0
YShtX29mZnNldCwgbV90ZXh0LCBlYyk7CiB9CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvSW5zZXJ0
SW50b1RleHROb2RlQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9lZGl0aW5nL0lu
c2VydEludG9UZXh0Tm9kZUNvbW1hbmQuY3BwCShyZXZpc2lvbiA1MTYwNikKKysrIFdlYkNvcmUv
ZWRpdGluZy9JbnNlcnRJbnRvVGV4dE5vZGVDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMsMTIgKzQzLDE4IEBAIEluc2VydEludG9UZXh0Tm9kZUNvbW1hbmQ6Okluc2VydEludG9UZXgK
IAogdm9pZCBJbnNlcnRJbnRvVGV4dE5vZGVDb21tYW5kOjpkb0FwcGx5KCkKIHsKKyAgICBpZiAo
IW1fbm9kZS0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIAogICAg
IEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAgbV9ub2RlLT5pbnNlcnREYXRhKG1fb2Zmc2V0LCBtX3Rl
eHQsIGVjKTsKIH0KIAogdm9pZCBJbnNlcnRJbnRvVGV4dE5vZGVDb21tYW5kOjpkb1VuYXBwbHko
KQogeworICAgIGlmICghbV9ub2RlLT5pc0NvbnRlbnRFZGl0YWJsZSgpKQorICAgICAgICByZXR1
cm47CisgICAgICAgIAogICAgIEV4Y2VwdGlvbkNvZGUgZWM7CiAgICAgbV9ub2RlLT5kZWxldGVE
YXRhKG1fb2Zmc2V0LCBtX3RleHQubGVuZ3RoKCksIGVjKTsKIH0KSW5kZXg6IFdlYkNvcmUvZWRp
dGluZy9JbnNlcnROb2RlQmVmb3JlQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9l
ZGl0aW5nL0luc2VydE5vZGVCZWZvcmVDb21tYW5kLmNwcAkocmV2aXNpb24gNTE2MDYpCisrKyBX
ZWJDb3JlL2VkaXRpbmcvSW5zZXJ0Tm9kZUJlZm9yZUNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00Niw3ICs0Niw3IEBAIEluc2VydE5vZGVCZWZvcmVDb21tYW5kOjpJbnNlcnROb2RlQmVm
b3IKIHZvaWQgSW5zZXJ0Tm9kZUJlZm9yZUNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIE5vZGUq
IHBhcmVudCA9IG1fcmVmQ2hpbGQtPnBhcmVudE5vZGUoKTsKLSAgICBpZiAoIXBhcmVudCkKKyAg
ICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpKQogICAgICAgICBy
ZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjOwpAQCAtNTUsNiArNTUsOSBAQCB2b2lkIElu
c2VydE5vZGVCZWZvcmVDb21tYW5kOjpkb0FwcGx5KCkKIAogdm9pZCBJbnNlcnROb2RlQmVmb3Jl
Q29tbWFuZDo6ZG9VbmFwcGx5KCkKIHsKKyAgICBpZiAoIW1faW5zZXJ0Q2hpbGQtPmlzQ29udGVu
dEVkaXRhYmxlKCkpCisgICAgICAgIHJldHVybjsKKyAgICAgICAgCiAgICAgRXhjZXB0aW9uQ29k
ZSBlYzsKICAgICBtX2luc2VydENoaWxkLT5yZW1vdmUoZWMpOwogfQpJbmRleDogV2ViQ29yZS9l
ZGl0aW5nL0pvaW5UZXh0Tm9kZXNDb21tYW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Vk
aXRpbmcvSm9pblRleHROb2Rlc0NvbW1hbmQuY3BwCShyZXZpc2lvbiA1MTYwNikKKysrIFdlYkNv
cmUvZWRpdGluZy9Kb2luVGV4dE5vZGVzQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1
LDYgKzQ1LDEwIEBAIHZvaWQgSm9pblRleHROb2Rlc0NvbW1hbmQ6OmRvQXBwbHkoKQogICAgIGlm
IChtX3RleHQxLT5uZXh0U2libGluZygpICE9IG1fdGV4dDIpCiAgICAgICAgIHJldHVybjsKIAor
ICAgIE5vZGUqIHBhcmVudCA9IG1fdGV4dDItPnBhcmVudE5vZGUoKTsKKyAgICBpZiAoIXBhcmVu
dCB8fCAhcGFyZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpKQorICAgICAgICByZXR1cm47CisgICAg
CiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAgICAgbV90ZXh0Mi0+aW5zZXJ0RGF0YSgwLCBt
X3RleHQxLT5kYXRhKCksIGVjKTsKICAgICBpZiAoZWMpCkBAIC01OSw3ICs2Myw3IEBAIHZvaWQg
Sm9pblRleHROb2Rlc0NvbW1hbmQ6OmRvVW5hcHBseSgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IE5vZGUqIHBhcmVudCA9IG1fdGV4dDItPnBhcmVudE5vZGUoKTsKLSAgICBpZiAoIXBhcmVudCkK
KyAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc0NvbnRlbnRFZGl0YWJsZSgpKQogICAgICAg
ICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKSW5kZXg6IFdlYkNvcmUvZWRp
dGluZy9NZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9lZGl0aW5nL01lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmNwcAkocmV2aXNpb24g
NTE2MDYpCisrKyBXZWJDb3JlL2VkaXRpbmcvTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw3ICs0Miw3IEBAIE1lcmdlSWRlbnRpY2FsRWxlbWVu
dHNDb21tYW5kOjpNZXJnZUlkZW4KIAogdm9pZCBNZXJnZUlkZW50aWNhbEVsZW1lbnRzQ29tbWFu
ZDo6ZG9BcHBseSgpCiB7Ci0gICAgaWYgKG1fZWxlbWVudDEtPm5leHRTaWJsaW5nKCkgIT0gbV9l
bGVtZW50MikKKyAgICBpZiAobV9lbGVtZW50MS0+bmV4dFNpYmxpbmcoKSAhPSBtX2VsZW1lbnQy
IHx8ICFtX2VsZW1lbnQxLT5pc0NvbnRlbnRFZGl0YWJsZSgpIHx8ICFtX2VsZW1lbnQyLT5pc0Nv
bnRlbnRFZGl0YWJsZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBtX2F0Q2hpbGQgPSBtX2Vs
ZW1lbnQyLT5maXJzdENoaWxkKCk7CkBAIC02OCw3ICs2OCw3IEBAIHZvaWQgTWVyZ2VJZGVudGlj
YWxFbGVtZW50c0NvbW1hbmQ6OmRvVW4KICAgICBSZWZQdHI8Tm9kZT4gYXRDaGlsZCA9IG1fYXRD
aGlsZC5yZWxlYXNlKCk7CiAKICAgICBOb2RlKiBwYXJlbnQgPSBtX2VsZW1lbnQyLT5wYXJlbnQo
KTsKLSAgICBpZiAoIXBhcmVudCkKKyAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5pc0NvbnRl
bnRFZGl0YWJsZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBFeGNlcHRpb25Db2RlIGVjID0g
MDsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9SZW1vdmVOb2RlQ29tbWFuZC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9lZGl0aW5nL1JlbW92ZU5vZGVDb21tYW5kLmNwcAkocmV2aXNpb24gNTE2
MDYpCisrKyBXZWJDb3JlL2VkaXRpbmcvUmVtb3ZlTm9kZUNvbW1hbmQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC00Miw3ICs0Miw3IEBAIFJlbW92ZU5vZGVDb21tYW5kOjpSZW1vdmVOb2RlQ29tbWFu
ZChQYXMKIHZvaWQgUmVtb3ZlTm9kZUNvbW1hbmQ6OmRvQXBwbHkoKQogewogICAgIE5vZGUqIHBh
cmVudCA9IG1fbm9kZS0+cGFyZW50Tm9kZSgpOwotICAgIGlmICghcGFyZW50KQorICAgIGlmICgh
cGFyZW50IHx8ICFwYXJlbnQtPmlzQ29udGVudEVkaXRhYmxlKCkpCiAgICAgICAgIHJldHVybjsK
IAogICAgIG1fcGFyZW50ID0gcGFyZW50OwpAQCAtNTYsNyArNTYsNyBAQCB2b2lkIFJlbW92ZU5v
ZGVDb21tYW5kOjpkb1VuYXBwbHkoKQogewogICAgIFJlZlB0cjxOb2RlPiBwYXJlbnQgPSBtX3Bh
cmVudC5yZWxlYXNlKCk7CiAgICAgUmVmUHRyPE5vZGU+IHJlZkNoaWxkID0gbV9yZWZDaGlsZC5y
ZWxlYXNlKCk7Ci0gICAgaWYgKCFwYXJlbnQpCisgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+
aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgRXhjZXB0aW9uQ29k
ZSBlYzsKSW5kZXg6IFdlYkNvcmUvZWRpdGluZy9TcGxpdEVsZW1lbnRDb21tYW5kLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvU3BsaXRFbGVtZW50Q29tbWFuZC5jcHAJKHJldmlz
aW9uIDUxNjA2KQorKysgV2ViQ29yZS9lZGl0aW5nL1NwbGl0RWxlbWVudENvbW1hbmQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgU3BsaXRFbGVtZW50Q29tbWFuZDo6
ZXhlY3V0ZUFwcGx5KCkKICAgICBFeGNlcHRpb25Db2RlIGVjID0gMDsKICAgICAKICAgICBOb2Rl
KiBwYXJlbnQgPSBtX2VsZW1lbnQyLT5wYXJlbnROb2RlKCk7Ci0gICAgaWYgKCFwYXJlbnQpCisg
ICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAg
cmV0dXJuOwogICAgIHBhcmVudC0+aW5zZXJ0QmVmb3JlKG1fZWxlbWVudDEuZ2V0KCksIG1fZWxl
bWVudDIuZ2V0KCksIGVjKTsKICAgICBpZiAoZWMpCkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgU3Bs
aXRFbGVtZW50Q29tbWFuZDo6ZG9BcHBseSgpCiAKIHZvaWQgU3BsaXRFbGVtZW50Q29tbWFuZDo6
ZG9VbmFwcGx5KCkKIHsKLSAgICBpZiAoIW1fZWxlbWVudDEpCisgICAgaWYgKCFtX2VsZW1lbnQx
IHx8ICFtX2VsZW1lbnQxLT5pc0NvbnRlbnRFZGl0YWJsZSgpIHx8ICFtX2VsZW1lbnQyLT5pc0Nv
bnRlbnRFZGl0YWJsZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBWZWN0b3I8UmVmUHRyPE5v
ZGU+ID4gY2hpbGRyZW47CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNvbW1h
bmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29tbWFu
ZC5jcHAJKHJldmlzaW9uIDUxNjA2KQorKysgV2ViQ29yZS9lZGl0aW5nL1NwbGl0VGV4dE5vZGVD
b21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDksNiArNDksMTAgQEAgU3BsaXRUZXh0Tm9k
ZUNvbW1hbmQ6OlNwbGl0VGV4dE5vZGVDb21tYQogCiB2b2lkIFNwbGl0VGV4dE5vZGVDb21tYW5k
Ojpkb0FwcGx5KCkKIHsKKyAgICBOb2RlKiBwYXJlbnQgPSBtX3RleHQyLT5wYXJlbnROb2RlKCk7
CisgICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC0+aXNDb250ZW50RWRpdGFibGUoKSkKKyAgICAg
ICAgcmV0dXJuOworCiAgICAgRXhjZXB0aW9uQ29kZSBlYyA9IDA7CiAKICAgICBTdHJpbmcgcHJl
Zml4VGV4dCA9IG1fdGV4dDItPnN1YnN0cmluZ0RhdGEoMCwgbV9vZmZzZXQsIGVjKTsKQEAgLTU5
LDkgKzYzLDYgQEAgdm9pZCBTcGxpdFRleHROb2RlQ29tbWFuZDo6ZG9BcHBseSgpCiAgICAgQVNT
RVJUKHByZWZpeFRleHROb2RlKTsKICAgICBkb2N1bWVudCgpLT5jb3B5TWFya2VycyhtX3RleHQy
LmdldCgpLCAwLCBtX29mZnNldCwgcHJlZml4VGV4dE5vZGUuZ2V0KCksIDApOwogCi0gICAgTm9k
ZSogcGFyZW50ID0gbV90ZXh0Mi0+cGFyZW50Tm9kZSgpOwotICAgIGlmICghcGFyZW50KQotICAg
ICAgICByZXR1cm47CiAgICAgcGFyZW50LT5pbnNlcnRCZWZvcmUocHJlZml4VGV4dE5vZGUuZ2V0
KCksIG1fdGV4dDIuZ2V0KCksIGVjKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybjsKQEAg
LTcyLDcgKzczLDcgQEAgdm9pZCBTcGxpdFRleHROb2RlQ29tbWFuZDo6ZG9BcHBseSgpCiAKIHZv
aWQgU3BsaXRUZXh0Tm9kZUNvbW1hbmQ6OmRvVW5hcHBseSgpCiB7Ci0gICAgaWYgKCFtX3RleHQx
KQorICAgIGlmICghbV90ZXh0MSB8fCAhbV90ZXh0MS0+aXNDb250ZW50RWRpdGFibGUoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgQVNTRVJUKG1fdGV4dDEtPmRvY3VtZW50KCkgPT0gZG9jdW1l
bnQoKSk7CkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvV3JhcENvbnRlbnRzSW5EdW1teVNwYW5Db21t
YW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvV3JhcENvbnRlbnRzSW5EdW1t
eVNwYW5Db21tYW5kLmNwcAkocmV2aXNpb24gNTE2MDYpCisrKyBXZWJDb3JlL2VkaXRpbmcvV3Jh
cENvbnRlbnRzSW5EdW1teVNwYW5Db21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNyAr
NjQsNyBAQCB2b2lkIFdyYXBDb250ZW50c0luRHVtbXlTcGFuQ29tbWFuZDo6ZG9VCiB7CiAgICAg
QVNTRVJUKG1fZWxlbWVudCk7CiAKLSAgICBpZiAoIW1fZHVtbXlTcGFuKQorICAgIGlmICghbV9k
dW1teVNwYW4gfHwgIW1fZWxlbWVudC0+aXNDb250ZW50RWRpdGFibGUoKSkKICAgICAgICAgcmV0
dXJuOwogCiAgICAgVmVjdG9yPFJlZlB0cjxOb2RlPiA+IGNoaWxkcmVuOwpAQCAtODQsNyArODQs
NyBAQCB2b2lkIFdyYXBDb250ZW50c0luRHVtbXlTcGFuQ29tbWFuZDo6ZG9SCiB7CiAgICAgQVNT
RVJUKG1fZWxlbWVudCk7CiAgICAgCi0gICAgaWYgKCFtX2R1bW15U3BhbikKKyAgICBpZiAoIW1f
ZHVtbXlTcGFuIHx8ICFtX2VsZW1lbnQtPmlzQ29udGVudEVkaXRhYmxlKCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIGV4ZWN1dGVBcHBseSgpOwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNTE2MDcpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAor
MjAwOS0xMi0wMiAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE11bHRpcGxlIFVuZG9zIHJl
bW92ZXMgdGhlIGxhc3QgcG9zdGVkIGNvbW1lbnQgYW5kL29yIHRoZSBvbmVzIGJlZm9yZSBpdC4K
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1NTcwNjY+CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMjA3OQorCisgICAgICAgIEFkZGVkIHRlc3QgdG8g
dmVyaWZ5IHRoYXQgdW5kbyBoYXMgbm8gZWZmZWN0IHdoZW4gYW4gZWxlbWVudCBpcworICAgICAg
ICBubyBsb25nZXIgZWRpdGFibGUuCisgICAgICAgIAorICAgICAgICAqIGVkaXRpbmcvdW5kby91
bmRvLWluZGVudC1ub25lZGl0YWJsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVk
aXRpbmcvdW5kby91bmRvLWluZGVudC1ub25lZGl0YWJsZS5odG1sOiBBZGRlZC4KKwogMjAwOS0x
Mi0wMiAgRXJpYyBaLiBBeWVycyAgPHp1bmRlbEBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFBhdmVsIEZlbGRtYW4uCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5k
by1pbmRlbnQtbm9uZWRpdGFibGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2VkaXRpbmcvdW5kby91bmRvLWluZGVudC1ub25lZGl0YWJsZS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1pbmRlbnQtbm9uZWRp
dGFibGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEyIEBACitUaGlzIHRl
c3RzIGluZGVudGluZyAidGhyZWUiIHRoZW4gZXhlY3V0ZXMgdGhlIHVuZG8gY29tbWFuZCBhZnRl
ciBjaGFuZ2luZyB0aGUgZWRpdGFiaWxpdHkgdG8gZmFsc2UuIFlvdSBzaG91bGQgc2VlIG9uZSwg
dHdvIG51bWJlcmVkIDEgdGhyb3VnaCAyIHRoZW4gdGhyZWUgYW5kIGZvdXIgYXMgYSBzdWJsaXN0
IHN0YXJ0aW5nIHdpdGggbnVtYmVyIDEuIFRoZSB1bmRvIHNob3VsZCBoYXZlIG5vIGVmZmVjdC4K
K0J1Z3ppbGxhIGJ1ZyAKK1JhZGFyIGJ1ZworCitvbmUKK3R3bwordGhyZWUKK2ZvdXIKK0JlZm9y
ZSBpbmRlbnQ6IDxsaT5vbmU8L2xpPiA8bGk+dHdvPC9saT4gPGxpIGlkPSJ0ZXN0Ij50aHJlZTwv
bGk+IDxvbD48bGk+Zm91cjwvbGk+PC9vbD4KK0FmdGVyIGluZGVudDogPGxpPm9uZTwvbGk+IDxs
aT50d288L2xpPiA8b2w+PGxpIGlkPSJ0ZXN0Ij50aHJlZTwvbGk+PGxpPmZvdXI8L2xpPjwvb2w+
CitBZnRlciB1bmRvaW5nOiA8bGk+b25lPC9saT4gPGxpPnR3bzwvbGk+IDxvbD48bGkgaWQ9InRl
c3QiPnRocmVlPC9saT48bGk+Zm91cjwvbGk+PC9vbD4KK1RoZSB0ZXN0IHBhc3NlZApJbmRleDog
TGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8taW5kZW50LW5vbmVkaXRhYmxlLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy91bmRvL3VuZG8taW5kZW50LW5vbmVkaXRh
YmxlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL3VuZG8vdW5kby1p
bmRlbnQtbm9uZWRpdGFibGUuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MCBAQAorPGh0
bWw+Cis8Ym9keT4KKzxkaXY+CitUaGlzIHRlc3RzIGluZGVudGluZyAidGhyZWUiIHRoZW4gZXhl
Y3V0ZXMgdGhlIHVuZG8gY29tbWFuZCBhZnRlciBjaGFuZ2luZyB0aGUgZWRpdGFiaWxpdHkgdG8g
ZmFsc2UuIAorWW91IHNob3VsZCBzZWUgb25lLCB0d28gbnVtYmVyZWQgMSB0aHJvdWdoIDIgdGhl
biB0aHJlZSBhbmQgZm91ciBhcyBhIHN1Ymxpc3Qgc3RhcnRpbmcgd2l0aCBudW1iZXIgMS4KK1Ro
ZSB1bmRvIHNob3VsZCBoYXZlIG5vIGVmZmVjdC4KKzxwPgorPGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMyMDc5Ij5CdWd6aWxsYSBidWc8L2E+Cis8YnI+
Cis8YSBocmVmPSJyZGFyOi8vcHJvYmxlbS82NTU3MDY2Ij5SYWRhciBidWc8L2E+Cis8L3A+Cis8
b2wgaWQ9ImUiIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSI+Cis8bGk+b25lPC9saT4KKzxsaT50d288
L2xpPgorPGxpIGlkPSJ0ZXN0Ij50aHJlZTwvbGk+Cis8b2w+PGxpPmZvdXI8L2xpPjwvb2w+Cis8
L29sPgorPC9kaXY+CisKKzx1bD4KKzxsaT5CZWZvcmUgaW5kZW50OjxzcGFuIGlkPSJjMSI+PC9z
cGFuPjwvbGk+Cis8bGk+QWZ0ZXIgaW5kZW50OjxzcGFuIGlkPSJjMiI+PC9zcGFuPjwvbGk+Cis8
bGk+QWZ0ZXIgdW5kb2luZzo8c3BhbiBpZD0iYzMiPjwvc3Bhbj48L2xpPgorPC91bD4KKworPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwordmFyIGUg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZScpOworCitkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnYzEnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlLmlubmVySFRNTCkp
OworCit2YXIgcyA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTsKK3ZhciByID0gZG9jdW1lbnQuY3Jl
YXRlUmFuZ2UoKTsKK3Iuc2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdCcp
KTsKK3MucmVtb3ZlQWxsUmFuZ2VzKCk7CitzLmFkZFJhbmdlKHIpOworZG9jdW1lbnQuZXhlY0Nv
bW1hbmQoIkluZGVudCIsIGZhbHNlLCAiIik7Citkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYzIn
KS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlLmlubmVySFRNTCkpOworZS5j
b250ZW50RWRpdGFibGUgPSBmYWxzZTsKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCJVbmRvIik7Citk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYzMnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShlLmlubmVySFRNTCkpOworCitpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2My
JykuaW5uZXJIVE1MID09IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjMycpLmlubmVySFRNTCkK
KyAgICBkb2N1bWVudC53cml0ZSgiVGhlIHRlc3QgcGFzc2VkIik7CitlbHNlCisgICAgZG9jdW1l
bnQud3JpdGUoIlRoZSB0ZXN0IGZhaWxlZC4iKTsKKzwvc2NyaXB0Pgo=
</data>
<flag name="review"
          id="25962"
          type_id="1"
          status="+"
          setter="adele"
    />
          </attachment>
      

    </bug>

</bugzilla>