<?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>298577</bug_id>
          
          <creation_ts>2025-09-08 19:37:57 -0700</creation_ts>
          <short_desc>[cleanup]  Replace LayoutBoxLocation with OptionSet&lt;TextBoxFragmentLocationWithinLayoutBox&gt; in TextBoxPainter</short_desc>
          <delta_ts>2025-09-09 13:15:23 -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>New Bugs</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2141789</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-09-08 19:37:57 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2141871</commentid>
    <comment_count>1</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2025-09-09 07:38:55 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2141877</commentid>
    <comment_count>2</comment_count>
      <attachid>476681</attachid>
    <who name="alan">zalan</who>
    <bug_when>2025-09-09 07:46:50 -0700</bug_when>
    <thetext>Created attachment 476681
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2141952</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-09-09 13:14:01 -0700</bug_when>
    <thetext>Committed 299774@main (49185535d39f): &lt;https://commits.webkit.org/299774@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 476681.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2141953</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-09-09 13:15:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/160224869&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>476681</attachid>
            <date>2025-09-09 07:46:50 -0700</date>
            <delta_ts>2025-09-09 13:14:05 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-298577-20250909074649.patch</filename>
            <type>text/plain</type>
            <size>5416</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAwODJhZmRjZjQ4Zjg2NDY2YjJjYmYxNDJkYzkzNzg1MTIyZDNiZWY5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgOCBTZXAgMjAyNSAxOTozOTo1OCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFtjbGVhbnVw
