<?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>158138</bug_id>
          
          <creation_ts>2016-05-26 17:29:03 -0700</creation_ts>
          <short_desc>AX: Wrong CharacterOffset from VisiblePosition with composed characters</short_desc>
          <delta_ts>2016-07-01 14:08:33 -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>Accessibility</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>159330</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nan Wang">n_wang</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cfleizach</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mario</cc>
    
    <cc>n_wang</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1196926</commentid>
    <comment_count>0</comment_count>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-05-26 17:29:03 -0700</bug_when>
    <thetext>The conversion between VisiblePosition and CharacterOffset is incorrect when there are composed characters.

&lt;rdar://problem/26439048&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196930</commentid>
    <comment_count>1</comment_count>
      <attachid>279930</attachid>
    <who name="Nan Wang">n_wang</who>
    <bug_when>2016-05-26 17:36:33 -0700</bug_when>
    <thetext>Created attachment 279930
Initial patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196941</commentid>
    <comment_count>2</comment_count>
      <attachid>279930</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-26 18:40:07 -0700</bug_when>
    <thetext>Comment on attachment 279930
Initial patch

Clearing flags on attachment: 279930

Committed r201443: &lt;http://trac.webkit.org/changeset/201443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1196942</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-26 18:40:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>279930</attachid>
            <date>2016-05-26 17:36:33 -0700</date>
            <delta_ts>2016-05-26 18:40:07 -0700</delta_ts>
            <desc>Initial patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>6647</size>
            <attacher name="Nan Wang">n_wang</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwMTQ0MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE2LTA1LTI2ICBOYW4gV2Fu
