<?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>230119</bug_id>
          
          <creation_ts>2021-09-09 12:49:45 -0700</creation_ts>
          <short_desc>FontFaceSet&apos;s iterators skip items when previous items are removed</short_desc>
          <delta_ts>2022-09-12 15:09:25 -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>Text</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792035</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-09 12:49:45 -0700</bug_when>
    <thetext>User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Safari/605.1.15

Steps to reproduce:

Iterate across a FontFaceSet. When the iterator is halfway through, delete an element from the first half. Then continue iterating.

FontFaceSet is Setlike, and JS&apos;s set delete functionality is specified as:

&gt; Replace the element of entries whose value is e with an element whose value is empty.

The purpose of this is to make iterators not skip over items when items are deleted during iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792036</commentid>
    <comment_count>1</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-09 12:50:13 -0700</bug_when>
    <thetext>I opened the same bug on Gecko here: https://bugzilla.mozilla.org/show_bug.cgi?id=1729997</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792037</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-09 12:50:43 -0700</bug_when>
    <thetext>WebKit doesn&apos;t actually use setlike&lt;FontFace&gt; inside the IDL for FontFaceSet. Migrating to that might fix this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792038</commentid>
    <comment_count>3</comment_count>
      <attachid>437769</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-09 12:51:37 -0700</bug_when>
    <thetext>Created attachment 437769
Test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792039</commentid>
    <comment_count>4</comment_count>
      <attachid>437770</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-09-09 12:52:28 -0700</bug_when>
    <thetext>Created attachment 437770
Highlight API test

I also tested the Highlight API (which also uses setlike) and it behaves correctly here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792040</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-09 12:53:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/82939287&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1898031</commentid>
    <comment_count>6</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-12 15:09:10 -0700</bug_when>
    <thetext>*** Safari 16 / STP 153 on macOS 12.6 ***

A , A , C - Using &quot;Test&quot;

*** Firefox Nightly 106 ***

A , A , C - Using &quot;Test&quot;


*** Chrome Canary 107 ***

A , A , B - Using &quot;Test&quot;

_____________

*** Safari 16 / STP 153 on macOS 12.6 ***

Just &apos;Hello&apos; in body but no dialog box - Using &quot;API&quot; test

*** Firefox Nightly 106 ***

Just &apos;Hello&apos; in body but no dialog box - Using &quot;API&quot; test


*** Chrome Canary 107 ***

Just &apos;Hello&apos; in body but 1 , 1 , 2 dialog alerts - Using &quot;API&quot; test

____

Just wanted to share updated testing results. Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>437769</attachid>
            <date>2021-09-09 12:51:37 -0700</date>
            <delta_ts>2021-09-09 12:51:37 -0700</delta_ts>
            <desc>Test</desc>
            <filename>file.html</filename>
            <type>text/html</type>
            <size>529</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPC9oZWFkPgo8Ym9keT4KPHNjcmlwdD4KbGV0
IGZvbnRzID0gZG9jdW1lbnQuZm9udHM7CmxldCBhID0gbmV3IEZvbnRGYWNlKCJBIiwgInVybCgn
TXlGb250LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSIpOwpsZXQgYiA9IG5ldyBGb250RmFjZSgi
QiIsICJ1cmwoJ015Rm9udC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJykiKTsKbGV0IGMgPSBuZXcg
Rm9udEZhY2UoIkMiLCAidXJsKCdNeUZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpIik7CmZv
bnRzLmFkZChhKTsKZm9udHMuYWRkKGIpOwpmb250cy5hZGQoYyk7CmxldCBpdGVyYXRvciA9IGZv
bnRzLnZhbHVlcygpOwp2YXIgaXRlbSA9IGl0ZXJhdG9yLm5leHQoKTsKYWxlcnQoaXRlbS52YWx1
ZS5mYW1pbHkpOwpmb250cy5kZWxldGUoYSk7CmFsZXJ0KGl0ZW0udmFsdWUuZmFtaWx5KTsKaXRl
bSA9IGl0ZXJhdG9yLm5leHQoKTsKYWxlcnQoaXRlbS52YWx1ZS5mYW1pbHkpOwo8L3NjcmlwdD4K
PC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>437770</attachid>
            <date>2021-09-09 12:52:28 -0700</date>
            <delta_ts>2021-09-09 12:52:28 -0700</delta_ts>
            <desc>Highlight API test</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>708</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPC9oZWFkPgo8Ym9keT4KSGVsbG8KPHNjcmlw
dD4KbGV0IGEgPSBuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVudC5ib2R5
LCBzdGFydE9mZnNldDogMSwgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBlbmRPZmZzZXQ6
IDJ9KTsKbGV0IGIgPSBuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVudC5i
b2R5LCBzdGFydE9mZnNldDogMiwgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBlbmRPZmZz
ZXQ6IDN9KTsKbGV0IGMgPSBuZXcgU3RhdGljUmFuZ2Uoe3N0YXJ0Q29udGFpbmVyOiBkb2N1bWVu
dC5ib2R5LCBzdGFydE9mZnNldDogMywgZW5kQ29udGFpbmVyOiBkb2N1bWVudC5ib2R5LCBlbmRP
ZmZzZXQ6IDR9KTsKbGV0IGhpZ2hsaWdodCA9IG5ldyBIaWdobGlnaHQoYSk7CmhpZ2hsaWdodC5h
ZGQoYik7CmhpZ2hsaWdodC5hZGQoYyk7CmxldCBpdGVyYXRvciA9IGhpZ2hsaWdodC52YWx1ZXMo
KTsKdmFyIGl0ZW0gPSBpdGVyYXRvci5uZXh0KCk7CmFsZXJ0KGl0ZW0udmFsdWUuc3RhcnRPZmZz
ZXQpOwpoaWdobGlnaHQuZGVsZXRlKGEpOwphbGVydChpdGVtLnZhbHVlLnN0YXJ0T2Zmc2V0KTsK
aXRlbSA9IGl0ZXJhdG9yLm5leHQoKTsKYWxlcnQoaXRlbS52YWx1ZS5zdGFydE9mZnNldCk7Cjwv
c2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>