<?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>61887</bug_id>
          
          <creation_ts>2011-06-01 15:45:11 -0700</creation_ts>
          <short_desc>ApplyStyleCommand shouldn&apos;t call collapseTextDecorationProperties</short_desc>
          <delta_ts>2011-06-02 14:35:23 -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>HTML Editing</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>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>54932</blocked>
    
    <blocked>34564</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>sullivan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>413715</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-01 15:45:11 -0700</bug_when>
    <thetext>ApplyStyleCommand::applyInlineStyle modifies the EditingStyle by calling collapseTextDecorationProperties but it shouldn&apos;t ApplyStyleCommand should be unaware of crazy text decoration manipulations we do in EditingStyle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413757</commentid>
    <comment_count>1</comment_count>
      <attachid>95684</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-01 16:39:15 -0700</bug_when>
    <thetext>Created attachment 95684
refactoring</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413760</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-01 16:42:04 -0700</bug_when>
    <thetext>This will remove the last trace of text-decoration / -webkit-text-decorations-in-effect from ApplyStyleCommand.  And in fact, there will be no mentioning of these properties in ApplyStyleCommand after this patch!

ApplyStyleCommand still knows about font-size, unicode-bidi, and direction properties but hopefully I can get rid of them soon as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413935</commentid>
    <comment_count>3</comment_count>
      <attachid>95684</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-01 23:22:20 -0700</bug_when>
    <thetext>Comment on attachment 95684
refactoring

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

&gt; Source/WebCore/editing/EditingStyle.cpp:609
&gt; +        if (propertyID == CSSPropertyWebkitTextDecorationsInEffect &amp;&amp; inlineStyle-&gt;getPropertyCSSValue(CSSPropertyTextDecoration)) {
&gt; +            if (!conflictingProperties)
&gt;                  return true;
&gt; +            conflictingProperties-&gt;append(CSSPropertyTextDecoration);
&gt; +            if (extractedStyle)
&gt; +                extractedStyle-&gt;setProperty(CSSPropertyTextDecoration, inlineStyle-&gt;getPropertyValue(CSSPropertyTextDecoration), inlineStyle-&gt;getPropertyPriority(CSSPropertyTextDecoration));
&gt; +            continue;

Just to clarify, the only code change I&apos;m making here is these lines where I explicitly add text-decoration property to the list of conflicting properties when I see -webkit-text-decorations-in-effect in m_mutableStyle and inlineStyle has text-decoration property.  Because inlineStyle is element&apos;s inline style declaration, we don&apos;t have to consider the case where inlineStyle has -webkit-text-decorations-in-effect property.

The rest of changes are due to my merging two loops together.  Whereas we used to have a faster loop when conflictingProperties == 0, I merged them and added return true when !conflictingProperties in several places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414414</commentid>
    <comment_count>4</comment_count>
      <attachid>95684</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-06-02 14:02:40 -0700</bug_when>
    <thetext>Comment on attachment 95684
refactoring

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

&gt; Source/WebCore/editing/EditingStyle.cpp:171
&gt; +    RefPtr&lt;CSSValue&gt; styleValue = style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);

Could you explain why you don&apos;t use m_propertyID anymore? It&apos;s not clear to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414432</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-02 14:18:45 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 95684 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=95684&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/editing/EditingStyle.cpp:171
&gt; &gt; +    RefPtr&lt;CSSValue&gt; styleValue = style-&gt;getPropertyCSSValue(CSSPropertyWebkitTextDecorationsInEffect);
&gt; 
&gt; Could you explain why you don&apos;t use m_propertyID anymore? It&apos;s not clear to me.

I have to test for both text-decoration and -webkit-text-decorations-in-effect because both of these property should match u, s, &amp; strike.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414436</commentid>
    <comment_count>6</comment_count>
      <attachid>95684</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2011-06-02 14:22:02 -0700</bug_when>
    <thetext>Comment on attachment 95684