ZyAgPG5fd2FuZ0BhcHBsZS5jb20+CisKKyAgICAgICAgQVg6IFdyb25nIENoYXJhY3Rlck9mZnNl
dCBmcm9tIFZpc2libGVQb3NpdGlvbiB3aXRoIGNvbXBvc2VkIGNoYXJhY3RlcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODEzOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjb252ZXJzaW9uIGxv
Z2ljIGlzIG5vdCBjb3JyZWN0IHdoZW4gdGhlIHRleHQgbm9kZSBjb250YWlucyBjb21wb3NlZCBj
aGFyYWN0ZXJzLiAKKyAgICAgICAgV2Ugc2hvdWxkIHVzZSBWaXNpYmxlUG9zaXRpb24ncyBvZmZz
ZXQgZGlyZWN0bHkgZm9yIHRleHQgbm9kZXMgc28gd2Ugd29uJ3QgbWVzcyB0aGluZ3MgdXAuCisK
KyAgICAgICAgVGVzdDogYWNjZXNzaWJpbGl0eS9tYWMvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxl
LXBvc2l0aW9uLWNvbnZlcnNpb24td2l0aC1lbW9qaS5odG1sCisKKyAgICAgICAgKiBhY2Nlc3Np
YmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNo
ZTo6dmlzaWJsZVBvc2l0aW9uRnJvbUNoYXJhY3Rlck9mZnNldCk6CisgICAgICAgIChXZWJDb3Jl
OjpBWE9iamVjdENhY2hlOjpjaGFyYWN0ZXJPZmZzZXRGcm9tVmlzaWJsZVBvc2l0aW9uKToKKwog
MjAxNi0wNS0yNiAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgTWVk
aWEgcXVlcmllcyBhbmQgcGxhdGZvcm0gc2NyZWVuIG1vZGVybml6YXRpb24gYW5kIHN0cmVhbWxp
bmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BWE9iamVjdENhY2hlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2Fj
aGUuY3BwCShyZXZpc2lvbiAyMDE0MjIpCisrKyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTUyLDIxICsxOTUyLDEwIEBA
IFZpc2libGVQb3NpdGlvbiBBWE9iamVjdENhY2hlOjp2aXNpYmxlUG8KICAgICBpZiAoY2hhcmFj
dGVyT2Zmc2V0LmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gVmlzaWJsZVBvc2l0aW9uKCk7CiAg
ICAgCi0gICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9iaiA9IHRoaXMtPmdldE9yQ3Jl
YXRlKGNoYXJhY3Rlck9mZnNldC5ub2RlKTsKLSAgICBpZiAoIW9iaikKLSAgICAgICAgcmV0dXJu
IFZpc2libGVQb3NpdGlvbigpOwotICAgIAotICAgIC8vIG5leHRWaXNpYmxlUG9zaXRpb24gbWVh
bnMgYWR2YW5jaW5nIG9uZSBjaGFyYWN0ZXIuIFVzZSB0aGlzIHRvIGNhbGN1bGF0ZSB0aGUgY2hh
cmFjdGVyIG9mZnNldC4KLSAgICBWaXNpYmxlUG9zaXRpb25SYW5nZSB2cFJhbmdlID0gb2JqLT52
aXNpYmxlUG9zaXRpb25SYW5nZSgpOwotICAgIFZpc2libGVQb3NpdGlvbiBzdGFydCA9IHZwUmFu
Z2Uuc3RhcnQ7Ci0gICAgCi0gICAgLy8gU29tZXRpbWVzIHZwUmFuZ2Uuc3RhcnQgd2lsbCBiZSB0
aGUgcHJldmlvdXMgbm9kZSdzIGVuZCBwb3NpdGlvbiBhbmQgVmlzaWJsZVBvc2l0aW9uIHdpbGwg
Y291bnQgdGhlIGxlYWRpbmcgbGluZSBicmVhayBhcyAxIG9mZnNldC4KLSAgICBpbnQgY2hhcmFj
dGVyQ291bnQgPSBzdGFydC5kZWVwRXF1aXZhbGVudCgpLmRlcHJlY2F0ZWROb2RlKCkgPT0gY2hh
cmFjdGVyT2Zmc2V0Lm5vZGUgPyBjaGFyYWN0ZXJPZmZzZXQub2Zmc2V0IDogY2hhcmFjdGVyT2Zm
c2V0Lm9mZnNldCArIGNoYXJhY3Rlck9mZnNldC5zdGFydEluZGV4OwotICAgIFZpc2libGVQb3Np
dGlvbiByZXN1bHQgPSBzdGFydDsKLSAgICBmb3IgKGludCBpID0gMDsgaSA8IGNoYXJhY3RlckNv
dW50OyBpKyspCi0gICAgICAgIHJlc3VsdCA9IG9iai0+bmV4dFZpc2libGVQb3NpdGlvbihyZXN1
bHQpOwotICAgIAotICAgIHJldHVybiByZXN1bHQ7CisgICAgLy8gQ3JlYXRlIGEgY29sbGFwc2Vk
IHJhbmdlIGFuZCB1c2UgdGhhdCB0byBmb3JtIGEgVmlzaWJsZVBvc2l0aW9uLCBzbyB0aGF0IHRo
ZSBjYXNlIHdpdGgKKyAgICAvLyBjb21wb3NlZCBjaGFyYWN0ZXJzIHdpbGwgYmUgY292ZXJlZC4K
KyAgICBSZWZQdHI8UmFuZ2U+IHJhbmdlID0gcmFuZ2VGb3JVbm9yZGVyZWRDaGFyYWN0ZXJPZmZz
ZXRzKGNoYXJhY3Rlck9mZnNldCwgY2hhcmFjdGVyT2Zmc2V0KTsKKyAgICByZXR1cm4gVmlzaWJs
ZVBvc2l0aW9uKHJhbmdlLT5zdGFydFBvc2l0aW9uKCkpOwogfQogCiBDaGFyYWN0ZXJPZmZzZXQg
QVhPYmplY3RDYWNoZTo6Y2hhcmFjdGVyT2Zmc2V0RnJvbVZpc2libGVQb3NpdGlvbihjb25zdCBW
aXNpYmxlUG9zaXRpb24mIHZpc2libGVQb3MpCkBAIC0xOTc4LDYgKzE5NjcsOSBAQCBDaGFyYWN0
ZXJPZmZzZXQgQVhPYmplY3RDYWNoZTo6Y2hhcmFjdGVyCiAgICAgTm9kZSogZG9tTm9kZSA9IGRl
ZXBQb3MuZGVwcmVjYXRlZE5vZGUoKTsKICAgICBBU1NFUlQoZG9tTm9kZSk7CiAgICAgCisgICAg
aWYgKGRvbU5vZGUtPm9mZnNldEluQ2hhcmFjdGVycygpKQorICAgICAgICByZXR1cm4gQ2hhcmFj
dGVyT2Zmc2V0KGRvbU5vZGUsIDAsIGRlZXBQb3MuZGVwcmVjYXRlZEVkaXRpbmdPZmZzZXQoKSwg
MCk7CisgICAgCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3Q+IG9iaiA9IHRoaXMtPmdl
dE9yQ3JlYXRlKGRvbU5vZGUpOwogICAgIGlmICghb2JqKQogICAgICAgICByZXR1cm4gQ2hhcmFj
dGVyT2Zmc2V0KCk7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMDE0MjIpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxNi0wNS0yNiAgTmFu
IFdhbmcgIDxuX3dhbmdAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBXcm9uZyBDaGFyYWN0ZXJP
ZmZzZXQgZnJvbSBWaXNpYmxlUG9zaXRpb24gd2l0aCBjb21wb3NlZCBjaGFyYWN0ZXJzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTgxMzgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFjY2Vzc2liaWxp
dHkvbWFjL2NoYXJhY3Rlci1vZmZzZXQtdmlzaWJsZS1wb3NpdGlvbi1jb252ZXJzaW9uLXdpdGgt
ZW1vamktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L21hYy9j
aGFyYWN0ZXItb2Zmc2V0LXZpc2libGUtcG9zaXRpb24tY29udmVyc2lvbi13aXRoLWVtb2ppLmh0
bWw6IEFkZGVkLgorCiAyMDE2LTA1LTI2ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNv
bT4KIAogICAgICAgICBJbXBsZW1lbnQgaW50ZXJuYWxzLm9ic2VydmVHQyB0byBnZXQgY2FsbGVk
IGJhY2sgd2hlbiBhIEphdmFzY3JpcHQgb2JqZWN0IGlzIEdDJ2VkLgpJbmRleDogTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxlLXBvc2l0aW9uLWNv
bnZlcnNpb24td2l0aC1lbW9qaS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxlLXBvc2l0aW9uLWNv
bnZlcnNpb24td2l0aC1lbW9qaS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9jaGFyYWN0ZXItb2Zmc2V0LXZpc2libGUtcG9zaXRpb24t
Y29udmVyc2lvbi13aXRoLWVtb2ppLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDExIEBACitIaSDwn5iOCitUaGlzIHRlc3RzIHRoYXQgQ2hhcmFjdGVyT2Zmc2V0IGFuZCBW
aXNpYmxlUG9zaXRpb24gY29udmVydCBjb3JyZWN0bHkgd2hlbiB0aGVyZSBhcmUgY29tcG9zZWQg
Y2hhcmFjdGVycy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK0hpIPCfmI4KK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L21hYy9jaGFyYWN0ZXItb2Zmc2V0LXZpc2libGUtcG9z
aXRpb24tY29udmVyc2lvbi13aXRoLWVtb2ppLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9tYWMvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxlLXBvc2l0aW9uLWNv
bnZlcnNpb24td2l0aC1lbW9qaS5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9tYWMvY2hhcmFjdGVyLW9mZnNldC12aXNpYmxlLXBvc2l0aW9uLWNvbnZlcnNp
b24td2l0aC1lbW9qaS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDMgQEAKKzwhRE9D
VFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorICAgIDxo
ZWFkPjxtZXRhIGNoYXJzZXQ9IlVURi04Ij48L2hlYWQ+CisgICAgPHNjcmlwdCBzcmM9Ii4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CisgICAgPGJvZHkgaWQ9ImJvZHki
IHRhYmluZGV4PSIwIj4KKyAgICAgICAgPGRpdiB0YWJpbmRleD0iMCIgaWQ9InRleHQiIGNvbnRl
bnRlZGl0YWJsZT10cnVlPgorICAgICAgICBIaSDwn5iOCisgICAgICAgIDwvZGl2PgorCisgICAg
ICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKworICAgICAgICA8c2NyaXB0PgorCisgICAgICAgICAgICBkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0cyB0aGF0IENoYXJhY3Rlck9mZnNldCBhbmQgVmlzaWJsZVBvc2l0aW9uIGNvbnZlcnQg
Y29ycmVjdGx5IHdoZW4gdGhlcmUgYXJlIGNvbXBvc2VkIGNoYXJhY3RlcnMuIik7CisKKyAgICAg
ICAgICAgIHZhciBpbmRleCA9IDA7CisgICAgICAgICAgICBpZiAod2luZG93LmFjY2Vzc2liaWxp
dHlDb250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
ZW5hYmxlRW5oYW5jZWRBY2Nlc3NpYmlsaXR5KHRydWUpOworICAgICAgICAgICAgICAgIHZhciB3
ZWJBcmVhID0gYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIucm9vdEVsZW1lbnQuY2hpbGRBdEluZGV4
KDApOworICAgICAgICAgICAgICAgIHdlYkFyZWEuc2V0Qm9vbEF0dHJpYnV0ZVZhbHVlKCJBWENh
cmV0QnJvd3NpbmdFbmFibGVkIiwgdHJ1ZSk7CisKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGV4dCIpLmZvY3VzKCk7CisgICAgICAgICAgICAgICAgdmFyIHRleHQg
PSBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5hY2Nlc3NpYmxlRWxlbWVudEJ5SWQoInRleHQiKTsK
KworICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oInJpZ2h0QXJyb3ciKTsKKyAg
ICAgICAgICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCJyaWdodEFycm93Iik7CisgICAgICAg
ICAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bigicmlnaHRBcnJvdyIpOworICAgICAgICAgICAg
ICAgIGV2ZW50U2VuZGVyLmtleURvd24oInJpZ2h0QXJyb3ciKTsKKyAgICAgICAgICAgICAgICB2
YXIgdGV4dE1hcmtlclJhbmdlID0gdGV4dC5zZWxlY3RlZFRleHRNYXJrZXJSYW5nZSgpOworICAg
ICAgICAgICAgICAgIHZhciBlbGVtZW50UmFuZ2UgPSB0ZXh0LnRleHRNYXJrZXJSYW5nZUZvckVs
ZW1lbnQodGV4dCk7CisgICAgICAgICAgICAgICAgdmFyIHN0YXJ0TWFya2VyID0gdGV4dC5zdGFy
dFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UoZWxlbWVudFJhbmdlKTsKKyAgICAgICAgICAg
ICAgICB2YXIgZW5kTWFya2VyID0gdGV4dC5lbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdl
KHRleHRNYXJrZXJSYW5nZSk7CisgICAgICAgICAgICAgICAgZGVidWcodGV4dC5zdHJpbmdGb3JU
ZXh0TWFya2VyUmFuZ2UodGV4dC50ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKGVuZE1hcmtlciwg
c3RhcnRNYXJrZXIpKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIDwvc2NyaXB0Pgor
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKworICAgIDwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>