<?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>228635</bug_id>
          
          <creation_ts>2021-07-30 05:47:50 -0700</creation_ts>
          <short_desc>Align implementation of PositionIterator::isCandidate() on Position::isCandidate()</short_desc>
          <delta_ts>2021-08-03 13:23:05 -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>HTML Editing</component>
          <version>WebKit 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="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1780740</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-30 05:47:50 -0700</bug_when>
    <thetext>Follow-up of https://trac.webkit.org/changeset/280381/webkit

This can cause subtle bug, so we should avoid that they go out of sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780741</commentid>
    <comment_count>1</comment_count>
      <attachid>434616</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-30 06:02:49 -0700</bug_when>
    <thetext>Created attachment 434616
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1780743</commentid>
    <comment_count>2</comment_count>
      <attachid>434616</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-07-30 06:03:32 -0700</bug_when>
    <thetext>Comment on attachment 434616
Patch

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

&gt; Source/WebCore/dom/Position.cpp:970
&gt; +// This function should be keep in sync with PositionIterator::isCandidate().

kept*

&gt; Source/WebCore/dom/PositionIterator.cpp:148
&gt; +// This function should be keep in sync with Position::isCandidate().

kept*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781287</commentid>
    <comment_count>3</comment_count>
      <attachid>434616</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-02 10:05:28 -0700</bug_when>
    <thetext>Comment on attachment 434616
Patch

Seems like a good idea, and having no effect on any test is a mixed bag (is it really an improvement if it’s not detectable?).

Can we do a further improvement and make most of this be shared code, too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781546</commentid>
    <comment_count>4</comment_count>
      <attachid>434819</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-08-02 23:07:00 -0700</bug_when>
    <thetext>Created attachment 434819
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781548</commentid>
    <comment_count>5</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2021-08-02 23:14:00 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Seems like a good idea, and having no effect on any test is a mixed bag (is
&gt; it really an improvement if it’s not detectable?).

Yeah, I considered writing tests but I&apos;m not sure how difficult it is. For example in r280381 there was some subtle things happening and the crash test did not work without using a &lt;button&gt;. It seems more urgent to make the two functions in sync than having to spend time on testing that can be covered by fuzzing instead.

&gt; Can we do a further improvement and make most of this be shared code, too?

