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's set delete functionality is specified as: > 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.
I opened the same bug on Gecko here: https://bugzilla.mozilla.org/show_bug.cgi?id=1729997
WebKit doesn't actually use setlike<FontFace> inside the IDL for FontFaceSet. Migrating to that might fix this.
Created attachment 437769 [details] Test
Created attachment 437770 [details] Highlight API test I also tested the Highlight API (which also uses setlike) and it behaves correctly here.
<rdar://problem/82939287>
*** Safari 16 / STP 153 on macOS 12.6 *** A , A , C - Using "Test" *** Firefox Nightly 106 *** A , A , C - Using "Test" *** Chrome Canary 107 *** A , A , B - Using "Test" _____________ *** Safari 16 / STP 153 on macOS 12.6 *** Just 'Hello' in body but no dialog box - Using "API" test *** Firefox Nightly 106 *** Just 'Hello' in body but no dialog box - Using "API" test *** Chrome Canary 107 *** Just 'Hello' in body but 1 , 1 , 2 dialog alerts - Using "API" test ____ Just wanted to share updated testing results. Thanks!