<?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>23466</bug_id>
          
          <creation_ts>2009-01-21 16:16:45 -0800</creation_ts>
          <short_desc>WebKit editing commands should remove empty (attribute-less) span tags (like FF does)</short_desc>
          <delta_ts>2009-02-03 17:37:09 -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>Mac</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Eric Seidel (no email)">eric</assigned_to>
          <cc>jparent</cc>
    
    <cc>justin.garcia</cc>
    
    <cc>ojan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>106536</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-21 16:16:45 -0800</bug_when>
    <thetext>WebKit editing commands should remove empty (attribute-less) span tags (like FF does) 

Right now we do something like this:

&lt;span style=&quot;font-weight: bold&quot;&gt;test&lt;/span&gt;

document.execCommand(&quot;bold&quot;, false, null);

&lt;span&gt;test&lt;/span&gt;

where as FF would remove the same &lt;span&gt; tags.  After talking with Ojan and Julie here @ the Goog (who have both written a lot of JS HTML Editing code), we agree that FF&apos;s behavior is more what authors will like.  Authors can trivially cause us to leave the &lt;span&gt; tags, but adding any attribute.  For example &lt;span a&gt; would cause us to leave the span tag instead of removing it (after my fix).

Test case (and fix) forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106660</commentid>
    <comment_count>1</comment_count>
      <attachid>26946</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-01-22 16:34:13 -0800</bug_when>
    <thetext>Created attachment 26946
Remove &lt;span&gt; turds left by editing commands

 LayoutTests/ChangeLog                              |   12 ++++++
 .../execCommand/empty-span-removal-expected.txt    |   14 +++++++
 .../editing/execCommand/empty-span-removal.html    |   13 ++++++
 .../execCommand/resources/empty-span-removal.js    |   40 ++++++++++++++++++++
 .../editing/execCommand/toggle-styles-expected.txt |   12 +++---
 WebCore/ChangeLog                                  |   21 ++++++++++
 WebCore/editing/ApplyStyleCommand.cpp              |   28 +++++++++++---
 7 files changed, 128 insertions(+), 12 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>108218</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-02-03 17:37:09 -0800</bug_when>
    <thetext>Already landed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26946</attachid>
            <date>2009-01-22 16:34:13 -0800</date>
            <delta_ts>2009-01-22 16:41:35 -0800</delta_ts>
            <desc>Remove &lt;span&gt; turds left by editing commands</desc>
            <filename>Remove-span-turds-left-by-editing-commands.patch</filename>
            <type>text/plain</type>
            <size>11722</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">MmJlNDJmOWU1YTQ4ZDQxMmUyOGIxZDkxZjAzMjU3NjE1MDA4MDg4NApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc4ODJiZTUu
