<?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>207724</bug_id>
          
          <creation_ts>2020-02-13 15:01:57 -0800</creation_ts>
          <short_desc>[iOS] ASSERTION FAILED: index == indexComputedByVisiblePosition in HTMLTextFormControlElement::indexForPosition()</short_desc>
          <delta_ts>2022-02-09 10:14:38 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 13</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=128806</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=207725</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=205706</see_also>
          <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>205706</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mifenton</cc>
    
    <cc>pvollan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1618726</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-02-13 15:01:57 -0800</bug_when>
    <thetext>Steps to repro:

1. Visit &lt;data:text/html,&lt;input placeholder=&quot;placeholder&quot; oninput=&quot;this.selectionStart&quot;&gt;&gt;
2. Tap field.
3. Press ‘h’ on the keyboard.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618728</commentid>
    <comment_count>1</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-02-13 15:05:08 -0800</bug_when>
    <thetext>Assert is always incorrect because of FIXME in HTMLTextFormControlElement::indexForPosition(). Well, FIXME is correct:

[[
index = std::min(index, length); // FIXME: We shouldn&apos;t have to call innerTextValue() just to ignore the last LF. See finishText.
]]
&lt;https://trac.webkit.org/browser/trunk/Source/WebCore/html/HTMLTextFormControlElement.cpp?rev=256197#L652&gt;


but doesn&apos;t explain why. innerTextValue() is wrong because it represents the AFTER insertion value of the field. But the passed position is BEFORE insertion. So, guaranteed mismatch if indexForPosition() is called when the text input event is dispatched.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618730</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-02-13 15:06:03 -0800</bug_when>
    <thetext>I am just going to get rid of the assert because I would need to study the code to actually fix it up. The code has had the original FIXME since it was written in 2014!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618733</commentid>
    <comment_count>3</comment_count>
      <attachid>390692</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-02-13 15:10:48 -0800</bug_when>
    <thetext>Created attachment 390692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618735</commentid>
    <comment_count>4</comment_count>
      <attachid>390692</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-02-13 15:11:42 -0800</bug_when>
    <thetext>Comment on attachment 390692
Patch

R=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1618741</commentid>
    <comment_count>5</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2020-02-13 15:19:44 -0800</bug_when>
    <thetext>&lt;rdar://problem/59435896&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>390692</attachid>
            <date>2020-02-13 15:10:48 -0800</date>
            <delta_ts>2020-02-13 15:11:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207724-20200213151047.patch</filename>
            <type>text/plain</type>
            <size>2706</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU2NTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Q1NWQ5MTliODkxMGY4
