<?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>142003</bug_id>
          
          <creation_ts>2015-02-24 21:08:30 -0800</creation_ts>
          <short_desc>HTMLElement::collectStyleForPresentationAttribute duplicates a lot of code for contentEditableAttr</short_desc>
          <delta_ts>2015-02-25 10:42:26 -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>
          
          <blocked>129034</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1071952</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-24 21:08:30 -0800</bug_when>
    <thetext>Don&apos;t duplicate code!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1071953</commentid>
    <comment_count>1</comment_count>
      <attachid>247309</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-24 21:10:42 -0800</bug_when>
    <thetext>Created attachment 247309
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072002</commentid>
    <comment_count>2</comment_count>
      <attachid>247309</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-25 00:37:29 -0800</bug_when>
    <thetext>Comment on attachment 247309
Cleanup

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

Honestly I would prefer this with new tests. I would be surprised if we have good coverage for the changes in WordWrap, NbspMode and LineBreak. I bet the tests only check for the behavior of UserModify.

&gt; Source/WebCore/html/HTMLElement.cpp:170
&gt; +static CSSValueID contentEditableValueToUserModifyValue(const AtomicString&amp; value)

I think it would be better to base that off &quot;ContentEditableType&quot; with a switch().

Otherwise the tests are duplicated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072003</commentid>
    <comment_count>3</comment_count>
      <attachid>247309</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-25 00:50:14 -0800</bug_when>
    <thetext>Comment on attachment 247309
Cleanup

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072004</commentid>
    <comment_count>4</comment_count>
      <attachid>247309</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-25 00:50:53 -0800</bug_when>
    <thetext>Comment on attachment 247309
Cleanup

Oh oops, missed the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072005</commentid>
    <comment_count>5</comment_count>
      <attachid>247309</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-25 00:53:53 -0800</bug_when>
    <thetext>Comment on attachment 247309
Cleanup

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

&gt;&gt; Source/WebCore/html/HTMLElement.cpp:170
&gt;&gt; +static CSSValueID contentEditableValueToUserModifyValue(const AtomicString&amp; value)
&gt; 
&gt; I think it would be better to base that off &quot;ContentEditableType&quot; with a switch().
&gt; 
&gt; Otherwise the tests are duplicated.

You mean adding a new enum type? Or you&apos;re talking about EUserModify, which has three values?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072006</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-02-25 00:56:19 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 247309 [details]
&gt; Cleanup
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=247309&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/html/HTMLElement.cpp:170
&gt; &gt;&gt; +static CSSValueID contentEditableValueToUserModifyValue(const AtomicString&amp; value)
&gt; &gt; 
&gt; &gt; I think it would be better to base that off &quot;ContentEditableType&quot; with a switch().
&gt; &gt; 
&gt; &gt; Otherwise the tests are duplicated.
&gt; 
&gt; You mean adding a new enum type? Or you&apos;re talking about EUserModify, which
&gt; has three values?

I have added &quot;enum class ContentEditableType&quot; in HTMLElement to solve some styling problems.

I think that *may* have everything you need.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072017</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-25 01:59:19 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Comment on attachment 247309 [details]
&gt; &gt; Cleanup
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=247309&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; Source/WebCore/html/HTMLElement.cpp:170
&gt; &gt; &gt;&gt; +static CSSValueID contentEditableValueToUserModifyValue(const AtomicString&amp; value)
&gt; &gt; &gt; 
&gt; &gt; &gt; I think it would be better to base that off &quot;ContentEditableType&quot; with a switch().
&gt; &gt; &gt; 
&gt; &gt; &gt; Otherwise the tests are duplicated.
&gt; &gt; 
&gt; &gt; You mean adding a new enum type? Or you&apos;re talking about EUserModify, which
&gt; &gt; has three values?
&gt; 
&gt; I have added &quot;enum class ContentEditableType&quot; in HTMLElement to solve some
&gt; styling problems.
&gt; 
&gt; I think that *may* have everything you need.

