<?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>136323</bug_id>
          
          <creation_ts>2014-08-27 17:11:43 -0700</creation_ts>
          <short_desc>textStylingAtPosition returns incorrect values after executing toggleBold, toggleItalic and toggleUnderline</short_desc>
          <delta_ts>2015-01-06 12:39:49 -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>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>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>ddkilzer</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1031850</commentid>
    <comment_count>0</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-08-27 17:11:43 -0700</bug_when>
    <thetext>textStylingAtPosition should always reflect the current style. It returns incorrect values when called after executing one of the toggle styling commands.

rdar://problem/18141964</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031852</commentid>
    <comment_count>1</comment_count>
      <attachid>237272</attachid>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-08-27 17:22:06 -0700</bug_when>
    <thetext>Created attachment 237272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031863</commentid>
    <comment_count>2</comment_count>
      <attachid>237272</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2014-08-27 17:58:07 -0700</bug_when>
    <thetext>Comment on attachment 237272
Patch

Looks good.

It would be nice if we could at some point have only one copy of this and perhaps also eliminate the whole insert-and-remove-span-to-figure-out-style hack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059121</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-06 12:39:49 -0800</bug_when>
    <thetext>Committed revision 173071.
&lt;http://trac.webkit.org/changeset/173071&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237272</attachid>
            <date>2014-08-27 17:22:06 -0700</date>
            <delta_ts>2014-08-27 17:58:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>togglestyle.txt</filename>
            <type>text/plain</type>
            <size>6462</size>
            <attacher name="Enrica Casucci">enrica</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3MzAzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE0LTA4LTI3ICBFbnJpY2Eg