LmNhNmI2MmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0wMS0yMiAgRXJpYyBTZWlkZWwg
IDxlcmljQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVtb3ZlIDxzcGFuPiB0dXJkcyBsZWZ0IGJ5IGVkaXRpbmcgY29tbWFuZHMK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDY2CisK
KyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL2VtcHR5LXNwYW4tcmVtb3ZhbC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvZW1wdHktc3Bhbi1y
ZW1vdmFsLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvcmVzb3Vy
Y2VzL2VtcHR5LXNwYW4tcmVtb3ZhbC5qczogQWRkZWQuCisgICAgICAgICogZWRpdGluZy9leGVj
Q29tbWFuZC90b2dnbGUtc3R5bGVzLWV4cGVjdGVkLnR4dDogVXBkYXRlZC4KKwogMjAwOS0wMS0y
MSAgR2F2aW4gQmFycmFjbG91Z2ggIDxiYXJyYWNsb3VnaEBhcHBsZS5jb20+CiAKICAgICAgICAg
UnViYmVyIHN0YW1wZWQgYnkgR2VvZmYgIkNhbWVyb24gWndhcmljaCIgR2FyZW4uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2VtcHR5LXNwYW4tcmVtb3ZhbC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2VtcHR5LXNwYW4t
cmVtb3ZhbC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NjQ4MGJmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1h
bmQvZW1wdHktc3Bhbi1yZW1vdmFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACitUZXN0
IHRvIG1ha2Ugc3VyZSB3ZSByZW1vdmUgc3BhbiB0YWdzIHdpdGggbm8gYXR0cmlidXRlcyBpZiB3
ZSByZW1vdmVkIHRoZSBsYXN0IGF0dHJpYnV0ZS4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK1BBU1Mgb25lIGJvbGQgY29tbWFuZCBjb252ZXJ0ZWQgPHNwYW4+PHNwYW4gc3R5bGU9
J2ZvbnQtd2VpZ2h0OiBib2xkJz50ZXN0PC9zcGFuPjwvc3Bhbj4gdG8gPHNwYW4+dGVzdDwvc3Bh
bj4KK1BBU1Mgb25lIGJvbGQgY29tbWFuZCBjb252ZXJ0ZWQgPHNwYW4gc3R5bGU9J2ZvbnQtd2Vp
Z2h0OiBib2xkJz48c3Bhbj50ZXN0PC9zcGFuPjwvc3Bhbj4gdG8gPHNwYW4+dGVzdDwvc3Bhbj4K
K1BBU1Mgb25lIGJvbGQgY29tbWFuZCBjb252ZXJ0ZWQgPHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0
OiBib2xkJz48c3BhbiBzdHlsZT0nZm9udC13ZWlnaHQ6IGJvbGQnPnRlc3Q8L3NwYW4+PC9zcGFu
PiB0byB0ZXN0CitQQVNTIG9uZSBib2xkIGNvbW1hbmQgY29udmVydGVkIDxzcGFuIGZvbz0iYmFy
IiBzdHlsZT0nZm9udC13ZWlnaHQ6IGJvbGQnPnRlc3Q8L3NwYW4+IHRvIDxzcGFuIGZvbz0iYmFy
Ij50ZXN0PC9zcGFuPgorUEFTUyB0d28gYm9sZCBjb21tYW5kcyBjb252ZXJ0ZWQgPHNwYW4+dGVz
dDwvc3Bhbj4gdG8gPHNwYW4+dGVzdDwvc3Bhbj4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5n
L2V4ZWNDb21tYW5kL2VtcHR5LXNwYW4tcmVtb3ZhbC5odG1sIGIvTGF5b3V0VGVzdHMvZWRpdGlu
Zy9leGVjQ29tbWFuZC9lbXB0eS1zcGFuLXJlbW92YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5lYTYyNWU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9lbXB0eS1zcGFuLXJlbW92YWwuaHRtbApAQCAtMCwwICsxLDEz
IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1MLy9FTiI+Cis8aHRt
bD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9lbXB0eS1zcGFuLXJlbW92YWwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21t
YW5kL3Jlc291cmNlcy9lbXB0eS1zcGFuLXJlbW92YWwuanMgYi9MYXlvdXRUZXN0cy9lZGl0aW5n
L2V4ZWNDb21tYW5kL3Jlc291cmNlcy9lbXB0eS1zcGFuLXJlbW92YWwuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JiOGQ5NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVzb3VyY2VzL2VtcHR5LXNwYW4tcmVtb3ZhbC5q
cwpAQCAtMCwwICsxLDQwIEBACitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtlIHN1cmUgd2UgcmVt
b3ZlIHNwYW4gdGFncyB3aXRoIG5vIGF0dHJpYnV0ZXMgaWYgd2UgcmVtb3ZlZCB0aGUgbGFzdCBh
dHRyaWJ1dGUuIikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2RvY3VtZW50
LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK2Z1bmN0aW9uIHRlc3RTaW5nbGVU
b2dnbGUodG9nZ2xlQ29tbWFuZCwgaW5pdGlhbENvbnRlbnRzLCBleHBlY3RlZENvbnRlbnRzKQor
eworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gaW5pdGlhbENvbnRlbnRzOworICAgIHdp
bmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbih0ZXN0Q29udGFpbmVyKTsKKyAg
ICBkb2N1bWVudC5leGVjQ29tbWFuZCh0b2dnbGVDb21tYW5kLCBmYWxzZSwgbnVsbCk7CisgICAg
aWYgKHRlc3RDb250YWluZXIuaW5uZXJIVE1MID09PSBleHBlY3RlZENvbnRlbnRzKSB7CisgICAg
ICAgIHRlc3RQYXNzZWQoIm9uZSAiICsgdG9nZ2xlQ29tbWFuZCArICIgY29tbWFuZCBjb252ZXJ0
ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8gIiArIGV4cGVjdGVkQ29udGVudHMpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQoIm9uZSAiICsgdG9nZ2xlQ29tbWFuZCArICIg
Y29tbWFuZCBjb252ZXJ0ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8gIiArIHRlc3RDb250
YWluZXIuaW5uZXJIVE1MICsgIiwgZXhwZWN0ZWQgIiArIGV4cGVjdGVkQ29udGVudHMpOworICAg
IH0KK30KKworZnVuY3Rpb24gdGVzdERvdWJsZVRvZ2dsZSh0b2dnbGVDb21tYW5kLCBpbml0aWFs
Q29udGVudHMsIGV4cGVjdGVkQ29udGVudHMpCit7CisgICAgdGVzdENvbnRhaW5lci5pbm5lckhU
TUwgPSBpbml0aWFsQ29udGVudHM7CisgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNlbGVjdEFs
bENoaWxkcmVuKHRlc3RDb250YWluZXIpOworICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKHRvZ2ds
ZUNvbW1hbmQsIGZhbHNlLCBudWxsKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCh0b2dnbGVD
b21tYW5kLCBmYWxzZSwgbnVsbCk7CisgICAgaWYgKHRlc3RDb250YWluZXIuaW5uZXJIVE1MID09
PSBleHBlY3RlZENvbnRlbnRzKSB7CisgICAgICAgIHRlc3RQYXNzZWQoInR3byAiICsgdG9nZ2xl
Q29tbWFuZCArICIgY29tbWFuZHMgY29udmVydGVkICIgKyBpbml0aWFsQ29udGVudHMgKyAiIHRv
ICIgKyBleHBlY3RlZENvbnRlbnRzKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0RmFpbGVk
KCJ0d28gIiArIHRvZ2dsZUNvbW1hbmQgKyAiIGNvbW1hbmRzIGNvbnZlcnRlZCAiICsgaW5pdGlh
bENvbnRlbnRzICsgIiB0byAiICsgdGVzdENvbnRhaW5lci5pbm5lckhUTUwgKyAiLCBleHBlY3Rl
ZCAiICsgZXhwZWN0ZWRDb250ZW50cyk7CisgICAgfQorfQorCit0ZXN0U2luZ2xlVG9nZ2xlKCJi
b2xkIiwgIjxzcGFuPjxzcGFuIHN0eWxlPSdmb250LXdlaWdodDogYm9sZCc+dGVzdDwvc3Bhbj48
L3NwYW4+IiwgIjxzcGFuPnRlc3Q8L3NwYW4+Iik7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJib2xkIiwg
IjxzcGFuIHN0eWxlPSdmb250LXdlaWdodDogYm9sZCc+PHNwYW4+dGVzdDwvc3Bhbj48L3NwYW4+
IiwgIjxzcGFuPnRlc3Q8L3NwYW4+Iik7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJib2xkIiwgIjxzcGFu
IHN0eWxlPSdmb250LXdlaWdodDogYm9sZCc+PHNwYW4gc3R5bGU9J2ZvbnQtd2VpZ2h0OiBib2xk
Jz50ZXN0PC9zcGFuPjwvc3Bhbj4iLCAidGVzdCIpOwordGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIs
ICI8c3BhbiBmb289XCJiYXJcIiBzdHlsZT0nZm9udC13ZWlnaHQ6IGJvbGQnPnRlc3Q8L3NwYW4+
IiwgIjxzcGFuIGZvbz1cImJhclwiPnRlc3Q8L3NwYW4+Iik7Cit0ZXN0RG91YmxlVG9nZ2xlKCJi
b2xkIiwgIjxzcGFuPnRlc3Q8L3NwYW4+IiwgIjxzcGFuPnRlc3Q8L3NwYW4+Iik7CisKK2RvY3Vt
ZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFu
ZC90b2dnbGUtc3R5bGVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvdG9nZ2xlLXN0eWxlcy1leHBlY3RlZC50eHQKaW5kZXggZTRjNGRiMC4uMzg1ZjI0NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGVz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2ds
ZS1zdHlsZXMtZXhwZWN0ZWQudHh0CkBAIC02LDI1ICs2LDI1IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFCiBQQVNTIGRvY3VtZW50LmNvbXBhdE1vZGUgaXMgIkJhY2tDb21wYXQiCiBQQVNTIGJv
bGQgdG9nZ2xlCiBQQVNTIGJvbGQgcmVtb3ZpbmcgYgotRkFJTCBib2xkIHJlbW92aW5nIGZvbnQt
d2VpZ2h0OiBib2xkIC0tIDxzcGFuPnRlc3Q8L3NwYW4+CitQQVNTIGJvbGQgcmVtb3ZpbmcgZm9u
dC13ZWlnaHQ6IGJvbGQKIEZBSUwgYm9sZCByZW1vdmluZyBzdHJvbmcgLS0gPHN0cm9uZz48c3Bh
biBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiIgc3R5bGU9ImZvbnQtd2VpZ2h0OiBub3JtYWw7Ij50
ZXN0PC9zcGFuPjwvc3Ryb25nPgogUEFTUyBpdGFsaWMgdG9nZ2xlCiBQQVNTIGl0YWxpYyByZW1v
dmluZyBpCi1GQUlMIGl0YWxpYyByZW1vdmluZyBmb250LXN0eWxlOiBpdGFsaWMgLS0gPHNwYW4+
dGVzdDwvc3Bhbj4KK1BBU1MgaXRhbGljIHJlbW92aW5nIGZvbnQtc3R5bGU6IGl0YWxpYwogRkFJ
TCBpdGFsaWMgcmVtb3ZpbmcgZW0gLS0gPGVtPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFu
IiBzdHlsZT0iZm9udC1zdHlsZTogbm9ybWFsOyI+dGVzdDwvc3Bhbj48L2VtPgogUEFTUyBzdWJz
Y3JpcHQgdG9nZ2xlCiBQQVNTIHN1YnNjcmlwdCByZW1vdmluZyBzdWIKLUZBSUwgc3Vic2NyaXB0
IHJlbW92aW5nIHZlcnRpY2FsLWFsaWduOiBzdWIgLS0gPHNwYW4+dGVzdDwvc3Bhbj4KK1BBU1Mg
c3Vic2NyaXB0IHJlbW92aW5nIHZlcnRpY2FsLWFsaWduOiBzdWIKIFBBU1Mgc3VwZXJzY3JpcHQg
dG9nZ2xlCiBQQVNTIHN1cGVyc2NyaXB0IHJlbW92aW5nIHN1cAotRkFJTCBzdXBlcnNjcmlwdCBy
ZW1vdmluZyB2ZXJ0aWNhbC1hbGlnbjogc3VwZXIgLS0gPHNwYW4+dGVzdDwvc3Bhbj4KK1BBU1Mg
c3VwZXJzY3JpcHQgcmVtb3ZpbmcgdmVydGljYWwtYWxpZ246IHN1cGVyCiBQQVNTIHN0cmlrZXRo
cm91Z2ggdG9nZ2xlCiBGQUlMIHN0cmlrZXRocm91Z2ggcmVtb3Zpbmcgc3RyaWtlIC0tIDxzdHJp
a2U+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246
IG5vbmU7Ij50ZXN0PC9zcGFuPjwvc3RyaWtlPgotRkFJTCBzdHJpa2V0aHJvdWdoIHJlbW92aW5n
IHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoIC0tIDxzcGFuPnRlc3Q8L3NwYW4+CitQQVNT
IHN0cmlrZXRocm91Z2ggcmVtb3ZpbmcgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2gKIEZB
SUwgc3RyaWtldGhyb3VnaCByZW1vdmluZyBzIC0tIDxzPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHls
ZS1zcGFuIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+dGVzdDwvc3Bhbj48L3M+CiBQ
QVNTIHVuZGVybGluZSB0b2dnbGUKIEZBSUwgdW5kZXJsaW5lIHJlbW92aW5nIHUgLS0gPHU+PHNw
YW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246IG5vbmU7
Ij50ZXN0PC9zcGFuPjwvdT4KLUZBSUwgdW5kZXJsaW5lIHJlbW92aW5nIHRleHQtZGVjb3JhdGlv
bjogdW5kZXJsaW5lIC0tIDxzcGFuPnRlc3Q8L3NwYW4+CitQQVNTIHVuZGVybGluZSByZW1vdmlu
ZyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDgwZjM5MDEuLmE3MWQ1YmUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MDktMDEtMjIgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSA8c3Bhbj4gdHVyZHMgbGVm
dCBieSBlZGl0aW5nIGNvbW1hbmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzQ2NgorCisgICAgICAgIFRlc3RzOgorICAgICAgICAqIGVkaXRpbmcv
ZXhlY0NvbW1hbmQvZW1wdHktc3Bhbi1yZW1vdmFsLmh0bWwKKyAgICAgICAgKiBlZGl0aW5nL2V4
ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZXMuaHRtbAorCisgICAgICAgICogZWRpdGluZy9BcHBseVN0
eWxlQ29tbWFuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHlsZVNwYW5DbGFzc1N0cmluZyk6
CisgICAgICAgIChXZWJDb3JlOjppc1N0eWxlU3Bhbik6CisgICAgICAgIChXZWJDb3JlOjppc1Vu
c3R5bGVkU3R5bGVTcGFuKToKKyAgICAgICAgKFdlYkNvcmU6OmlzU3BhbldpdGhvdXRBdHRyaWJ1
dGVzT3JVbnN0eWxlU3R5bGVTcGFuKToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21t
YW5kOjphcHBseVJlbGF0aXZlRm9udFN0eWxlQ2hhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OkFw
cGx5U3R5bGVDb21tYW5kOjpyZW1vdmVFbWJlZGRpbmdVcFRvRW5jbG9zaW5nQmxvY2spOgorICAg
ICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnJlbW92ZUhUTUxCaWRpRW1iZWRkaW5n
U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnJlbW92ZUNTU1N0
eWxlKToKKwogMjAwOS0wMS0yMiAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEp1c3RpbiBHYXJjaWEuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwIGIvV2ViQ29yZS9lZGl0aW5nL0FwcGx5
U3R5bGVDb21tYW5kLmNwcAppbmRleCA4YzJkZDFkLi5lY2EyOTk5IDEwMDY0NAotLS0gYS9XZWJD
b3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCisrKyBiL1dlYkNvcmUvZWRpdGluZy9B
cHBseVN0eWxlQ29tbWFuZC5jcHAKQEAgLTI1MSw3ICsyNTEsNyBAQCBib29sIFN0eWxlQ2hhbmdl
OjpjdXJyZW50bHlIYXNTdHlsZShjb25zdCBQb3NpdGlvbiAmcG9zLCBjb25zdCBDU1NQcm9wZXJ0
eSAqcHJvcAogICAgIHJldHVybiBlcXVhbElnbm9yaW5nQ2FzZSh2YWx1ZS0+Y3NzVGV4dCgpLCBw
cm9wZXJ0eS0+dmFsdWUoKS0+Y3NzVGV4dCgpKTsKIH0KIAotc3RhdGljIFN0cmluZyAmc3R5bGVT
cGFuQ2xhc3NTdHJpbmcoKQorc3RhdGljIFN0cmluZyYgc3R5bGVTcGFuQ2xhc3NTdHJpbmcoKQog
ewogICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBzdHlsZVNwYW5DbGFzc1N0cmluZywg
KChBcHBsZVN0eWxlU3BhbkNsYXNzKSkpOwogICAgIHJldHVybiBzdHlsZVNwYW5DbGFzc1N0cmlu
ZzsKQEAgLTI2MiwyMCArMjYyLDMzIEBAIGJvb2wgaXNTdHlsZVNwYW4oY29uc3QgTm9kZSAqbm9k
ZSkKICAgICBpZiAoIW5vZGUgfHwgIW5vZGUtPmlzSFRNTEVsZW1lbnQoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCi0gICAgY29uc3QgSFRNTEVsZW1lbnQgKmVsZW0gPSBzdGF0aWNfY2FzdDxj
b25zdCBIVE1MRWxlbWVudCAqPihub2RlKTsKKyAgICBjb25zdCBIVE1MRWxlbWVudCogZWxlbSA9
IHN0YXRpY19jYXN0PGNvbnN0IEhUTUxFbGVtZW50Kj4obm9kZSk7CiAgICAgcmV0dXJuIGVsZW0t
Pmhhc0xvY2FsTmFtZShzcGFuQXR0cikgJiYgZWxlbS0+Z2V0QXR0cmlidXRlKGNsYXNzQXR0cikg
PT0gc3R5bGVTcGFuQ2xhc3NTdHJpbmcoKTsKIH0KIAotc3RhdGljIGJvb2wgaXNVbnN0eWxlZFN0
eWxlU3Bhbihjb25zdCBOb2RlICpub2RlKQorc3RhdGljIGJvb2wgaXNVbnN0eWxlZFN0eWxlU3Bh
bihjb25zdCBOb2RlKiBub2RlKQogewogICAgIGlmICghbm9kZSB8fCAhbm9kZS0+aXNIVE1MRWxl
bWVudCgpIHx8ICFub2RlLT5oYXNUYWdOYW1lKHNwYW5UYWcpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBjb25zdCBIVE1MRWxlbWVudCAqZWxlbSA9IHN0YXRpY19jYXN0PGNvbnN0IEhU
TUxFbGVtZW50ICo+KG5vZGUpOwotICAgIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uICppbmxp
bmVTdHlsZURlY2wgPSBlbGVtLT5pbmxpbmVTdHlsZURlY2woKTsKKyAgICBjb25zdCBIVE1MRWxl
bWVudCogZWxlbSA9IHN0YXRpY19jYXN0PGNvbnN0IEhUTUxFbGVtZW50Kj4obm9kZSk7CisgICAg
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGlubGluZVN0eWxlRGVjbCA9IGVsZW0tPmlubGlu
ZVN0eWxlRGVjbCgpOwogICAgIHJldHVybiAoIWlubGluZVN0eWxlRGVjbCB8fCBpbmxpbmVTdHls
ZURlY2wtPmxlbmd0aCgpID09IDApICYmIGVsZW0tPmdldEF0dHJpYnV0ZShjbGFzc0F0dHIpID09
IHN0eWxlU3BhbkNsYXNzU3RyaW5nKCk7CiB9CiAKK3N0YXRpYyBib29sIGlzU3BhbldpdGhvdXRB
dHRyaWJ1dGVzT3JVbnN0eWxlU3R5bGVTcGFuKGNvbnN0IE5vZGUqIG5vZGUpCit7CisgICAgaWYg
KCFub2RlIHx8ICFub2RlLT5pc0hUTUxFbGVtZW50KCkgfHwgIW5vZGUtPmhhc1RhZ05hbWUoc3Bh
blRhZykpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGNvbnN0IEhUTUxFbGVtZW50KiBl
bGVtID0gc3RhdGljX2Nhc3Q8Y29uc3QgSFRNTEVsZW1lbnQqPihub2RlKTsKKyAgICBOYW1lZEF0
dHJNYXAqIGF0dHJpYnV0ZXMgPSBlbGVtLT5hdHRyaWJ1dGVzKHRydWUpOyAvLyByZWFkb25seQor
ICAgIGlmIChhdHRyaWJ1dGVzLT5sZW5ndGgoKSA9PSAwKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KworICAgIHJldHVybiBpc1Vuc3R5bGVkU3R5bGVTcGFuKG5vZGUpOworfQorCiBzdGF0aWMgYm9v
bCBpc0VtcHR5Rm9udFRhZyhjb25zdCBOb2RlICpub2RlKQogewogICAgIGlmICghbm9kZSB8fCAh
bm9kZS0+aGFzVGFnTmFtZShmb250VGFnKSkKQEAgLTU3MCw2ICs1ODMsNyBAQCB2b2lkIEFwcGx5
U3R5bGVDb21tYW5kOjphcHBseVJlbGF0aXZlRm9udFN0eWxlQ2hhbmdlKENTU011dGFibGVTdHls
ZURlY2xhcmF0aW9uCiAgICAgICAgIH0KICAgICAgICAgaWYgKGlubGluZVN0eWxlRGVjbC0+bGVu
Z3RoKCkgPT0gMCkgewogICAgICAgICAgICAgcmVtb3ZlTm9kZUF0dHJpYnV0ZShlbGVtZW50Lmdl
dCgpLCBzdHlsZUF0dHIpOworICAgICAgICAgICAgLy8gRklYTUU6IHNob3VsZCB0aGlzIGJlIGlz
U3BhbldpdGhvdXRBdHRyaWJ1dGVzT3JVbnN0eWxlU3R5bGVTcGFuPyAgTmVlZCBhIHRlc3QuCiAg
ICAgICAgICAgICBpZiAoaXNVbnN0eWxlZFN0eWxlU3BhbihlbGVtZW50LmdldCgpKSkKICAgICAg
ICAgICAgICAgICB1bnN0eWxlZFNwYW5zLmFwcGVuZChlbGVtZW50LnJlbGVhc2UoKSk7CiAgICAg
ICAgIH0KQEAgLTY5NCw2ICs3MDgsNyBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjpyZW1vdmVF
bWJlZGRpbmdVcFRvRW5jbG9zaW5nQmxvY2soTm9kZSogbm9kZSwgTm9kZSogdW5zcAogICAgICAg
ICAgICAgICAgICAgICBpbmxpbmVTdHlsZS0+c2V0UHJvcGVydHkoQ1NTUHJvcGVydHlVbmljb2Rl
QmlkaSwgQ1NTVmFsdWVOb3JtYWwpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVTdHlsZS0+
cmVtb3ZlUHJvcGVydHkoQ1NTUHJvcGVydHlEaXJlY3Rpb24pOwogICAgICAgICAgICAgICAgICAg
ICBzZXROb2RlQXR0cmlidXRlKGVsZW1lbnQsIHN0eWxlQXR0ciwgaW5saW5lU3R5bGUtPmNzc1Rl
eHQoKSk7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBzaG91bGQgdGhpcyBiZSBpc1Nw
YW5XaXRob3V0QXR0cmlidXRlc09yVW5zdHlsZVN0eWxlU3Bhbj8gIE5lZWQgYSB0ZXN0LgogICAg
ICAgICAgICAgICAgICAgICBpZiAoaXNVbnN0eWxlZFN0eWxlU3BhbihlbGVtZW50KSkKICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlbW92ZU5vZGVQcmVzZXJ2aW5nQ2hpbGRyZW4oZWxlbWVudCk7
CiAgICAgICAgICAgICAgICAgfQpAQCAtMTAwOSw2ICsxMDI0LDcgQEAgdm9pZCBBcHBseVN0eWxl
Q29tbWFuZDo6cmVtb3ZlSFRNTEJpZGlFbWJlZGRpbmdTdHlsZShDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbgogCiAgICAgcmVtb3ZlTm9kZUF0dHJpYnV0ZShlbGVtLCBkaXJBdHRyKTsKIAorICAg
IC8vIEZJWE1FOiBzaG91bGQgdGhpcyBiZSBpc1NwYW5XaXRob3V0QXR0cmlidXRlc09yVW5zdHls
ZVN0eWxlU3Bhbj8gIE5lZWQgYSB0ZXN0LgogICAgIGlmIChpc1Vuc3R5bGVkU3R5bGVTcGFuKGVs
ZW0pKQogICAgICAgICByZW1vdmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuKGVsZW0pOwogfQpAQCAt
MTAzNyw3ICsxMDUzLDcgQEAgdm9pZCBBcHBseVN0eWxlQ29tbWFuZDo6cmVtb3ZlQ1NTU3R5bGUo
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIHN0eWxlLCBIVE1MRWwKICAgICBpZiAoZGVjbC0+
bGVuZ3RoKCkgPT0gMCkKICAgICAgICAgcmVtb3ZlTm9kZUF0dHJpYnV0ZShlbGVtLCBzdHlsZUF0
dHIpOwogCi0gICAgaWYgKGlzVW5zdHlsZWRTdHlsZVNwYW4oZWxlbSkpCisgICAgaWYgKGlzU3Bh
bldpdGhvdXRBdHRyaWJ1dGVzT3JVbnN0eWxlU3R5bGVTcGFuKGVsZW0pKQogICAgICAgICByZW1v
dmVOb2RlUHJlc2VydmluZ0NoaWxkcmVuKGVsZW0pOwogfQogCg==
</data>
<flag name="review"
          id="12908"
          type_id="1"
          status="+"
          setter="justin.garcia"
    />
          </attachment>
      

    </bug>

</bugzilla>