Yes, indeed. Uploading a new patch...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072025</commentid>
    <comment_count>8</comment_count>
      <attachid>247326</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-25 02:28:14 -0800</bug_when>
    <thetext>Created attachment 247326
Updated per Ben&apos;s comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072092</commentid>
    <comment_count>9</comment_count>
      <attachid>247326</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-25 10:42:22 -0800</bug_when>
    <thetext>Comment on attachment 247326
Updated per Ben&apos;s comment

Clearing flags on attachment: 247326

Committed r180631: &lt;http://trac.webkit.org/changeset/180631&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072093</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-02-25 10:42:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247309</attachid>
            <date>2015-02-24 21:10:42 -0800</date>
            <delta_ts>2015-02-25 02:28:09 -0800</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-142003-20150224211030.patch</filename>
            <type>text/plain</type>
            <size>4090</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDYxMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAyLTI0ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhUTUxFbGVtZW50Ojpjb2xsZWN0
U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUgZHVwbGljYXRlcyBhIGxvdCBvZiBjb2RlIGZv
ciBjb250ZW50RWRpdGFibGVBdHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDIwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBFeHRyYWN0ZWQgY29udGVudEVkaXRhYmxlVmFsdWVUb1VzZXJNb2RpZnlW
YWx1ZSB0byByZWR1Y2UgdGhlIGNvZGUgZHVwbGljYXRpb24uCisKKyAgICAgICAgKiBodG1sL0hU
TUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRlbnRFZGl0YWJsZVZhbHVlVG9V
c2VyTW9kaWZ5VmFsdWUpOiBFeHRyYWN0ZWQgZnJvbSBjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRp
b25BdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxlbWVudDo6Y29sbGVjdFN0eWxl
Rm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKToKKwogMjAxNS0wMi0xOSAgUm9nZXIgRm9uZyAgPHJv
Z2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdMOiBEZXN0cm95IHRoZSBHTENvbnRl
eHQgaWYgYSBHUFUgcmVzdGFydCBoYXMgYmVlbiBkZXRlY3RlZC4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEVsZW1lbnQuY3BwCShyZXZpc2lvbiAxODA1MTkpCisrKyBTb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY3LDYgKzE2NywxNyBAQCBz
dGF0aWMgYm9vbCBpc0xUUk9yUlRMSWdub3JpbmdDYXNlKGNvbnN0CiAgICAgcmV0dXJuIGVxdWFs
SWdub3JpbmdDYXNlKGRpckF0dHJpYnV0ZVZhbHVlLCAicnRsIikgfHwgZXF1YWxJZ25vcmluZ0Nh
c2UoZGlyQXR0cmlidXRlVmFsdWUsICJsdHIiKTsKIH0KIAorc3RhdGljIENTU1ZhbHVlSUQgY29u
dGVudEVkaXRhYmxlVmFsdWVUb1VzZXJNb2RpZnlWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmIHZh
bHVlKQoreworICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkgfHwgZXF1YWxJZ25vcmluZ0Nhc2UodmFs
dWUsICJ0cnVlIikpCisgICAgICAgIHJldHVybiBDU1NWYWx1ZVJlYWRXcml0ZTsKKyAgICBpZiAo
ZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJwbGFpbnRleHQtb25seSIpKQorICAgICAgICByZXR1
cm4gQ1NTVmFsdWVSZWFkV3JpdGVQbGFpbnRleHRPbmx5OworICAgIGlmIChlcXVhbElnbm9yaW5n
Q2FzZSh2YWx1ZSwgImZhbHNlIikpCisgICAgICAgIHJldHVybiBDU1NWYWx1ZVJlYWRPbmx5Owor
ICAgIHJldHVybiBDU1NWYWx1ZUludmFsaWQ7Cit9CisKIHZvaWQgSFRNTEVsZW1lbnQ6OmNvbGxl
Y3RTdHlsZUZvclByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBNdXRhYmxlU3R5bGVQcm9wZXJ0aWVzJiBzdHls
ZSkKIHsKICAgICBpZiAobmFtZSA9PSBhbGlnbkF0dHIpIHsKQEAgLTE3NSwyNCArMTg2LDIzIEBA
IHZvaWQgSFRNTEVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZvclByZXNlbnQKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxl
LCBDU1NQcm9wZXJ0eVRleHRBbGlnbiwgdmFsdWUpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBj
b250ZW50ZWRpdGFibGVBdHRyKSB7Ci0gICAgICAgIGlmICh2YWx1ZS5pc0VtcHR5KCkgfHwgZXF1
YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJ0cnVlIikpIHsKLSAgICAgICAgICAgIGFkZFByb3BlcnR5
VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRVc2Vy
TW9kaWZ5LCBDU1NWYWx1ZVJlYWRXcml0ZSk7Ci0gICAgICAgICAgICBhZGRQcm9wZXJ0eVRvUHJl
c2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1Byb3BlcnR5V29yZFdyYXAsIENTU1Zh
bHVlQnJlYWtXb3JkKTsKLSAgICAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRy
aWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXROYnNwTW9kZSwgQ1NTVmFsdWVTcGFj
ZSk7Ci0gICAgICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUo
c3R5bGUsIENTU1Byb3BlcnR5V2Via2l0TGluZUJyZWFrLCBDU1NWYWx1ZUFmdGVyV2hpdGVTcGFj
ZSk7Ci0jaWYgUExBVEZPUk0oSU9TKQotICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRh
dGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTaXplQWRqdXN0
LCBDU1NWYWx1ZU5vbmUpOwotI2VuZGlmCi0gICAgICAgIH0gZWxzZSBpZiAoZXF1YWxJZ25vcmlu
Z0Nhc2UodmFsdWUsICJwbGFpbnRleHQtb25seSIpKSB7Ci0gICAgICAgICAgICBhZGRQcm9wZXJ0
eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1Byb3BlcnR5V2Via2l0VXNl
ck1vZGlmeSwgQ1NTVmFsdWVSZWFkV3JpdGVQbGFpbnRleHRPbmx5KTsKKyAgICAgICAgQ1NTVmFs
dWVJRCBjc3NWYWx1ZSA9IGNvbnRlbnRFZGl0YWJsZVZhbHVlVG9Vc2VyTW9kaWZ5VmFsdWUodmFs
dWUpOworICAgICAgICBzd2l0Y2ggKGNzc1ZhbHVlKSB7CisgICAgICAgIGNhc2UgQ1NTVmFsdWVS
ZWFkV3JpdGU6CisgICAgICAgIGNhc2UgQ1NTVmFsdWVSZWFkV3JpdGVQbGFpbnRleHRPbmx5Ogog
ICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxl
LCBDU1NQcm9wZXJ0eVdvcmRXcmFwLCBDU1NWYWx1ZUJyZWFrV29yZCk7CiAgICAgICAgICAgICBh
ZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1Byb3BlcnR5
V2Via2l0TmJzcE1vZGUsIENTU1ZhbHVlU3BhY2UpOwogICAgICAgICAgICAgYWRkUHJvcGVydHlU
b1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdExpbmVC
cmVhaywgQ1NTVmFsdWVBZnRlcldoaXRlU3BhY2UpOwogI2lmIFBMQVRGT1JNKElPUykKICAgICAg
ICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NT
UHJvcGVydHlXZWJraXRUZXh0U2l6ZUFkanVzdCwgQ1NTVmFsdWVOb25lKTsKICNlbmRpZgotICAg
ICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAiZmFsc2UiKSkKLSAgICAg
ICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NT
UHJvcGVydHlXZWJraXRVc2VyTW9kaWZ5LCBDU1NWYWx1ZVJlYWRPbmx5KTsKKyAgICAgICAgICAg
IEZBTExUSFJPVUdIOworICAgICAgICBjYXNlIENTU1ZhbHVlUmVhZE9ubHk6CisgICAgICAgICAg
ICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1Byb3Bl
cnR5V2Via2l0VXNlck1vZGlmeSwgY3NzVmFsdWUpOworICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQogICAgIH0gZWxzZSBp
ZiAobmFtZSA9PSBoaWRkZW5BdHRyKSB7CiAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRp
b25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUp
OwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBkcmFnZ2FibGVBdHRyKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247326</attachid>
            <date>2015-02-25 02:28:14 -0800</date>
            <delta_ts>2015-02-25 10:42:22 -0800</delta_ts>
            <desc>Updated per Ben&apos;s comment</desc>
            <filename>bug-142003-20150225022804.patch</filename>
            <type>text/plain</type>
            <size>5524</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDYyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDE1LTAyLTI0ICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIEhUTUxFbGVtZW50Ojpjb2xsZWN0