ZDA1MWY1NWU2ZTc5YmM4ZDQ4NGE4NzBlMS4uODBhMTRhZTRjOTQ2ZGIzMzU1ZjcwZjQzZTQ3OGYw
NDExYzAxNDU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAyLTEzICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBU1NFUlRJT04g
RkFJTEVEOiBpbmRleCA9PSBpbmRleENvbXB1dGVkQnlWaXNpYmxlUG9zaXRpb24gaW4gSFRNTFRl
eHRGb3JtQ29udHJvbEVsZW1lbnQ6OmluZGV4Rm9yUG9zaXRpb24oKQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3NzI0CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRm9yIG5vdywgcmVtb3ZlIGFuIGFzc2Vy
dCB0aGF0IHdpbGwgYWx3YXlzIGZhaWwgYXMgaXQgY29tcGFyZXMgdGhlIGluZGV4IG9mIHRoZSBw
cmUtCisgICAgICAgIGluc2VydGlvbiBwb3NpdGlvbiB3aXRoIHRoZSBpbmRleCBhZnRlciBpbnNl
cnRpb24uIFRvIGFkZCBiYWNrIHRoZSBhc3NlcnQgd2UgZmlyc3QgbmVlZAorICAgICAgICB0byBh
ZGRyZXNzIHRoZSBvcmlnaW5hbCBGSVhNRSBhZGRlZCBpbiAyMDE0LgorCisgICAgICAgIFRoZSBh
c3NlcnRpb24gY2FuIGJlIHRyaWdnZXJlZCB0cml2aWFsbHkgb24gaU9TOgorCisgICAgICAgICAg
ICBMb2FkIDxkYXRhOnRleHQvaHRtbCw8aW5wdXQgcGxhY2Vob2xkZXI9InBsYWNlaG9sZGVyIiBv
bmlucHV0PSJ0aGlzLnNlbGVjdGlvblN0YXJ0Ij4+LgorICAgICAgICAgICAgVGFwIHRoZSBmaWVs
ZCB0aGVuIHByZXNzIGFueSBsZXR0ZXIgb24gdGhlIGtleWJvYXJkLgorCisKKyAgICAgICAgKiBo
dG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50OjppbmRleEZvclBvc2l0aW9uIGNvbnN0KToKKwogMjAy
MC0wMi0xMyAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZW5hbWUgU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50YXRpb24gdG8gU2VyaWFsaXplZFBs
YXRmb3JtRGF0YUN1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEZv
cm1Db250cm9sRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNv
bnRyb2xFbGVtZW50LmNwcAppbmRleCBmZjRlOWQ5ODBiYTNjZDZmZmFlZTgyYjFjNmQ4MDgyZjNh
MjY1ZTJkLi4zODc3Y2M1ZWI2ZjdiYThjMTQzMzI0ZmZlNzgxZDg0NThlMDExNjAxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmNwcApA
QCAtNjU1LDE0ICs2NTUsOCBAQCB1bnNpZ25lZCBIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudDo6
aW5kZXhGb3JQb3NpdGlvbihjb25zdCBQb3NpdGlvbiYgcGFzc2VkUG9zaQogCiAgICAgdW5zaWdu
ZWQgbGVuZ3RoID0gaW5uZXJUZXh0VmFsdWUoKS5sZW5ndGgoKTsKICAgICBpbmRleCA9IHN0ZDo6
bWluKGluZGV4LCBsZW5ndGgpOyAvLyBGSVhNRTogV2Ugc2hvdWxkbid0IGhhdmUgdG8gY2FsbCBp
bm5lclRleHRWYWx1ZSgpIGp1c3QgdG8gaWdub3JlIHRoZSBsYXN0IExGLiBTZWUgZmluaXNoVGV4
dC4KLSNpZiBBU1NFUlRfRU5BQkxFRAotICAgIFZpc2libGVQb3NpdGlvbiB2aXNpYmxlUG9zaXRp
b24gPSBwYXNzZWRQb3NpdGlvbjsKLSAgICBpZiAodmlzaWJsZVBvc2l0aW9uLmlzTm90TnVsbCgp
KSB7Ci0gICAgICAgIHVuc2lnbmVkIGluZGV4Q29tcHV0ZWRCeVZpc2libGVQb3NpdGlvbiA9IFdl
YkNvcmU6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCppbm5lclRleHQsIHZpc2libGVQb3NpdGlv
biwKLSAgICAgICAgICAgIHsgVGV4dEl0ZXJhdG9yTGVuZ3RoT3B0aW9uOjpHZW5lcmF0ZVNwYWNl
c0ZvclJlcGxhY2VkRWxlbWVudHMsIFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6SWdub3JlVmlz
aWJpbGl0eSB9KTsKLSAgICAgICAgQVNTRVJUKGluZGV4ID09IGluZGV4Q29tcHV0ZWRCeVZpc2li
bGVQb3NpdGlvbik7Ci0gICAgfQotI2VuZGlmCisgICAgLy8gRklYTUU6IEFzc2VydCB0aGF0IGlu
ZGV4ID09IFdlYkNvcmU6OmluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uKCppbm5lclRleHQsIHBhc3Nl
ZFBvc2l0aW9uLCB7IFRleHRJdGVyYXRvckxlbmd0aE9wdGlvbjo6R2VuZXJhdGVTcGFjZXNGb3JS
ZXBsYWNlZEVsZW1lbnRzLCBUZXh0SXRlcmF0b3JMZW5ndGhPcHRpb246Oklnbm9yZVZpc2liaWxp
dHkgfQorICAgIC8vIG9uY2UgdGhlIGFib3ZlIEZJWE1FIGlzIGZpeGVkLiBPdGhlcndpc2UsIHRo
ZSBhc3NlcnQgY2FuIHRyaXZpYWxseSBmYWlsIG9uIGlPUyAoZS5nLiB0eXBlIGludG8gPGlucHV0
IHBsYWNlaG9sZGVyPSJwbGFjZWhvbGRlciIgb25pbnB1dD0idGhpcy5zZWxlY3Rpb25TdGFydCI+
KS4KICAgICByZXR1cm4gaW5kZXg7CiB9CiAK
</data>
<flag name="review"
          id="406300"
          type_id="1"
          status="+"
          setter="pvollan"
    />
          </attachment>
      

    </bug>

</bugzilla>