Q2FzdWNjaSAgPGVucmljYUBhcHBsZS5jb20+CisKKyAgICAgICAgdGV4dFN0eWxpbmdBdFBvc2l0
aW9uIHJldHVybnMgaW5jb3JyZWN0IHZhbHVlcyBhZnRlciBleGVjdXRpbmcgdG9nZ2xlQm9sZCwg
dG9nZ2xlSXRhbGljIGFuZCB0b2dnbGVVbmRlcmxpbmUuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzYzMjMKKyAgICAgICAgcmRhcjovL3Byb2JsZW0v
MTgxNDE5NjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBGb3IgdW5kZXJsaW5lIHN0eWxlIHdlIG5lZWQgdG8gY2hlY2sgdHlwaW5nU3R5bGUgZmlyc3Qg
YW5kIHVzZSB0aGF0IGluZm9ybWF0aW9uIHRvIHBvcHVsYXRlCisgICAgICAgIHRoZSBkaWN0aW9u
YXJ5LiBJZiB0aGVyZSBpcyBubyB0eXBpbmcgc3R5bGUgd2UgY2FuIHVzZSB0aGUgcmVuZGVyIHN0
eWxlLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogZWRpdGluZy9pb3Mv
RWRpdG9ySU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6RWRpdG9yOjpmb250QXR0cmlidXRlc0Zv
clNlbGVjdGlvblN0YXJ0KToKKwogMjAxNC0wOC0yNyAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFN1YnBpeGVsIGxheW91dDogUmVuYW1lIExheW91dFNpemUncyBk
ZXZpY2UgcGl4ZWwgc25hcHBpbmcgZnVuY3Rpb25zLgpJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4J
KHJldmlzaW9uIDE3Mjc1NikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNzUxLDYgKzE3NTEsNyBAQCBfX1pOSzdXZWJDb3JlMTVQcm90ZWN0aW9u
U3BhY2U3bnNTcGFjZUV2CiBfX1pOSzdXZWJDb3JlMTVSZXNvdXJjZVJlcXVlc3QxMmNmVVJMUmVx
dWVzdEVOU18yMEhUVFBCb2R5VXBkYXRlUG9saWN5RQogX19aTks3V2ViQ29yZTE1UmVzb3VyY2VS
ZXF1ZXN0MTJuc1VSTFJlcXVlc3RFTlNfMjBIVFRQQm9keVVwZGF0ZVBvbGljeUUKIF9fWk5LN1dl
YkNvcmUxNVN0eWxlUHJvcGVydGllczExbXV0YWJsZUNvcHlFdgorX19aTks3V2ViQ29yZTE1U3R5
bGVQcm9wZXJ0aWVzMTZnZXRQcm9wZXJ0eVZhbHVlRU5TXzEzQ1NTUHJvcGVydHlJREUKIF9fWk5L
N1dlYkNvcmUxNVZpc2libGVQb3NpdGlvbjE0Y2hhcmFjdGVyQWZ0ZXJFdgogX19aTks3V2ViQ29y
ZTE1VmlzaWJsZVBvc2l0aW9uMTRsb2NhbENhcmV0UmVjdEVSUE5TXzEyUmVuZGVyT2JqZWN0RQog
X19aTks3V2ViQ29yZTE1VmlzaWJsZVBvc2l0aW9uMTlhYnNvbHV0ZUNhcmV0Qm91bmRzRXYKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2lvcy9FZGl0b3JJT1MubW0JKHJldmlzaW9uIDE3Mjc1
NikKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvaW9zL0VkaXRvcklPUy5tbQkod29ya2luZyBj
b3B5KQpAQCAtMjYzLDEwICsyNjMsMTYgQEAgTlNEaWN0aW9uYXJ5KiBFZGl0b3I6OmZvbnRBdHRy
aWJ1dGVzRm9yUwogICAgIENURm9udFJlZiBmb250ID0gc3R5bGUtPmZvbnQoKS5wcmltYXJ5Rm9u
dCgpLT5nZXRDVEZvbnQoKTsKICAgICBpZiAoZm9udCkKICAgICAgICAgW3Jlc3VsdCBzZXRPYmpl
Y3Q6KGlkKWZvbnQgZm9yS2V5Ok5TRm9udEF0dHJpYnV0ZU5hbWVdOwotICAgIAotICAgIGlmIChz
dHlsZS0+dGV4dERlY29yYXRpb25zSW5FZmZlY3QoKSAmIFRleHREZWNvcmF0aW9uVW5kZXJsaW5l
KQotICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEludDpOU1Vu
ZGVybGluZVN0eWxlU2luZ2xlXSBmb3JLZXk6TlNVbmRlcmxpbmVTdHlsZUF0dHJpYnV0ZU5hbWVd
OwotICAgIAorCisgICAgUmVmUHRyPEVkaXRpbmdTdHlsZT4gdHlwaW5nU3R5bGUgPSBtX2ZyYW1l
LnNlbGVjdGlvbigpLnR5cGluZ1N0eWxlKCk7CisgICAgaWYgKHR5cGluZ1N0eWxlICYmIHR5cGlu
Z1N0eWxlLT5zdHlsZSgpKSB7CisgICAgICAgIFN0cmluZyB2YWx1ZSA9IHR5cGluZ1N0eWxlLT5z
dHlsZSgpLT5nZXRQcm9wZXJ0eVZhbHVlKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25z
SW5FZmZlY3QpOworICAgICAgICBpZiAodmFsdWUuY29udGFpbnMoInVuZGVybGluZSIpKQorICAg
ICAgICAgICAgW3Jlc3VsdCBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhJbnQ6TlNVbmRl
cmxpbmVTdHlsZVNpbmdsZV0gZm9yS2V5Ok5TVW5kZXJsaW5lU3R5bGVBdHRyaWJ1dGVOYW1lXTsK
KyAgICB9IGVsc2UgeworICAgICAgICBpZiAoc3R5bGUtPnRleHREZWNvcmF0aW9uc0luRWZmZWN0
KCkgJiBUZXh0RGVjb3JhdGlvblVuZGVybGluZSkKKyAgICAgICAgICAgIFtyZXN1bHQgc2V0T2Jq
ZWN0OltOU051bWJlciBudW1iZXJXaXRoSW50Ok5TVW5kZXJsaW5lU3R5bGVTaW5nbGVdIGZvcktl
eTpOU1VuZGVybGluZVN0eWxlQXR0cmlidXRlTmFtZV07CisgICAgfQogICAgIGlmIChub2RlVG9S
ZW1vdmUpCiAgICAgICAgIG5vZGVUb1JlbW92ZS0+cmVtb3ZlKEFTU0VSVF9OT19FWENFUFRJT04p
OwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTczMDM4KQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDgtMjcg
IEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNvbT4KKworICAgICAgICB0ZXh0U3R5bGlu
Z0F0UG9zaXRpb24gcmV0dXJucyBpbmNvcnJlY3QgdmFsdWVzIGFmdGVyIGV4ZWN1dGluZyB0b2dn
bGVCb2xkLCB0b2dnbGVJdGFsaWMgYW5kIHRvZ2dsZVVuZGVybGluZS4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNjMyMworICAgICAgICByZGFyOi8v
cHJvYmxlbS8xODE0MTk2NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEZvciB1bmRlcmxpbmUgc3R5bGUgd2UgbmVlZCB0byBjaGVjayB0eXBpbmdTdHls
ZSBmaXJzdCBhbmQgdXNlIHRoYXQgaW5mb3JtYXRpb24gdG8gcG9wdWxhdGUKKyAgICAgICAgdGhl
IGRpY3Rpb25hcnkuIElmIHRoZXJlIGlzIG5vIHR5cGluZyBzdHlsZSB3ZSBjYW4gdXNlIHRoZSBy
ZW5kZXIgc3R5bGUuCisgICAgICAgIFdlIGFsc28gbmVlZCB0byB1cGRhdGUgdGhlIGVkaXRvciBz
dGF0ZSBmb3IgdGhlIHRvZ2dsZSBjb21tYW5kcyB0byByZWZsZWN0IHRoZSBzdGF0ZSBpbiB0aGUg
VUlQcm9jZXNzCisgICAgICAgIGV2ZW4gZm9yIGNvbW1hbmRzIHRoYXQgZG9uJ3QgY2hhbmdlIHRo
ZSBzZWxlY3Rpb24uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmVkaXRvclN0YXRlKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2U6OmV4ZWN1dGVFZGl0Q29tbWFuZFdpdGhDYWxsYmFjayk6CisKIDIwMTQtMDgtMjcgIFRpbSBI
b3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgT2NjYXNpb25hbCBj
cmFzaGVzIGluIGNvbW1pdFRyYW5zaWVudFpvb20ncyB0cmFuc2FjdGlvbiBjb21wbGV0aW9uIGJs
b2NrCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwCShyZXZpc2lvbiAxNzI3NTYpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NSw2ICsxNDUsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NoYWRvd1Jvb3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU3R5
bGVQcm9wZXJ0aWVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TdWJmcmFtZUxvYWRlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvU3Vic3RpdHV0ZURhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRJ
dGVyYXRvci5oPgpAQCAtNzYyLDEwICs3NjMsMTcgQEAgRWRpdG9yU3RhdGUgV2ViUGFnZTo6ZWRp
dG9yU3RhdGUoKSBjb25zdAogICAgICAgICAgICAgICAgIHJlc3VsdC50eXBpbmdBdHRyaWJ1dGVz
IHw9IEF0dHJpYnV0ZUJvbGQ7CiAgICAgICAgICAgICBpZiAodHJhaXRzICYga0NURm9udFRyYWl0
SXRhbGljKQogICAgICAgICAgICAgICAgIHJlc3VsdC50eXBpbmdBdHRyaWJ1dGVzIHw9IEF0dHJp
YnV0ZUl0YWxpY3M7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChzdHlsZS0+dGV4dERl
Y29yYXRpb25zSW5FZmZlY3QoKSAmIFRleHREZWNvcmF0aW9uVW5kZXJsaW5lKQotICAgICAgICAg
ICAgICAgIHJlc3VsdC50eXBpbmdBdHRyaWJ1dGVzIHw9IEF0dHJpYnV0ZVVuZGVybGluZTsKLSAg
ICAgICAgICAgIAorCisgICAgICAgICAgICBSZWZQdHI8RWRpdGluZ1N0eWxlPiB0eXBpbmdTdHls
ZSA9IGZyYW1lLnNlbGVjdGlvbigpLnR5cGluZ1N0eWxlKCk7CisgICAgICAgICAgICBpZiAodHlw
aW5nU3R5bGUgJiYgdHlwaW5nU3R5bGUtPnN0eWxlKCkpIHsKKyAgICAgICAgICAgICAgICBTdHJp
bmcgdmFsdWUgPSB0eXBpbmdTdHlsZS0+c3R5bGUoKS0+Z2V0UHJvcGVydHlWYWx1ZShDU1NQcm9w
ZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KTsKKyAgICAgICAgICAgICAgICBpZiAo
dmFsdWUuY29udGFpbnMoInVuZGVybGluZSIpKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQu
dHlwaW5nQXR0cmlidXRlcyB8PSBBdHRyaWJ1dGVVbmRlcmxpbmU7CisgICAgICAgICAgICB9IGVs
c2UgeworICAgICAgICAgICAgICAgIGlmIChzdHlsZS0+dGV4dERlY29yYXRpb25zSW5FZmZlY3Qo
KSAmIFRleHREZWNvcmF0aW9uVW5kZXJsaW5lKQorICAgICAgICAgICAgICAgICAgICByZXN1bHQu
dHlwaW5nQXR0cmlidXRlcyB8PSBBdHRyaWJ1dGVVbmRlcmxpbmU7CisgICAgICAgICAgICB9CisK
ICAgICAgICAgICAgIGlmIChub2RlVG9SZW1vdmUpCiAgICAgICAgICAgICAgICAgbm9kZVRvUmVt
b3ZlLT5yZW1vdmUoQVNTRVJUX05PX0VYQ0VQVElPTik7CiAgICAgICAgIH0KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0J
KHJldmlzaW9uIDE3Mjc1NikKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9p
b3MvV2ViUGFnZUlPUy5tbQkod29ya2luZyBjb3B5KQpAQCAtMTcwNCw2ICsxNzA0LDggQEAgdm9p
ZCBXZWJQYWdlOjphcHBseUF1dG9jb3JyZWN0aW9uKGNvbnN0IAogdm9pZCBXZWJQYWdlOjpleGVj
dXRlRWRpdENvbW1hbmRXaXRoQ2FsbGJhY2soY29uc3QgU3RyaW5nJiBjb21tYW5kTmFtZSwgdWlu
dDY0X3QgY2FsbGJhY2tJRCkKIHsKICAgICBleGVjdXRlRWRpdENvbW1hbmQoY29tbWFuZE5hbWUp
OworICAgIGlmIChjb21tYW5kTmFtZSA9PSAidG9nZ2xlQm9sZCIgfHwgY29tbWFuZE5hbWUgPT0g
InRvZ2dsZUl0YWxpYyIgfHwgY29tbWFuZE5hbWUgPT0gInRvZ2dsZVVuZGVybGluZSIpCisgICAg
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RWRpdG9yU3RhdGVDaGFuZ2VkKGVkaXRv
clN0YXRlKCkpKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlZvaWRDYWxsYmFj
ayhjYWxsYmFja0lEKSk7CiB9CiAK
</data>
<flag name="review"
          id="261995"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>