U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUgZHVwbGljYXRlcyBhIGxvdCBvZiBjb2RlIGZv
ciBjb250ZW50RWRpdGFibGVBdHRyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDIwMDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVdGlsaXplZCBjb250ZW50RWRpdGFibGVUeXBlIHRvIHJlZHVjZSB0aGUg
Y29kZSBkdXBsaWNhdGlvbi4KKworICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Y29udGVudEVkaXRhYmxlVHlwZSk6IE1vdmVkIGFuZCBhZGRlZCBhIHZl
cnNpb24gdGhhdCB0YWtlcyBBdG9taWNTdHJpbmcuCisgICAgICAgIChXZWJDb3JlOjpIVE1MRWxl
bWVudDo6Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKToKKwogMjAxNS0wMi0y
NSAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQVg6IElt
cGxlbWVudCBzdXBwb3J0IGZvciBBUklBIDEuMSAnc2VhcmNoYm94JyByb2xlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxFbGVtZW50LmNwcAkocmV2aXNpb24gMTgwNTE5KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE2Nyw2ICsxNjcs
MzIgQEAgc3RhdGljIGJvb2wgaXNMVFJPclJUTElnbm9yaW5nQ2FzZShjb25zdAogICAgIHJldHVy
biBlcXVhbElnbm9yaW5nQ2FzZShkaXJBdHRyaWJ1dGVWYWx1ZSwgInJ0bCIpIHx8IGVxdWFsSWdu
b3JpbmdDYXNlKGRpckF0dHJpYnV0ZVZhbHVlLCAibHRyIik7CiB9CiAKK2VudW0gY2xhc3MgQ29u
dGVudEVkaXRhYmxlVHlwZSB7CisgICAgSW5oZXJpdCwKKyAgICBUcnVlLAorICAgIEZhbHNlLAor
ICAgIFBsYWludGV4dE9ubHkKK307CisKK3N0YXRpYyBpbmxpbmUgQ29udGVudEVkaXRhYmxlVHlw
ZSBjb250ZW50RWRpdGFibGVUeXBlKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAg
aWYgKHZhbHVlLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6
SW5oZXJpdDsKKyAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZh
bHVlLCAidHJ1ZSIpKQorICAgICAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6VHJ1ZTsK
KyAgICBpZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJmYWxzZSIpKQorICAgICAgICByZXR1
cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6RmFsc2U7CisgICAgaWYgKGVxdWFsSWdub3JpbmdDYXNl
KHZhbHVlLCAicGxhaW50ZXh0LW9ubHkiKSkKKyAgICAgICAgcmV0dXJuIENvbnRlbnRFZGl0YWJs
ZVR5cGU6OlBsYWludGV4dE9ubHk7CisKKyAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6
SW5oZXJpdDsKK30KKworc3RhdGljIENvbnRlbnRFZGl0YWJsZVR5cGUgY29udGVudEVkaXRhYmxl
VHlwZShjb25zdCBIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICByZXR1cm4gY29udGVudEVk
aXRhYmxlVHlwZShlbGVtZW50LmZhc3RHZXRBdHRyaWJ1dGUoY29udGVudGVkaXRhYmxlQXR0cikp
OworfQorCiB2b2lkIEhUTUxFbGVtZW50Ojpjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSwgTXV0YWJsZVN0eWxlUHJvcGVydGllcyYgc3R5bGUpCiB7CiAgICAgaWYgKG5hbWUgPT0gYWxp
Z25BdHRyKSB7CkBAIC0xNzUsMjQgKzIwMSwyNiBAQCB2b2lkIEhUTUxFbGVtZW50Ojpjb2xsZWN0
U3R5bGVGb3JQcmVzZW50CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFkZFByb3BlcnR5VG9Q
cmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlUZXh0QWxpZ24sIHZh
bHVlKTsKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gY29udGVudGVkaXRhYmxlQXR0cikgewotICAg
ICAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAidHJ1
ZSIpKSB7Ci0gICAgICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5
bGUoc3R5bGUsIENTU1Byb3BlcnR5V2Via2l0VXNlck1vZGlmeSwgQ1NTVmFsdWVSZWFkV3JpdGUp
OwotICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0
eWxlLCBDU1NQcm9wZXJ0eVdvcmRXcmFwLCBDU1NWYWx1ZUJyZWFrV29yZCk7Ci0gICAgICAgICAg
ICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1Byb3Bl
cnR5V2Via2l0TmJzcE1vZGUsIENTU1ZhbHVlU3BhY2UpOwotICAgICAgICAgICAgYWRkUHJvcGVy
dHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdExp
bmVCcmVhaywgQ1NTVmFsdWVBZnRlcldoaXRlU3BhY2UpOwotI2lmIFBMQVRGT1JNKElPUykKLSAg
ICAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwg
Q1NTUHJvcGVydHlXZWJraXRUZXh0U2l6ZUFkanVzdCwgQ1NTVmFsdWVOb25lKTsKLSNlbmRpZgot
ICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAicGxhaW50ZXh0LW9u
bHkiKSkgewotICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0
eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdFVzZXJNb2RpZnksIENTU1ZhbHVlUmVhZFdyaXRl
UGxhaW50ZXh0T25seSk7CisgICAgICAgIENTU1ZhbHVlSUQgdXNlck1vZGlmeVZhbHVlID0gQ1NT
VmFsdWVSZWFkV3JpdGU7CisgICAgICAgIHN3aXRjaCAoY29udGVudEVkaXRhYmxlVHlwZSh2YWx1
ZSkpIHsKKyAgICAgICAgY2FzZSBDb250ZW50RWRpdGFibGVUeXBlOjpJbmhlcml0OgorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICBjYXNlIENvbnRlbnRFZGl0YWJsZVR5cGU6OkZhbHNlOgor
ICAgICAgICAgICAgdXNlck1vZGlmeVZhbHVlID0gQ1NTVmFsdWVSZWFkT25seTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIENvbnRlbnRFZGl0YWJsZVR5cGU6OlBsYWludGV4dE9u
bHk6CisgICAgICAgICAgICB1c2VyTW9kaWZ5VmFsdWUgPSBDU1NWYWx1ZVJlYWRXcml0ZVBsYWlu
dGV4dE9ubHk7CisgICAgICAgICAgICBGQUxMVEhST1VHSDsKKyAgICAgICAgY2FzZSBDb250ZW50
RWRpdGFibGVUeXBlOjpUcnVlOgogICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlv
bkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVdvcmRXcmFwLCBDU1NWYWx1ZUJyZWFr
V29yZCk7CiAgICAgICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5
bGUoc3R5bGUsIENTU1Byb3BlcnR5V2Via2l0TmJzcE1vZGUsIENTU1ZhbHVlU3BhY2UpOwogICAg
ICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBD
U1NQcm9wZXJ0eVdlYmtpdExpbmVCcmVhaywgQ1NTVmFsdWVBZnRlcldoaXRlU3BhY2UpOwogI2lm
IFBMQVRGT1JNKElPUykKICAgICAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRy
aWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRUZXh0U2l6ZUFkanVzdCwgQ1NTVmFs
dWVOb25lKTsKICNlbmRpZgotICAgICAgICB9IGVsc2UgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZh
bHVlLCAiZmFsc2UiKSkKLSAgICAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRy
aWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRVc2VyTW9kaWZ5LCBDU1NWYWx1ZVJl
YWRPbmx5KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgICAgIGFkZFByb3Bl
cnR5VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHlsZShzdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRV
c2VyTW9kaWZ5LCB1c2VyTW9kaWZ5VmFsdWUpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBoaWRk
ZW5BdHRyKSB7CiAgICAgICAgIGFkZFByb3BlcnR5VG9QcmVzZW50YXRpb25BdHRyaWJ1dGVTdHls
ZShzdHlsZSwgQ1NTUHJvcGVydHlEaXNwbGF5LCBDU1NWYWx1ZU5vbmUpOwogICAgIH0gZWxzZSBp
ZiAobmFtZSA9PSBkcmFnZ2FibGVBdHRyKSB7CkBAIC0zMzksMjkgKzM2Nyw2IEBAIHZvaWQgSFRN
TEVsZW1lbnQ6OnBvcHVsYXRlRXZlbnROYW1lRm9yQXQKICAgICAgICAgbWFwLmFkZChjdXN0b21U
YWJsZVtpXS5hdHRyaWJ1dGVOYW1lLmxvY2FsTmFtZSgpLmltcGwoKSwgY3VzdG9tVGFibGVbaV0u
ZXZlbnROYW1lKTsKIH0KIAotZW51bSBjbGFzcyBDb250ZW50RWRpdGFibGVUeXBlIHsKLSAgICBJ
bmhlcml0LAotICAgIFRydWUsCi0gICAgRmFsc2UsCi0gICAgUGxhaW50ZXh0T25seQotfTsKLQot
c3RhdGljIENvbnRlbnRFZGl0YWJsZVR5cGUgY29udGVudEVkaXRhYmxlVHlwZShjb25zdCBIVE1M
RWxlbWVudCYgZWxlbWVudCkKLXsKLSAgICBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlID0gZWxl
bWVudC5mYXN0R2V0QXR0cmlidXRlKGNvbnRlbnRlZGl0YWJsZUF0dHIpOwotCi0gICAgaWYgKHZh
bHVlLmlzTnVsbCgpKQotICAgICAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6SW5oZXJp
dDsKLSAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8IGVxdWFsSWdub3JpbmdDYXNlKHZhbHVlLCAi
dHJ1ZSIpKQotICAgICAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6VHJ1ZTsKLSAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UodmFsdWUsICJmYWxzZSIpKQotICAgICAgICByZXR1cm4gQ29u
dGVudEVkaXRhYmxlVHlwZTo6RmFsc2U7Ci0gICAgaWYgKGVxdWFsSWdub3JpbmdDYXNlKHZhbHVl
LCAicGxhaW50ZXh0LW9ubHkiKSkKLSAgICAgICAgcmV0dXJuIENvbnRlbnRFZGl0YWJsZVR5cGU6
OlBsYWludGV4dE9ubHk7Ci0KLSAgICByZXR1cm4gQ29udGVudEVkaXRhYmxlVHlwZTo6SW5oZXJp
dDsKLX0KLQogYm9vbCBIVE1MRWxlbWVudDo6bWF0Y2hlc1JlYWRXcml0ZVBzZXVkb0NsYXNzKCkg
Y29uc3QKIHsKICAgICBjb25zdCBFbGVtZW50KiBjdXJyZW50RWxlbWVudCA9IHRoaXM7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>