XSBSZXBsYWNlIExheW91dEJveExvY2F0aW9uIHdpdGgKIE9wdGlvblNldDxUZXh0Qm94RnJhZ21l
bnRMb2NhdGlvbldpdGhpbkxheW91dEJveD4gaW4gVGV4dEJveFBhaW50ZXIKIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTg1NzcKClJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgoKTGF5b3V0Qm94TG9jYXRpb24gaXMgYSBiaXQgdmVyYm9zZSB3aXRoIGEgdHJ1bHkg
dW5leHBlY3RlZCB2YWx1ZSBvZiAidW5rbm93biIuCkxldCdzIHVzZSBhIG1vcmUgY29tcGFjdCBP
cHRpb25TZXQgd2l0aCBmaXJzdCBhbmQgbGFzdCwgd2hlcmUgZmlyc3QrbGFzdCBpbmRpY2F0ZXMg
dGhlIGJveCBpcyB0aGUgb25seSBkaXNwbGF5IGJveCBpbiBpdHMgbGF5b3V0IGJveCAocmVuZGVy
ZXIpLCBhbmQgZW1wdHkgaW5kaWNhdGVzIGl0IGxpZXMgaW4gdGhlIG1pZGRsZSB3aXRoIGFkamFj
ZW50IGJveGVzIGZyb20gdGhlIHNhbWUgbGF5b3V0IGJveCAocmVuZGVyZXIpLgoKKiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dEJveFBhaW50ZXIuY3BwOgooV2ViQ29yZTo6dGV4dEJveEZy
YWdtZW50TG9jYXRpb25XaXRoaW5MYXlvdXRCb3gpOgooV2ViQ29yZTo6VGV4dEJveFBhaW50ZXI6
OmZpbGxDb21wb3NpdGlvblVuZGVybGluZSBjb25zdCk6CihXZWJDb3JlOjpsYXlvdXRCb3hTZXF1
ZW5jZUxvY2F0aW9uKTogRGVsZXRlZC4KLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4
dEJveFBhaW50ZXIuY3BwIHwgNTkgKysrKysrKy0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl
ZCwgMTggaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKaW5kZXggMjBkMWU4MTA5OGYyLi41ZmRkOGRjM2Ex
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcApAQCAt
ODMwLDI1ICs4MzAsMTUgQEAgc3RhdGljIEZsb2F0UmVjdCBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxz
SW5EaXJlY3Rpb24oY29uc3QgRmxvYXRSZWN0JiByZWN0LCBmbG9hdAogICAgIH0KIH0KIAotZW51
bSBjbGFzcyBMYXlvdXRCb3hMb2NhdGlvbiA6IHVpbnQ4X3QgewotICAgIE9ubHlCb3gsCi0gICAg
U3RhcnRPZlNlcXVlbmNlLAotICAgIEVuZE9mU2VxdWVuY2UsCi0gICAgTWlkZGxlT2ZTZXF1ZW5j
ZSwKLSAgICBVbmtub3duLAotfTsKLQotc3RhdGljIExheW91dEJveExvY2F0aW9uIGxheW91dEJv
eFNlcXVlbmNlTG9jYXRpb24oY29uc3QgSW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGgmIHRl
eHRCb3gpCitlbnVtIGNsYXNzIFRleHRCb3hGcmFnbWVudExvY2F0aW9uV2l0aGluTGF5b3V0Qm94
IDogdWludDhfdCB7IEZpcnN0ID0gMSA8PCAwLCBMYXN0ID0gMSA8PCAxIH07CitzdGF0aWMgT3B0
aW9uU2V0PFRleHRCb3hGcmFnbWVudExvY2F0aW9uV2l0aGluTGF5b3V0Qm94PiB0ZXh0Qm94RnJh
Z21lbnRMb2NhdGlvbldpdGhpbkxheW91dEJveChjb25zdCBJbmxpbmVJdGVyYXRvcjo6Qm94TW9k
ZXJuUGF0aCYgdGV4dEJveCkKIHsKLSAgICBhdXRvIGlzRmlyc3RGb3JMYXlvdXRCb3ggPSB0ZXh0
Qm94LmJveCgpLmlzRmlyc3RGb3JMYXlvdXRCb3goKTsKLSAgICBhdXRvIGlzTGFzdEZvckxheW91
dEJveCA9IHRleHRCb3guYm94KCkuaXNMYXN0Rm9yTGF5b3V0Qm94KCk7Ci0gICAgaWYgKGlzRmly
c3RGb3JMYXlvdXRCb3ggJiYgaXNMYXN0Rm9yTGF5b3V0Qm94KQotICAgICAgICByZXR1cm4gTGF5
b3V0Qm94TG9jYXRpb246Ok9ubHlCb3g7Ci0gICAgaWYgKGlzRmlyc3RGb3JMYXlvdXRCb3gpCi0g
ICAgICAgIHJldHVybiBMYXlvdXRCb3hMb2NhdGlvbjo6U3RhcnRPZlNlcXVlbmNlOwotICAgIGlm
IChpc0xhc3RGb3JMYXlvdXRCb3gpCi0gICAgICAgIHJldHVybiBMYXlvdXRCb3hMb2NhdGlvbjo6
RW5kT2ZTZXF1ZW5jZTsKLSAgICByZXR1cm4gTGF5b3V0Qm94TG9jYXRpb246Ok1pZGRsZU9mU2Vx
dWVuY2U7CisgICAgT3B0aW9uU2V0PFRleHRCb3hGcmFnbWVudExvY2F0aW9uV2l0aGluTGF5b3V0
Qm94PiBsb2NhdGlvbjsKKyAgICBpZiAodGV4dEJveC5ib3goKS5pc0ZpcnN0Rm9yTGF5b3V0Qm94
KCkpCisgICAgICAgIGxvY2F0aW9uLmFkZChUZXh0Qm94RnJhZ21lbnRMb2NhdGlvbldpdGhpbkxh
eW91dEJveDo6Rmlyc3QpOworICAgIGlmICh0ZXh0Qm94LmJveCgpLmlzTGFzdEZvckxheW91dEJv
eCgpKQorICAgICAgICBsb2NhdGlvbi5hZGQoVGV4dEJveEZyYWdtZW50TG9jYXRpb25XaXRoaW5M
YXlvdXRCb3g6Okxhc3QpOworICAgIHJldHVybiBsb2NhdGlvbjsKIH0KICNlbmRpZgogCkBAIC05
MjEsMzIgKzkxMSwxOSBAQCB2b2lkIFRleHRCb3hQYWludGVyOjpmaWxsQ29tcG9zaXRpb25VbmRl
cmxpbmUoZmxvYXQgc3RhcnQsIGZsb2F0IHdpZHRoLCBjb25zdCBDbwogICAgIC8vIEFzIGEgbWl0
aWdhdGlvbiwgd2UgY29uc3VsdCB0aGUgdGV4dGJveCBwYXRoIHRvIHVuZGVyc3RhbmQgdGhlIGN1
cnJlbnQgcmVjdCdzIHBvc2l0aW9uIGluIHRoZSB0ZXh0Ym94IHBhdGguCiAgICAgLy8gSWYgd2Un
cmUgdGhlIG9ubHkgYm94IGluIHRoZSBwYXRoLCB0aGVuIHdlIGZhbGxiYWNrIHRvIHVuY29uZGl0
aW9uYWxseSBkcmF3aW5nIHJvdW5kZWQgZWRnZXMuCiAgICAgLy8gSWYgbm90LCB3ZSBmbGF0dGVu
IG91dCB0aGUgcmlnaHQsIGxlZnQsIG9yIGJvdGggZWRnZXMgZGVwZW5kaW5nIG9uIHdoZXRoZXIg
d2UncmUgYXQgdGhlIHN0YXJ0LCBlbmQsIG9yIG1pZGRsZSBvZiBhIHBhdGgsIHJlc3BlY3RpdmVs
eS4KLQorICAgIGF1dG8gZnJhZ21lbnRMb2NhdGlvbiA9IHRleHRCb3hGcmFnbWVudExvY2F0aW9u
V2l0aGluTGF5b3V0Qm94KG1fdGV4dEJveCk7CiAgICAgYXV0byBkZXZpY2VTY2FsZUZhY3RvciA9
IG1fZG9jdW1lbnQuZGV2aWNlU2NhbGVGYWN0b3IoKTsKLQotICAgIHN3aXRjaCAobGF5b3V0Qm94
U2VxdWVuY2VMb2NhdGlvbihtX3RleHRCb3gpKSB7Ci0gICAgY2FzZSBMYXlvdXRCb3hMb2NhdGlv
bjo6VW5rbm93bjoKLSAgICBjYXNlIExheW91dEJveExvY2F0aW9uOjpPbmx5Qm94OiB7CisgICAg
aWYgKGZyYWdtZW50TG9jYXRpb24uY29udGFpbnNBbGwoeyBUZXh0Qm94RnJhZ21lbnRMb2NhdGlv
bldpdGhpbkxheW91dEJveDo6Rmlyc3QsIFRleHRCb3hGcmFnbWVudExvY2F0aW9uV2l0aGluTGF5
b3V0Qm94OjpMYXN0IH0pKQogICAgICAgICBjb250ZXh0LmZpbGxSb3VuZGVkUmVjdChGbG9hdFJv
dW5kZWRSZWN0IHsgcmVjdCwgcmFkaWkgfSwgdW5kZXJsaW5lQ29sb3IpOwotICAgICAgICByZXR1
cm47Ci0gICAgfQotICAgIGNhc2UgTGF5b3V0Qm94TG9jYXRpb246OlN0YXJ0T2ZTZXF1ZW5jZTog
ewotICAgICAgICBhdXRvIHNuYXBwZWRSZWN0UmlnaHQgPSBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxz
SW5EaXJlY3Rpb24ocmVjdCwgZGV2aWNlU2NhbGVGYWN0b3IsIFNuYXBEaXJlY3Rpb246OlJpZ2h0
KTsKLSAgICAgICAgY29udGV4dC5maWxsUm91bmRlZFJlY3QoRmxvYXRSb3VuZGVkUmVjdCB7IHNu
YXBwZWRSZWN0UmlnaHQsIHRyaW1SYWRpaShyYWRpaSwgVHJpbVNpZGU6OlJpZ2h0KSB9LCB1bmRl
cmxpbmVDb2xvcik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY2FzZSBMYXlvdXRCb3hM
b2NhdGlvbjo6RW5kT2ZTZXF1ZW5jZTogewotICAgICAgICBhdXRvIHNuYXBwZWRSZWN0TGVmdCA9
IHNuYXBSZWN0VG9EZXZpY2VQaXhlbHNJbkRpcmVjdGlvbihyZWN0LCBkZXZpY2VTY2FsZUZhY3Rv
ciwgU25hcERpcmVjdGlvbjo6TGVmdCk7Ci0gICAgICAgIGNvbnRleHQuZmlsbFJvdW5kZWRSZWN0
KEZsb2F0Um91bmRlZFJlY3QgeyBzbmFwcGVkUmVjdExlZnQsIHRyaW1SYWRpaShyYWRpaSwgVHJp
bVNpZGU6OkxlZnQpIH0sIHVuZGVybGluZUNvbG9yKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LSAgICBjYXNlIExheW91dEJveExvY2F0aW9uOjpNaWRkbGVPZlNlcXVlbmNlOiB7Ci0gICAgICAg
IGF1dG8gc25hcHBlZFJlY3RCb3RoID0gc25hcFJlY3RUb0RldmljZVBpeGVsc0luRGlyZWN0aW9u
KHJlY3QsIGRldmljZVNjYWxlRmFjdG9yLCBTbmFwRGlyZWN0aW9uOjpCb3RoKTsKLSAgICAgICAg
Y29udGV4dC5maWxsUmVjdChzbmFwcGVkUmVjdEJvdGgsIHVuZGVybGluZUNvbG9yKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KKyAgICBlbHNlIGlmIChmcmFnbWVudExvY2F0aW9uID09IFRleHRC
b3hGcmFnbWVudExvY2F0aW9uV2l0aGluTGF5b3V0Qm94OjpGaXJzdCkKKyAgICAgICAgY29udGV4
dC5maWxsUm91bmRlZFJlY3QoRmxvYXRSb3VuZGVkUmVjdCB7IHNuYXBSZWN0VG9EZXZpY2VQaXhl
bHNJbkRpcmVjdGlvbihyZWN0LCBkZXZpY2VTY2FsZUZhY3RvciwgU25hcERpcmVjdGlvbjo6Umln
aHQpLCB0cmltUmFkaWkocmFkaWksIFRyaW1TaWRlOjpSaWdodCkgfSwgdW5kZXJsaW5lQ29sb3Ip
OworICAgIGVsc2UgaWYgKGZyYWdtZW50TG9jYXRpb24gPT0gVGV4dEJveEZyYWdtZW50TG9jYXRp
b25XaXRoaW5MYXlvdXRCb3g6Okxhc3QpCisgICAgICAgIGNvbnRleHQuZmlsbFJvdW5kZWRSZWN0
KEZsb2F0Um91bmRlZFJlY3QgeyBzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzSW5EaXJlY3Rpb24ocmVj
dCwgZGV2aWNlU2NhbGVGYWN0b3IsIFNuYXBEaXJlY3Rpb246OkxlZnQpLCB0cmltUmFkaWkocmFk
aWksIFRyaW1TaWRlOjpMZWZ0KSB9LCB1bmRlcmxpbmVDb2xvcik7CisgICAgZWxzZSB7CisgICAg
ICAgIEFTU0VSVChmcmFnbWVudExvY2F0aW9uLmlzRW1wdHkoKSk7CisgICAgICAgIC8vIFRoaXMg
dGV4dCBmcmFnbWVudCBpcyByaWdodCBpbiB0aGUgbWlkZGxlIG9mIHRoZSBib3ggY29udGVudC4K
KyAgICAgICAgY29udGV4dC5maWxsUmVjdChzbmFwUmVjdFRvRGV2aWNlUGl4ZWxzSW5EaXJlY3Rp
b24ocmVjdCwgZGV2aWNlU2NhbGVGYWN0b3IsIFNuYXBEaXJlY3Rpb246OkJvdGgpLCB1bmRlcmxp
bmVDb2xvcik7CiAgICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgiVW5leHBlY3RlZCBMYXlv
dXRCb3hMb2NhdGlvbiB2YWx1ZSwgdW5kZXJsaW5lIG5vdCBkcmF3biIpOwogI2Vsc2UKICAgICBV
TlVTRURfUEFSQU0ocmFkaWkpOwogICAgIFVOVVNFRF9QQVJBTShoYXNMaXZlQ29udmVyc2lvbik7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>