OK, I opened bug 228729 for that. But again there are some subtle diffs when  m_anchorType is used, so I preferred not to touch that for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781556</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-02 23:54:12 -0700</bug_when>
    <thetext>Committed r280585 (240207@main): &lt;https://commits.webkit.org/240207@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 434819.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781557</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-02 23:55:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/81447460&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1781723</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-08-03 13:23:05 -0700</bug_when>
    <thetext>(In reply to Frédéric Wang (:fredw) from comment #5)
&gt; (In reply to Darin Adler from comment #3)
&gt; &gt; Seems like a good idea, and having no effect on any test is a mixed bag (is
&gt; &gt; it really an improvement if it’s not detectable?).
&gt; 
&gt; Yeah, I considered writing tests but I&apos;m not sure how difficult it is. For
&gt; example in r280381 there was some subtle things happening and the crash test
&gt; did not work without using a &lt;button&gt;. It seems more urgent to make the two
&gt; functions in sync than having to spend time on testing that can be covered
&gt; by fuzzing instead.

Not sure that I agree. Where is the evidence that this is covered by fuzzing?

I think the tests may be *more* valuable than code changes that by making things more consistent *might* make things better.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434616</attachid>
            <date>2021-07-30 06:02:49 -0700</date>
            <delta_ts>2021-08-02 23:07:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Bug-228635-Align-implementation-of-PositionIterator-.patch</filename>
            <type>text/plain</type>
            <size>5560</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA0M2QzMGNhZWQ2YzgyOGQ5YmFjMjhhODE5OWQ4NmFjMjE0NmIxOGMyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/RnI9QzM9QTlkPUMzPUE5cmljPTIwV2FuZz89
IDxmd2FuZ0BpZ2FsaWEuY29tPgpEYXRlOiBGcmksIDMwIEp1bCAyMDIxIDE1OjAxOjU2ICswMjAw
ClN1YmplY3Q6IFtQQVRDSF0gQnVnIDIyODYzNSAtIEFsaWduIGltcGxlbWVudGF0aW9uIG9mCiBQ
b3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIG9uIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgp
CgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICB8IDI0ICsrKysr
KysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCAgICAg
ICAgIHwgIDMgKystCiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb25JdGVyYXRvci5jcHAgfCAx
MyArKysrKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDUgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDU2NGE1MjM2MDAuLjQyYzUwY2NlMWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wNy0zMCAgRnLDqWTDqXJpYyBXYW5nICA8ZndhbmdA
aWdhbGlhLmNvbT4KKworICAgICAgICBBbGlnbiBpbXBsZW1lbnRhdGlvbiBvZiBQb3NpdGlvbkl0
ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIG9uIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg2MzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYnVnIGZpeGVkIGlu
IHIyODAzODEgd2FzIGR1ZSB0byB0aGUgZmFjdCB0aGF0IFBvc2l0aW9uSXRlcmF0b3I6OmlzQ2Fu
ZGlkYXRlKCkgYW5kCisgICAgICAgIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgpIGhhZCBnb25lIG91
dCBvZiBzeW5jLiBUbyBwcmV2ZW50IGZ1dHVyZSBidWdzIG9mIHRoaXMga2luZCwgdGhpcyBwYXRj
aAorICAgICAgICBtb2RpZmllcyBQb3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIHNvIHRo
YXQgaXQgaXMgYWxpZ25lZCB3aXRoCisgICAgICAgIFBvc2l0aW9uSXRlcmF0b3I6OmlzQ2FuZGlk
YXRlKCkgKGV4Y2VwdCB3aGVuIGFuIG1fYW5jaG9yVHlwZSBjaGVjayBpcyBuZWVkZWQpIGFuZCBh
ZGQgY29kZQorICAgICAgICBjb21tZW50cyBpbiBib3RoIGZ1bmN0aW9ucyB0byBlbnN1cmUgdGhl
IHNhbWUgY2hhbmdlcyBhcmUgYWx3YXlzIGFwcGxpZWQgdG8gdGhlbS4KKworICAgICAgICAqIGRv
bS9Qb3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6aXNDYW5kaWRhdGUg
Y29uc3QpOiBBZGQgYSBjb21tZW50IHRvIG1ha2Ugc3VyZSB3ZSB1cGRhdGUgUG9zaXRpb25JdGVy
YXRvcgorICAgICAgICB3aGVuIGNoYW5naW5nIHRoYXQgZnVuY3Rpb24uIEFsc28gdXNlIGF1dG8g
Zm9yIGEgbG9jYWwgdmFyaWFibGUgbGlrZSBpbiBQb3NpdGlvbkl0ZXJhdG9yLgorICAgICAgICAq
IGRvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uSXRl
cmF0b3I6OmlzQ2FuZGlkYXRlIGNvbnN0KTogQWRkIGEgY29tbWVudCB0byBtYWtlIHN1cmUgd2Ug
dXBkYXRlIFBvc2l0aW9uCisgICAgICAgIHdoZW4gY2hhbmdpbmcgdGhhdCBmdW5jdGlvbi4gUmVh
cnJhbmdlIHRoZSBjb2RlIHRvIHVzZSBwb3NpdGlvbkJlZm9yZU9yQWZ0ZXJOb2RlSXNDYW5kaWRh
dGUKKyAgICAgICAgYW5kIGVhcmx5IHJldHVybiB3aGVuIHRoZSBub2RlIGlzIGEgPGh0bWw+IGVs
ZW1lbnQgKHRoZXNlIGFyZSBub3QgYmVoYXZpb3IgY2hhbmdlcykuIEZvcgorICAgICAgICBibG9j
ayBmbG93IC8gZ3JpZCAvIGZsZXhib3ggcmVuZGVyZXJzLCBhZGQgYSBzcGVjaWFsIGhhbmRsaW5n
IHdoZW4gdGhlIGFuY2hvciBub2RlIGlzIGEgcm9vdAorICAgICAgICBlZGl0YWJsZSBlbGVtZW50
IDsgYWxzbyBjaGFuZ2UgdGhlIGZhbGxiYWNrIHZhbHVlIHJldHVybmVkIGF0IHRoZSBlbmQgb2Yg
dGhlIGZ1bmN0aW9uICh0aGVzZQorICAgICAgICBhcmUgdHdvIGJlaGF2aW9yIGNoYW5nZXMpLgor
CiAyMDIxLTA3LTI4ICBBZGEgQ2hhbiAgPGFkYS5jaGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBb
V2ViWFJdIFJlcXVpcmUgR0xfT0VTX0VHTF9pbWFnZSBleHRlbnNpb24gZm9yIHhyQ29tcGF0aWJs
ZSBHTCBjb250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcAppbmRleCA3ZTFlMjRmMTk5Li5lOTI3
OTMxYTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKQEAgLTk2Nyw2ICs5NjcsNyBAQCBOb2Rl
KiBQb3NpdGlvbjo6cm9vdFVzZXJTZWxlY3RBbGxGb3JOb2RlKE5vZGUqIG5vZGUpCiAgICAgcmV0
dXJuIGNhbmRpZGF0ZVJvb3Q7CiB9CiAKKy8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIGtlZXAg
aW4gc3luYyB3aXRoIFBvc2l0aW9uSXRlcmF0b3I6OmlzQ2FuZGlkYXRlKCkuCiBib29sIFBvc2l0
aW9uOjppc0NhbmRpZGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYgKGlzTnVsbCgpKQpAQCAtOTk3LDcg
Kzk5OCw3IEBAIGJvb2wgUG9zaXRpb246OmlzQ2FuZGlkYXRlKCkgY29uc3QKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgaWYgKGlzPFJlbmRlckJsb2NrRmxvdz4oKnJlbmRlcmVyKSB8fCBp
czxSZW5kZXJHcmlkPigqcmVuZGVyZXIpIHx8IGlzPFJlbmRlckZsZXhpYmxlQm94PigqcmVuZGVy
ZXIpKSB7Ci0gICAgICAgIFJlbmRlckJsb2NrJiBibG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2Nr
PigqcmVuZGVyZXIpOworICAgICAgICBhdXRvJiBibG9jayA9IGRvd25jYXN0PFJlbmRlckJsb2Nr
PigqcmVuZGVyZXIpOwogICAgICAgICBpZiAoYmxvY2subG9naWNhbEhlaWdodCgpIHx8IGlzPEhU
TUxCb2R5RWxlbWVudD4oKm1fYW5jaG9yTm9kZSkgfHwgbV9hbmNob3JOb2RlLT5pc1Jvb3RFZGl0
YWJsZUVsZW1lbnQoKSkgewogICAgICAgICAgICAgaWYgKCFQb3NpdGlvbjo6aGFzUmVuZGVyZWRO
b25Bbm9ueW1vdXNEZXNjZW5kYW50c1dpdGhIZWlnaHQoYmxvY2spKQogICAgICAgICAgICAgICAg
IHJldHVybiBhdEZpcnN0RWRpdGluZ1Bvc2l0aW9uRm9yTm9kZSgpICYmICFQb3NpdGlvbjo6bm9k
ZUlzVXNlclNlbGVjdE5vbmUoZGVwcmVjYXRlZE5vZGUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vUG9zaXRpb25JdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9z
aXRpb25JdGVyYXRvci5jcHAKaW5kZXggNzRiMDJlYTVjOC4uNjIxNDMzNDA2NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcApAQCAtMTQ1LDYgKzE0NSw3IEBAIGJvb2wg
UG9zaXRpb25JdGVyYXRvcjo6YXRFbmRPZk5vZGUoKSBjb25zdAogICAgIHJldHVybiBtX2FuY2hv
ck5vZGUtPmhhc0NoaWxkTm9kZXMoKSB8fCBtX29mZnNldEluQW5jaG9yID49IGxhc3RPZmZzZXRG
b3JFZGl0aW5nKCptX2FuY2hvck5vZGUpOwogfQogCisvLyBUaGlzIGZ1bmN0aW9uIHNob3VsZCBi
ZSBrZWVwIGluIHN5bmMgd2l0aCBQb3NpdGlvbjo6aXNDYW5kaWRhdGUoKS4KIGJvb2wgUG9zaXRp
b25JdGVyYXRvcjo6aXNDYW5kaWRhdGUoKSBjb25zdAogewogICAgIGlmICghbV9hbmNob3JOb2Rl
KQpAQCAtMTYzLDE5ICsxNjQsMjMgQEAgYm9vbCBQb3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0
ZSgpIGNvbnN0CiAgICAgaWYgKGlzPFJlbmRlclRleHQ+KCpyZW5kZXJlcikpCiAgICAgICAgIHJl
dHVybiAhUG9zaXRpb246Om5vZGVJc1VzZXJTZWxlY3ROb25lKG1fYW5jaG9yTm9kZSkgJiYgZG93
bmNhc3Q8UmVuZGVyVGV4dD4oKnJlbmRlcmVyKS5jb250YWluc0NhcmV0T2Zmc2V0KG1fb2Zmc2V0
SW5BbmNob3IpOwogCi0gICAgaWYgKGlzUmVuZGVyZWRUYWJsZShtX2FuY2hvck5vZGUpIHx8IGVk
aXRpbmdJZ25vcmVzQ29udGVudCgqbV9hbmNob3JOb2RlKSkKKyAgICBpZiAocG9zaXRpb25CZWZv
cmVPckFmdGVyTm9kZUlzQ2FuZGlkYXRlKCptX2FuY2hvck5vZGUpKQogICAgICAgICByZXR1cm4g
KGF0U3RhcnRPZk5vZGUoKSB8fCBhdEVuZE9mTm9kZSgpKSAmJiAhUG9zaXRpb246Om5vZGVJc1Vz
ZXJTZWxlY3ROb25lKG1fYW5jaG9yTm9kZS0+cGFyZW50Tm9kZSgpKTsKIAotICAgIGlmICghaXM8
SFRNTEh0bWxFbGVtZW50PigqbV9hbmNob3JOb2RlKSAmJiAoaXM8UmVuZGVyQmxvY2tGbG93Pigq
cmVuZGVyZXIpIHx8IGlzPFJlbmRlckdyaWQ+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyRmxleGli
bGVCb3g+KCpyZW5kZXJlcikpKSB7CisgICAgaWYgKGlzPEhUTUxIdG1sRWxlbWVudD4oKm1fYW5j
aG9yTm9kZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChpczxSZW5kZXJCbG9j
a0Zsb3c+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyR3JpZD4oKnJlbmRlcmVyKSB8fCBpczxSZW5k
ZXJGbGV4aWJsZUJveD4oKnJlbmRlcmVyKSkgewogICAgICAgICBhdXRvJiBibG9jayA9IGRvd25j
YXN0PFJlbmRlckJsb2NrPigqcmVuZGVyZXIpOwotICAgICAgICBpZiAoYmxvY2subG9naWNhbEhl
aWdodCgpIHx8IGlzPEhUTUxCb2R5RWxlbWVudD4oKm1fYW5jaG9yTm9kZSkpIHsKKyAgICAgICAg
aWYgKGJsb2NrLmxvZ2ljYWxIZWlnaHQoKSB8fCBpczxIVE1MQm9keUVsZW1lbnQ+KCptX2FuY2hv
ck5vZGUpIHx8IG1fYW5jaG9yTm9kZS0+aXNSb290RWRpdGFibGVFbGVtZW50KCkpIHsKICAgICAg
ICAgICAgIGlmICghUG9zaXRpb246Omhhc1JlbmRlcmVkTm9uQW5vbnltb3VzRGVzY2VuZGFudHNX
aXRoSGVpZ2h0KGJsb2NrKSkKICAgICAgICAgICAgICAgICByZXR1cm4gYXRTdGFydE9mTm9kZSgp
ICYmICFQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUobV9hbmNob3JOb2RlKTsKICAgICAg
ICAgICAgIHJldHVybiBtX2FuY2hvck5vZGUtPmhhc0VkaXRhYmxlU3R5bGUoKSAmJiAhUG9zaXRp
b246Om5vZGVJc1VzZXJTZWxlY3ROb25lKG1fYW5jaG9yTm9kZSkgJiYgUG9zaXRpb24oKnRoaXMp
LmF0RWRpdGluZ0JvdW5kYXJ5KCk7CiAgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgIH0KIAotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gbV9hbmNob3JOb2RlLT5oYXNF
ZGl0YWJsZVN0eWxlKCkgJiYgIVBvc2l0aW9uOjpub2RlSXNVc2VyU2VsZWN0Tm9uZShtX2FuY2hv
ck5vZGUpICYmIFBvc2l0aW9uKCp0aGlzKS5hdEVkaXRpbmdCb3VuZGFyeSgpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0tIAoyLjI1LjEKCg==
</data>
<flag name="review"
          id="457194"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434819</attachid>
            <date>2021-08-02 23:07:00 -0700</date>
            <delta_ts>2021-08-02 23:54:13 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>0001-Bug-228635-Align-implementation-of-PositionIterator-.patch</filename>
            <type>text/plain</type>
            <size>5574</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA4Y2UyOWJmZjQ2YjU4ZmVhZmZkOTVmYzBlZWFkZDE1NjYwNjJlNDM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/RnI9QzM9QTlkPUMzPUE5cmljPTIwV2FuZz89
IDxmd2FuZ0BpZ2FsaWEuY29tPgpEYXRlOiBGcmksIDMwIEp1bCAyMDIxIDE1OjAxOjU2ICswMjAw
ClN1YmplY3Q6IFtQQVRDSF0gQnVnIDIyODYzNSAtIEFsaWduIGltcGxlbWVudGF0aW9uIG9mCiBQ
b3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIG9uIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgp
CgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICB8IDI0ICsrKysr
KysrKysrKysrKysrKysrKysrKwogU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcCAgICAg
ICAgIHwgIDMgKystCiBTb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb25JdGVyYXRvci5jcHAgfCAx
MyArKysrKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDUgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMyOWU3Njc0ODYuLmM0N2M5MGUxMjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wOC0wMyAgRnLDqWTDqXJpYyBXYW5nICA8ZndhbmdA
aWdhbGlhLmNvbT4KKworICAgICAgICBBbGlnbiBpbXBsZW1lbnRhdGlvbiBvZiBQb3NpdGlvbkl0
ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIG9uIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjg2MzUKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGUgYnVnIGZpeGVkIGluIHIy
ODAzODEgd2FzIGR1ZSB0byB0aGUgZmFjdCB0aGF0IFBvc2l0aW9uSXRlcmF0b3I6OmlzQ2FuZGlk
YXRlKCkgYW5kCisgICAgICAgIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgpIGhhZCBnb25lIG91dCBv
ZiBzeW5jLiBUbyBwcmV2ZW50IGZ1dHVyZSBidWdzIG9mIHRoaXMga2luZCwgdGhpcyBwYXRjaAor
ICAgICAgICBtb2RpZmllcyBQb3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIHNvIHRoYXQg
aXQgaXMgYWxpZ25lZCB3aXRoCisgICAgICAgIFBvc2l0aW9uSXRlcmF0b3I6OmlzQ2FuZGlkYXRl
KCkgKGV4Y2VwdCB3aGVuIGFuIG1fYW5jaG9yVHlwZSBjaGVjayBpcyBuZWVkZWQpIGFuZCBhZGQg
Y29kZQorICAgICAgICBjb21tZW50cyBpbiBib3RoIGZ1bmN0aW9ucyB0byBlbnN1cmUgdGhlIHNh
bWUgY2hhbmdlcyBhcmUgYWx3YXlzIGFwcGxpZWQgdG8gdGhlbS4KKworICAgICAgICAqIGRvbS9Q
b3NpdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb3NpdGlvbjo6aXNDYW5kaWRhdGUgY29u
c3QpOiBBZGQgYSBjb21tZW50IHRvIG1ha2Ugc3VyZSB3ZSB1cGRhdGUgUG9zaXRpb25JdGVyYXRv
cgorICAgICAgICB3aGVuIGNoYW5naW5nIHRoYXQgZnVuY3Rpb24uIEFsc28gdXNlIGF1dG8gZm9y
IGEgbG9jYWwgdmFyaWFibGUgbGlrZSBpbiBQb3NpdGlvbkl0ZXJhdG9yLgorICAgICAgICAqIGRv
bS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvc2l0aW9uSXRlcmF0
b3I6OmlzQ2FuZGlkYXRlIGNvbnN0KTogQWRkIGEgY29tbWVudCB0byBtYWtlIHN1cmUgd2UgdXBk
YXRlIFBvc2l0aW9uCisgICAgICAgIHdoZW4gY2hhbmdpbmcgdGhhdCBmdW5jdGlvbi4gUmVhcnJh
bmdlIHRoZSBjb2RlIHRvIHVzZSBwb3NpdGlvbkJlZm9yZU9yQWZ0ZXJOb2RlSXNDYW5kaWRhdGUK
KyAgICAgICAgYW5kIGVhcmx5IHJldHVybiB3aGVuIHRoZSBub2RlIGlzIGEgPGh0bWw+IGVsZW1l
bnQgKHRoZXNlIGFyZSBub3QgYmVoYXZpb3IgY2hhbmdlcykuIEZvcgorICAgICAgICBibG9jayBm
bG93IC8gZ3JpZCAvIGZsZXhib3ggcmVuZGVyZXJzLCBhZGQgYSBzcGVjaWFsIGhhbmRsaW5nIHdo
ZW4gdGhlIGFuY2hvciBub2RlIGlzIGEgcm9vdAorICAgICAgICBlZGl0YWJsZSBlbGVtZW50IDsg
YWxzbyBjaGFuZ2UgdGhlIGZhbGxiYWNrIHZhbHVlIHJldHVybmVkIGF0IHRoZSBlbmQgb2YgdGhl
IGZ1bmN0aW9uICh0aGVzZQorICAgICAgICBhcmUgdHdvIGJlaGF2aW9yIGNoYW5nZXMpLgorCiAy
MDIxLTA4LTAyICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBbY3NzLXNjcm9sbC1zbmFwXSBDb25zaWRlciBhbGwgc25hcCBhcmVhcyBhdCBhIGdpdmVu
IHNuYXAgb2Zmc2V0IHdoZW4gc25hcHBpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Qb3NpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb24uY3BwCmluZGV4IDdl
MWUyNGYxOTkuLmZlZjBmMzUyZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3Np
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmNwcApAQCAtOTY3LDYg
Kzk2Nyw3IEBAIE5vZGUqIFBvc2l0aW9uOjpyb290VXNlclNlbGVjdEFsbEZvck5vZGUoTm9kZSog
bm9kZSkKICAgICByZXR1cm4gY2FuZGlkYXRlUm9vdDsKIH0KIAorLy8gVGhpcyBmdW5jdGlvbiBz
aG91bGQgYmUga2VwdCBpbiBzeW5jIHdpdGggUG9zaXRpb25JdGVyYXRvcjo6aXNDYW5kaWRhdGUo
KS4KIGJvb2wgUG9zaXRpb246OmlzQ2FuZGlkYXRlKCkgY29uc3QKIHsKICAgICBpZiAoaXNOdWxs
KCkpCkBAIC05OTcsNyArOTk4LDcgQEAgYm9vbCBQb3NpdGlvbjo6aXNDYW5kaWRhdGUoKSBjb25z
dAogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoaXM8UmVuZGVyQmxvY2tGbG93Pigq
cmVuZGVyZXIpIHx8IGlzPFJlbmRlckdyaWQ+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyRmxleGli
bGVCb3g+KCpyZW5kZXJlcikpIHsKLSAgICAgICAgUmVuZGVyQmxvY2smIGJsb2NrID0gZG93bmNh
c3Q8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcik7CisgICAgICAgIGF1dG8mIGJsb2NrID0gZG93bmNh
c3Q8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcik7CiAgICAgICAgIGlmIChibG9jay5sb2dpY2FsSGVp
Z2h0KCkgfHwgaXM8SFRNTEJvZHlFbGVtZW50PigqbV9hbmNob3JOb2RlKSB8fCBtX2FuY2hvck5v
ZGUtPmlzUm9vdEVkaXRhYmxlRWxlbWVudCgpKSB7CiAgICAgICAgICAgICBpZiAoIVBvc2l0aW9u
OjpoYXNSZW5kZXJlZE5vbkFub255bW91c0Rlc2NlbmRhbnRzV2l0aEhlaWdodChibG9jaykpCiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGF0Rmlyc3RFZGl0aW5nUG9zaXRpb25Gb3JOb2RlKCkgJiYg
IVBvc2l0aW9uOjpub2RlSXNVc2VyU2VsZWN0Tm9uZShkZXByZWNhdGVkTm9kZSgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Qb3NpdGlvbkl0ZXJhdG9yLmNwcAppbmRleCA3NGIwMmVhNWM4Li43YWMxMjI2
ZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vUG9zaXRpb25JdGVyYXRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uSXRlcmF0b3IuY3BwCkBAIC0xNDUsNiAr
MTQ1LDcgQEAgYm9vbCBQb3NpdGlvbkl0ZXJhdG9yOjphdEVuZE9mTm9kZSgpIGNvbnN0CiAgICAg
cmV0dXJuIG1fYW5jaG9yTm9kZS0+aGFzQ2hpbGROb2RlcygpIHx8IG1fb2Zmc2V0SW5BbmNob3Ig
Pj0gbGFzdE9mZnNldEZvckVkaXRpbmcoKm1fYW5jaG9yTm9kZSk7CiB9CiAKKy8vIFRoaXMgZnVu
Y3Rpb24gc2hvdWxkIGJlIGtlcHQgaW4gc3luYyB3aXRoIFBvc2l0aW9uOjppc0NhbmRpZGF0ZSgp
LgogYm9vbCBQb3NpdGlvbkl0ZXJhdG9yOjppc0NhbmRpZGF0ZSgpIGNvbnN0CiB7CiAgICAgaWYg
KCFtX2FuY2hvck5vZGUpCkBAIC0xNjMsMTkgKzE2NCwyMyBAQCBib29sIFBvc2l0aW9uSXRlcmF0
b3I6OmlzQ2FuZGlkYXRlKCkgY29uc3QKICAgICBpZiAoaXM8UmVuZGVyVGV4dD4oKnJlbmRlcmVy
KSkKICAgICAgICAgcmV0dXJuICFQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUobV9hbmNo
b3JOb2RlKSAmJiBkb3duY2FzdDxSZW5kZXJUZXh0PigqcmVuZGVyZXIpLmNvbnRhaW5zQ2FyZXRP
ZmZzZXQobV9vZmZzZXRJbkFuY2hvcik7CiAKLSAgICBpZiAoaXNSZW5kZXJlZFRhYmxlKG1fYW5j
aG9yTm9kZSkgfHwgZWRpdGluZ0lnbm9yZXNDb250ZW50KCptX2FuY2hvck5vZGUpKQorICAgIGlm
IChwb3NpdGlvbkJlZm9yZU9yQWZ0ZXJOb2RlSXNDYW5kaWRhdGUoKm1fYW5jaG9yTm9kZSkpCiAg
ICAgICAgIHJldHVybiAoYXRTdGFydE9mTm9kZSgpIHx8IGF0RW5kT2ZOb2RlKCkpICYmICFQb3Np
dGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUobV9hbmNob3JOb2RlLT5wYXJlbnROb2RlKCkpOwog
Ci0gICAgaWYgKCFpczxIVE1MSHRtbEVsZW1lbnQ+KCptX2FuY2hvck5vZGUpICYmIChpczxSZW5k
ZXJCbG9ja0Zsb3c+KCpyZW5kZXJlcikgfHwgaXM8UmVuZGVyR3JpZD4oKnJlbmRlcmVyKSB8fCBp
czxSZW5kZXJGbGV4aWJsZUJveD4oKnJlbmRlcmVyKSkpIHsKKyAgICBpZiAoaXM8SFRNTEh0bWxF
bGVtZW50PigqbV9hbmNob3JOb2RlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYg
KGlzPFJlbmRlckJsb2NrRmxvdz4oKnJlbmRlcmVyKSB8fCBpczxSZW5kZXJHcmlkPigqcmVuZGVy
ZXIpIHx8IGlzPFJlbmRlckZsZXhpYmxlQm94PigqcmVuZGVyZXIpKSB7CiAgICAgICAgIGF1dG8m
IGJsb2NrID0gZG93bmNhc3Q8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcik7Ci0gICAgICAgIGlmIChi
bG9jay5sb2dpY2FsSGVpZ2h0KCkgfHwgaXM8SFRNTEJvZHlFbGVtZW50PigqbV9hbmNob3JOb2Rl
KSkgeworICAgICAgICBpZiAoYmxvY2subG9naWNhbEhlaWdodCgpIHx8IGlzPEhUTUxCb2R5RWxl
bWVudD4oKm1fYW5jaG9yTm9kZSkgfHwgbV9hbmNob3JOb2RlLT5pc1Jvb3RFZGl0YWJsZUVsZW1l
bnQoKSkgewogICAgICAgICAgICAgaWYgKCFQb3NpdGlvbjo6aGFzUmVuZGVyZWROb25Bbm9ueW1v
dXNEZXNjZW5kYW50c1dpdGhIZWlnaHQoYmxvY2spKQogICAgICAgICAgICAgICAgIHJldHVybiBh
dFN0YXJ0T2ZOb2RlKCkgJiYgIVBvc2l0aW9uOjpub2RlSXNVc2VyU2VsZWN0Tm9uZShtX2FuY2hv
ck5vZGUpOwogICAgICAgICAgICAgcmV0dXJuIG1fYW5jaG9yTm9kZS0+aGFzRWRpdGFibGVTdHls
ZSgpICYmICFQb3NpdGlvbjo6bm9kZUlzVXNlclNlbGVjdE5vbmUobV9hbmNob3JOb2RlKSAmJiBQ
b3NpdGlvbigqdGhpcykuYXRFZGl0aW5nQm91bmRhcnkoKTsKICAgICAgICAgfQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiBtX2Fu
Y2hvck5vZGUtPmhhc0VkaXRhYmxlU3R5bGUoKSAmJiAhUG9zaXRpb246Om5vZGVJc1VzZXJTZWxl
Y3ROb25lKG1fYW5jaG9yTm9kZSkgJiYgUG9zaXRpb24oKnRoaXMpLmF0RWRpdGluZ0JvdW5kYXJ5
KCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLS0gCjIuMjUuMQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>