refactoring

Looks good to me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414447</commentid>
    <comment_count>7</comment_count>
      <attachid>95684</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-02 14:35:19 -0700</bug_when>
    <thetext>Comment on attachment 95684
refactoring

Clearing flags on attachment: 95684

Committed r87952: &lt;http://trac.webkit.org/changeset/87952&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414448</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-06-02 14:35:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95684</attachid>
            <date>2011-06-01 16:39:15 -0700</date>
            <delta_ts>2011-06-02 14:35:18 -0700</delta_ts>
            <desc>refactoring</desc>
            <filename>bug-61887-20110601163914.patch</filename>
            <type>text/plain</type>
            <size>8447</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg3ODY1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDYtMDEgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQXBwbHlTdHlsZUNvbW1hbmQgc2hvdWxkbid0IGNhbGwgY29sbGFw
c2VUZXh0RGVjb3JhdGlvblByb3BlcnRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYxODg3CisKKyAgICAgICAgUmVtb3ZlZCB0aGUgY2FsbCB0byBj
b2xsYXBzZVRleHREZWNvcmF0aW9uUHJvcGVydGllcyBpbiBBcHBseVN0eWxlQ29tbWFuZDo6YXBw
bHlJbmxpbmVTdHlsZS4KKworICAgICAgICBObyBuZXcgdGVzdHMgYmVjYXVzZSB0aGlzIGlzIGEg
Y29kZSByZWZhY3RvcmluZy4KKworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5
bGUpOiBObyBsb25lciBjYWxscyBjb2xsYXBzZVRleHREZWNvcmF0aW9uUHJvcGVydGllcy4KKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpwdXNoRG93bklubGluZVN0eWxlQXJv
dW5kTm9kZSk6IFVwZGF0ZWQgY29tbWVudC4KKyAgICAgICAgKiBlZGl0aW5nL0VkaXRpbmdTdHls
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudEVxdWl2YWxlbnQ6OnByb3BlcnR5
RXhpc3RzSW5TdHlsZSk6IEFkZGVkIHRvIGNoZWNrIGJvdGggdGV4dC1kZWNvcmF0aW9uCisgICAg
ICAgIGFuZCAtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0LgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRleHREZWNvcmF0aW9uRXF1aXZhbGVudDo6SFRNTFRleHREZWNvcmF0aW9uRXF1
aXZhbGVudCk6IEFkZGVkIGEgY29tbWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0RGVj
b3JhdGlvbkVxdWl2YWxlbnQ6OnByb3BlcnR5RXhpc3RzSW5TdHlsZSk6IENoZWNrcyBib3RoIHRl
eHQtZGVjb3JhdGlvbgorICAgICAgICBhbmQgLXdlYmtpdC10ZXh0LWRlY29yYXRpb25zLWluLWVm
ZmVjdC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0RGVjb3JhdGlvbkVxdWl2YWxlbnQ6OnZh
bHVlSXNQcmVzZW50SW5TdHlsZSk6IENoZWNrcyBpZiBhIHRleHQgZGVjb3JhdGlvbgorICAgICAg
ICBpcyBwcmVzZW50IGluIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3Qgb3IgdGV4
dC1kZWNvcmF0aW9uIHByZWZlcnJpbmcgdGhlIGZvcm1lci4KKyAgICAgICAgKFdlYkNvcmU6OkVk
aXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aElubGluZVN0eWxlT2ZFbGVtZW50KTogTWVyZ2VkIGxv
b3BzIGZvciB3aGVuIGNvbmZsaWN0aW5nUHJvcGVydGllcworICAgICAgICBpcyBmYWxzZSBhbmQg
dHJ1ZS4gQWRkZWQgYSBzdXBwb3J0IGZvciAtd2Via2l0LXRleHQtZGVjb3JhdGlvbnMtaW4tZWZm
ZWN0LgorCiAyMDExLTA2LTAxICBFbWlsIEEgRWtsdW5kICA8ZWFlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCShyZXZpc2lvbiA4NzgzNSkKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MzEsOCArNTMxLDYgQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6YXBwbHlJbmxpbmVTdHls
ZQogICAgIE5vZGUqIHN0YXJ0RHVtbXlTcGFuQW5jZXN0b3IgPSAwOwogICAgIE5vZGUqIGVuZER1
bW15U3BhbkFuY2VzdG9yID0gMDsKIAotICAgIHN0eWxlLT5jb2xsYXBzZVRleHREZWNvcmF0aW9u
UHJvcGVydGllcygpOwotCiAgICAgLy8gdXBkYXRlIGRvY3VtZW50IGxheW91dCBvbmNlIGJlZm9y
ZSByZW1vdmluZyBzdHlsZXMKICAgICAvLyBzbyB0aGF0IHdlIGF2b2lkIHRoZSBleHBlbnNlIG9m
IHVwZGF0aW5nIGJlZm9yZSBlYWNoIGFuZCBldmVyeSBjYWxsCiAgICAgLy8gdG8gY2hlY2sgYSBj
b21wdXRlZCBzdHlsZQpAQCAtMTAwNiw3ICsxMDA0LDcgQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFu
ZDo6cHVzaERvd25JbmxpbmVTdAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgLy8gQXBwbHkgdGV4dCBkZWNvcmF0aW9uIHRvIGFsbCBub2RlcyBjb250YWlu
aW5nIHRhcmdldE5vZGUgYW5kIHRoZWlyIHNpYmxpbmdzIGJ1dCBOT1QgdG8gdGFyZ2V0Tm9kZQor
ICAgICAgICAgICAgLy8gQXBwbHkgc3R5bGUgdG8gYWxsIG5vZGVzIGNvbnRhaW5pbmcgdGFyZ2V0
Tm9kZSBhbmQgdGhlaXIgc2libGluZ3MgYnV0IE5PVCB0byB0YXJnZXROb2RlCiAgICAgICAgICAg
ICAvLyBCdXQgaWYgd2UndmUgcmVtb3ZlZCBzdHlsZWRFbGVtZW50IHRoZW4gZ28gYWhlYWQgYW5k
IGFsd2F5cyBhcHBseSB0aGUgc3R5bGUuCiAgICAgICAgICAgICBpZiAoY2hpbGQgIT0gdGFyZ2V0
Tm9kZSB8fCBzdHlsZWRFbGVtZW50KQogICAgICAgICAgICAgICAgIGFwcGx5SW5saW5lU3R5bGVU
b1B1c2hEb3duKGNoaWxkLCBzdHlsZVRvUHVzaERvd24uZ2V0KCkpOwpJbmRleDogU291cmNlL1dl
YkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcAkocmV2aXNpb24gODc4MzUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcg
Kzk4LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgfkhUTUxFbGVtZW50RXF1aXZhbGVudCgpIHsg
fQogICAgIHZpcnR1YWwgYm9vbCBtYXRjaGVzKEVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0IHsgcmV0
dXJuICFtX3RhZ05hbWUgfHwgZWxlbWVudC0+aGFzVGFnTmFtZSgqbV90YWdOYW1lKTsgfQogICAg
IHZpcnR1YWwgYm9vbCBoYXNBdHRyaWJ1dGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAg
IGJvb2wgcHJvcGVydHlFeGlzdHNJblN0eWxlKENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKSBj
b25zdCB7IHJldHVybiBzdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShtX3Byb3BlcnR5SUQpOyB9
CisgICAgdmlydHVhbCBib29sIHByb3BlcnR5RXhpc3RzSW5TdHlsZShDU1NTdHlsZURlY2xhcmF0
aW9uKiBzdHlsZSkgY29uc3QgeyByZXR1cm4gc3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUobV9w
cm9wZXJ0eUlEKTsgfQogICAgIHZpcnR1YWwgYm9vbCB2YWx1ZUlzUHJlc2VudEluU3R5bGUoRWxl
bWVudCosIENTU1N0eWxlRGVjbGFyYXRpb24qKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgYWRk
VG9TdHlsZShFbGVtZW50KiwgRWRpdGluZ1N0eWxlKikgY29uc3Q7CiAKQEAgLTE0OCw2ICsxNDgs
NyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IEhUTUxUZXh0
RGVjb3JhdGlvbkVxdWl2YWxlbnQocHJpbWl0aXZlVmFsdWUsIHRhZ05hbWUpKTsKICAgICB9Cisg
ICAgdmlydHVhbCBib29sIHByb3BlcnR5RXhpc3RzSW5TdHlsZShDU1NTdHlsZURlY2xhcmF0aW9u
KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHZhbHVlSXNQcmVzZW50SW5TdHlsZShFbGVtZW50
KiwgQ1NTU3R5bGVEZWNsYXJhdGlvbiopIGNvbnN0OwogCiBwcml2YXRlOgpAQCAtMTU2LDEyICsx
NTcsMjAgQEAgcHJpdmF0ZToKIAogSFRNTFRleHREZWNvcmF0aW9uRXF1aXZhbGVudDo6SFRNTFRl
eHREZWNvcmF0aW9uRXF1aXZhbGVudChpbnQgcHJpbWl0aXZlVmFsdWUsIGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUpCiAgICAgOiBIVE1MRWxlbWVudEVxdWl2YWxlbnQoQ1NTUHJvcGVydHlU
ZXh0RGVjb3JhdGlvbiwgcHJpbWl0aXZlVmFsdWUsIHRhZ05hbWUpCisgICAgLy8gbV9wcm9wZXJ0
eUlEIGlzIHVzZWQgaW4gSFRNTEVsZW1lbnRFcXVpdmFsZW50OjphZGRUb1N0eWxlCiB7CiB9CiAK
K2Jvb2wgSFRNTFRleHREZWNvcmF0aW9uRXF1aXZhbGVudDo6cHJvcGVydHlFeGlzdHNJblN0eWxl
KENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlKSBjb25zdAoreworICAgIHJldHVybiBzdHlsZS0+
Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZm
ZWN0KSB8fCBzdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVRleHREZWNvcmF0
aW9uKTsKK30KKwogYm9vbCBIVE1MVGV4dERlY29yYXRpb25FcXVpdmFsZW50Ojp2YWx1ZUlzUHJl
c2VudEluU3R5bGUoRWxlbWVudCogZWxlbWVudCwgQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUp
IGNvbnN0CiB7Ci0gICAgUmVmUHRyPENTU1ZhbHVlPiBzdHlsZVZhbHVlID0gc3R5bGUtPmdldFBy
b3BlcnR5Q1NTVmFsdWUobV9wcm9wZXJ0eUlEKTsKKyAgICBSZWZQdHI8Q1NTVmFsdWU+IHN0eWxl
VmFsdWUgPSBzdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVdlYmtpdFRleHRE
ZWNvcmF0aW9uc0luRWZmZWN0KTsKKyAgICBpZiAoIXN0eWxlVmFsdWUpCisgICAgICAgIHN0eWxl
VmFsdWUgPSBzdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVRleHREZWNvcmF0
aW9uKTsKICAgICByZXR1cm4gbWF0Y2hlcyhlbGVtZW50KSAmJiBzdHlsZVZhbHVlICYmIHN0eWxl
VmFsdWUtPmlzVmFsdWVMaXN0KCkgJiYgc3RhdGljX2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4oc3R5bGVW
YWx1ZS5nZXQoKSktPmhhc1ZhbHVlKG1fcHJpbWl0aXZlVmFsdWUuZ2V0KCkpOwogfQogCkBAIC01
ODMsNDAgKzU5Miw0NCBAQCBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aElubGluZVN0
CiAgICAgaWYgKCFtX211dGFibGVTdHlsZSB8fCAhaW5saW5lU3R5bGUpCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmICghY29uZmxpY3RpbmdQcm9wZXJ0aWVzKSB7Ci0gICAgICAgIENT
U011dGFibGVTdHlsZURlY2xhcmF0aW9uOjpjb25zdF9pdGVyYXRvciBlbmQgPSBtX211dGFibGVT
dHlsZS0+ZW5kKCk7Ci0gICAgICAgIGZvciAoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNv
bnN0X2l0ZXJhdG9yIGl0ID0gbV9tdXRhYmxlU3R5bGUtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytp
dCkgewotICAgICAgICAgICAgQ1NTUHJvcGVydHlJRCBwcm9wZXJ0eUlEID0gc3RhdGljX2Nhc3Q8
Q1NTUHJvcGVydHlJRD4oaXQtPmlkKCkpOworICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9u
Ojpjb25zdF9pdGVyYXRvciBlbmQgPSBtX211dGFibGVTdHlsZS0+ZW5kKCk7CisgICAgZm9yIChD
U1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjo6Y29uc3RfaXRlcmF0b3IgaXQgPSBtX211dGFibGVT
dHlsZS0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CisgICAgICAgIENTU1Byb3BlcnR5SUQg
cHJvcGVydHlJRCA9IHN0YXRpY19jYXN0PENTU1Byb3BlcnR5SUQ+KGl0LT5pZCgpKTsKIAotICAg
ICAgICAgICAgLy8gV2UgZG9uJ3Qgb3ZlcnJpZGUgd2hpdGVzcGFjZSBwcm9wZXJ0eSBvZiBhIHRh
YiBzcGFuIGJlY2F1c2UgdGhhdCB3b3VsZCBjb2xsYXBzZSB0aGUgdGFiIGludG8gYSBzcGFjZS4K
LSAgICAgICAgICAgIGlmIChwcm9wZXJ0eUlEID09IENTU1Byb3BlcnR5V2hpdGVTcGFjZSAmJiBp
c1RhYlNwYW5Ob2RlKGVsZW1lbnQpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAvLyBXZSBkb24ndCBvdmVycmlkZSB3aGl0ZXNwYWNlIHByb3BlcnR5IG9mIGEgdGFiIHNwYW4g
YmVjYXVzZSB0aGF0IHdvdWxkIGNvbGxhcHNlIHRoZSB0YWIgaW50byBhIHNwYWNlLgorICAgICAg
ICBpZiAocHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eVdoaXRlU3BhY2UgJiYgaXNUYWJTcGFuTm9k
ZShlbGVtZW50KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBpZiAoaW5s
aW5lU3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUocHJvcGVydHlJRCkpCisgICAgICAgIGlmIChw
cm9wZXJ0eUlEID09IENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25zSW5FZmZlY3QgJiYg
aW5saW5lU3R5bGUtPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlv
bikpIHsKKyAgICAgICAgICAgIGlmICghY29uZmxpY3RpbmdQcm9wZXJ0aWVzKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5h
cHBlbmQoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CisgICAgICAgICAgICBpZiAoZXh0cmFj
dGVkU3R5bGUpCisgICAgICAgICAgICAgICAgZXh0cmFjdGVkU3R5bGUtPnNldFByb3BlcnR5KENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24sIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVZhbHVlKENT
U1Byb3BlcnR5VGV4dERlY29yYXRpb24pLCBpbmxpbmVTdHlsZS0+Z2V0UHJvcGVydHlQcmlvcml0
eShDU1NQcm9wZXJ0eVRleHREZWNvcmF0aW9uKSk7CisgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgfQogCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0KLSAgICBDU1NNdXRhYmxl
U3R5bGVEZWNsYXJhdGlvbjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gbV9tdXRhYmxlU3R5bGUtPmVu
ZCgpOwotICAgIGZvciAoQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb246OmNvbnN0X2l0ZXJhdG9y
IGl0ID0gbV9tdXRhYmxlU3R5bGUtPmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkgewotICAgICAg
ICBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5SUQgPSBzdGF0aWNfY2FzdDxDU1NQcm9wZXJ0eUlEPihp
dC0+aWQoKSk7Ci0gICAgICAgIGlmICgocHJvcGVydHlJRCA9PSBDU1NQcm9wZXJ0eVdoaXRlU3Bh
Y2UgJiYgaXNUYWJTcGFuTm9kZShlbGVtZW50KSkgfHwgIWlubGluZVN0eWxlLT5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKHByb3BlcnR5SUQpKQorICAgICAgICBpZiAoIWlubGluZVN0eWxlLT5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKHByb3BlcnR5SUQpKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAg
ICAgaWYgKHByb3BlcnR5SUQgPT0gQ1NTUHJvcGVydHlVbmljb2RlQmlkaSAmJiBpbmxpbmVTdHls
ZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eURpcmVjdGlvbikpIHsKKyAgICAgICAg
ICAgIGlmICghY29uZmxpY3RpbmdQcm9wZXJ0aWVzKQorICAgICAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVzLT5hcHBlbmQoQ1NTUHJvcGVy
dHlEaXJlY3Rpb24pOwogICAgICAgICAgICAgaWYgKGV4dHJhY3RlZFN0eWxlKQogICAgICAgICAg
ICAgICAgIGV4dHJhY3RlZFN0eWxlLT5zZXRQcm9wZXJ0eShwcm9wZXJ0eUlELCBpbmxpbmVTdHls
ZS0+Z2V0UHJvcGVydHlWYWx1ZShwcm9wZXJ0eUlEKSwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5
UHJpb3JpdHkocHJvcGVydHlJRCkpOwotICAgICAgICAgICAgY29uZmxpY3RpbmdQcm9wZXJ0aWVz
LT5hcHBlbmQoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwogICAgICAgICB9CiAKKyAgICAgICAgaWYg
KCFjb25mbGljdGluZ1Byb3BlcnRpZXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAg
ICAgICBjb25mbGljdGluZ1Byb3BlcnRpZXMtPmFwcGVuZChwcm9wZXJ0eUlEKTsKKwogICAgICAg
ICBpZiAoZXh0cmFjdGVkU3R5bGUpCiAgICAgICAgICAgICBleHRyYWN0ZWRTdHlsZS0+c2V0UHJv
cGVydHkocHJvcGVydHlJRCwgaW5saW5lU3R5bGUtPmdldFByb3BlcnR5VmFsdWUocHJvcGVydHlJ
RCksIGlubGluZVN0eWxlLT5nZXRQcm9wZXJ0eVByaW9yaXR5KHByb3BlcnR5SUQpKTsKICAgICB9
CiAKLSAgICByZXR1cm4gIWNvbmZsaWN0aW5nUHJvcGVydGllcy0+aXNFbXB0eSgpOworICAgIHJl
dHVybiBjb25mbGljdGluZ1Byb3BlcnRpZXMgJiYgIWNvbmZsaWN0aW5nUHJvcGVydGllcy0+aXNF
bXB0eSgpOwogfQogCiBib29sIEVkaXRpbmdTdHlsZTo6Y29uZmxpY3RzV2l0aEltcGxpY2l0U3R5
bGVPZkVsZW1lbnQoSFRNTEVsZW1lbnQqIGVsZW1lbnQsIEVkaXRpbmdTdHlsZSogZXh0cmFjdGVk
U3R5bGUsIFNob3VsZEV4dHJhY3RNYXRjaGluZ1N0eWxlIHNob3VsZEV4dHJhY3RNYXRjaGluZ1N0
eWxlKSBjb25zdAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>