<?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>291833</bug_id>
          
          <creation_ts>2025-04-20 17:00:07 -0700</creation_ts>
          <short_desc>iOS Safari Garbles UTF-8 Chinese Characters in &lt;pre&gt;.textContent for Directly Loaded JSON Files, Breaking JSON Parsing</short_desc>
          <delta_ts>2025-04-22 08:39:13 -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>DOM</component>
          <version>Safari 18</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>iOS 18</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>197369</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>adrian.rangel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>inspector-bugzilla-changes</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2112127</commentid>
    <comment_count>0</comment_count>
      <attachid>474987</attachid>
    <who name="">adrian.rangel</who>
    <bug_when>2025-04-20 17:00:07 -0700</bug_when>
    <thetext>Created attachment 474987
JSON that fails to parse correctly on iOS

Summary
iOS Safari incorrectly decodes UTF-8 Chinese characters when accessing `document.querySelector(&apos;pre&apos;).textContent` for a `&lt;pre&gt;` element containing a raw JSON file loaded directly (e.g., https://ajsonviewer.browserutils.com/encoding-bug.json). The issue is particularly pronounced when the system language is set to Chinese Simplified, where characters are garbled with replacement characters (e.g., `178漫画网-幕惜` becomes `178婕敾缃�-骞曟儨` with `�`). In English, the garbling produces Latin-1 encoded sequences (e.g., `178æ¼«ç”»ç½‘-å¹•æƒœ`). This corruption introduces invalid JSON syntax, causing `JSON.parse` to fail with errors like `SyntaxError: Unrecognized token &apos;\&apos;` or `SyntaxError: Expected &apos;}&apos;`.

The JSON file renders correctly in iOS Safari’s browser display (e.g., `178漫画网-幕惜`, `分类` appear as expected). The bug is specific to the `textContent` property when accessing JSON loaded directly. When the same JSON is fetched programmatically (e.g., via `fetch`) and set to `&lt;pre&gt;.textContent`, or embedded in an HTML `&lt;pre&gt;` element, the characters are decoded correctly, and parsing succeeds. The issue does not occur in macOS Safari, where `textContent` returns the correct text regardless of language settings.

Steps to Reproduce
1. On an iOS device (e.g., iPhone with iOS 18):
   - Set the system language to Chinese Simplified (Settings &gt; General &gt; Language &amp; Region &gt; Add Language... &gt; Chinese, Simplified).
   - Open the raw JSON file in iOS Safari: https://ajsonviewer.browserutils.com/encoding-bug.json.
   - (also available as attachment to the bug report)
   - Verify that the browser displays correct Chinese characters (e.g., `178漫画网-幕惜`, `分类`, `连载中`).
   - Open the Web Inspector console (via a Mac: Safari &gt; Develop &gt; Your Device) and run:
     ```javascript
     const preElement = document.querySelector(&apos;pre&apos;);
     const content = preElement?.textContent;
     console.log(&apos;Content:&apos;, content);
     try {
       JSON.parse(content);
       console.log(&apos;Parsed successfully&apos;);
     } catch (e) {
       console.error(&apos;Parse failed:&apos;, e);
     }

Observe the garbled text in the console (e.g., 178婕敾缃�-骞曟儨 for bookSourceName, 鍒嗙被 for 分类) and the parse error (e.g., SyntaxError: Unrecognized token &apos;\&apos;).
Change the system language to English (Settings &gt; General &gt; Language &amp; Region &gt; iPhone Language &gt; English).
Reload the JSON file, verify correct display, and rerun the console code, noting different garbling (e.g., 178æ¼«ç”»ç½‘-å¹•æƒœ, æŸ¥åˆ†ç±» for 分类).

2. Testing with an HTML file that fetches the JSON it has the correct behavior:
https://ajsonviewer.browserutils.com/correct-example.html
(correct-example.html attachment)

Expected Results
Accessing &lt;pre&gt;.textContent for a directly loaded JSON file (https://ajsonviewer.browserutils.com/encoding-bug.json) should return valid JSON with correct Chinese characters (e.g., 178漫画网-幕惜, 分类, 连载中), matching the browser’s rendered display.
JSON.parse(content) should succeed, logging Parsed successfully.
The behavior should be consistent across system language settings (Chinese Simplified, English) and match macOS Safari, where textContent is correct.

Actual Results
In iOS Safari (direct JSON file load, e.g., https://ajsonviewer.browserutils.com/encoding-bug.json):
The browser renders the JSON correctly (e.g., 178漫画网-幕惜, 分类).
Accessing &lt;pre&gt;.textContent via JavaScript produces garbled text:
Chinese Simplified System Language: Replacement characters and garbled Unicode (e.g., 178婕敾缃�-骞曟儨, 鍒嗙被 for 分类).
English System Language: Latin-1 encoded sequences (e.g., 178æ¼«ç”»ç½‘-å¹•æƒœ, æŸ¥åˆ†ç±» for 分类).
JSON.parse(content) fails with errors like SyntaxError: Unrecognized token &apos;\&apos; or SyntaxError: Expected &apos;}&apos;.
In iOS Safari (test HTML with fetch):
Fetching the JSON and setting &lt;pre&gt;.textContent results in correct Chinese characters.
JSON.parse succeeds, logging Parsed successfully.
In iOS Safari (HTML with embedded JSON):
Embedding the JSON in a &lt;pre&gt; element (e.g., &lt;pre&gt;[{ &quot;bookSourceName&quot;: &quot;178漫画网-幕惜&quot; }]&lt;/pre&gt;) and accessing textContent works correctly, with no garbling.
In macOS Safari:
&lt;pre&gt;.textContent for direct JSON loads is correct (e.g., 178漫画网-幕惜, 分类) in both language settings.
JSON.parse succeeds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112128</commentid>
    <comment_count>1</comment_count>
      <attachid>474988</attachid>
    <who name="">adrian.rangel</who>
    <bug_when>2025-04-20 17:01:04 -0700</bug_when>
    <thetext>Created attachment 474988
Example of using fetch works correctly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112278</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2025-04-21 16:01:32 -0700</bug_when>
    <thetext>Thank you for the report. Could you please clarify the impact? This seems like something that can only be possibly reached through Web Inspector, so it affects debugging, but not end user experience. Is that correct?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112289</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2025-04-21 16:45:35 -0700</bug_when>
    <thetext>&gt; The JSON file renders correctly in iOS Safari’s browser display (e.g., `178漫画网-幕惜`, `分类` appear as expected). The bug is specific to the `textContent` property when accessing JSON loaded directly. When the same JSON is fetched programmatically (e.g., via `fetch`) and set to `&lt;pre&gt;.textContent`, or embedded in an HTML `&lt;pre&gt;` element, the characters are decoded correctly, and parsing succeeds. The issue does not occur in macOS Safari, where `textContent` returns the correct text regardless of language settings.

I don&apos;t think that this description is accurate. In my testing, the displayed document is incorrect, and textContent accurately reflects that. That&apos;s a known issue.

*** This bug has been marked as a duplicate of bug 197369 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112422</commentid>
    <comment_count>4</comment_count>
    <who name="">adrian.rangel</who>
    <bug_when>2025-04-22 08:34:03 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #2)
&gt; Thank you for the report. Could you please clarify the impact? This seems
&gt; like something that can only be possibly reached through Web Inspector, so
&gt; it affects debugging, but not end user experience. Is that correct?

Thank you for reviewing this report and for your question about the impact.

This bug impacts Chinese users of my Safari extension, Advanced JSON Viewer, on iOS in Chinese Simplified mode.

The extension uses `document.querySelector(&apos;pre&apos;).textContent` and `JSON.parse()` to process JSON files (e.g., https://ajsonviewer.browserutils.com/encoding-bug.json). Garbled text (e.g., `178婕敾缃�-骞曟儨`) leads to failure with errors like `SyntaxError: Unrecognized token &apos;\&apos;`s, breaking the viewer.

Happy to provide more details!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2112424</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2025-04-22 08:39:13 -0700</bug_when>
    <thetext>Thank you for this information. Yes, pretty certain that we&apos;ll need to fix bug 197369 for this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474987</attachid>
            <date>2025-04-20 17:00:07 -0700</date>
            <delta_ts>2025-04-20 17:00:07 -0700</delta_ts>
            <desc>JSON that fails to parse correctly on iOS</desc>
            <filename>encoding-bug.json</filename>
            <type>application/json</type>
            <size>5353</size>
            <attacher>adrian.rangel</attacher>
            
              <data encoding="base64">WwogIHsKICAgICJib29rU291cmNlQ29tbWVudCI6ICIiLAogICAgImJvb2tTb3VyY2VOYW1lIjog
IjE3OOa8q+eUu+e9kS3luZXmg5wiLAogICAgImJvb2tTb3VyY2VUeXBlIjogMiwKICAgICJib29r
U291cmNlVXJsIjogImh0dHBzOi8vd3d3LnBhdHRlcm5yZWNvZ25pdGlvbi5jbiIsCiAgICAiY3Vz
dG9tT3JkZXIiOiAwLAogICAgImVuYWJsZWQiOiB0cnVlLAogICAgImVuYWJsZWRDb29raWVKYXIi
OiBmYWxzZSwKICAgICJlbmFibGVkRXhwbG9yZSI6IHRydWUsCiAgICAiZXhwbG9yZVVybCI6ICJb
e1widGl0bGVcIjpcIuWIhuexu1wiLFwidXJsXCI6XCJcIixcInN0eWxlXCI6e1wibGF5b3V0X2Zs
ZXhHcm93XCI6MSxcImxheW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MX19LHtcInRpdGxlXCI6XCLo
v57ovb3kuK1cIixcInVybFwiOlwiL2NhdGVnb3J5L2VuZC8wL3BhZ2Uve3twYWdlfX0uaHRtbFwi
LFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdyb3dcIjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNl
bnRcIjowLjR9fSx7XCJ0aXRsZVwiOlwi5bey5a6M57uTXCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS9l
bmQvMS9wYWdlL3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6
MSxcImxheW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MC40fX0se1widGl0bGVcIjpcIumcuOaAu1wi
LFwidXJsXCI6XCIvY2F0ZWdvcnkvMS9wYWdlL3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wi
bGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtc
InRpdGxlXCI6XCLmgYvniLFcIixcInVybFwiOlwiL2NhdGVnb3J5LzIvcGFnZS97e3BhZ2V9fS5o
dG1sXCIsXCJzdHlsZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lz
UGVyY2VudFwiOjAuMjV9fSx7XCJ0aXRsZVwiOlwi55Sf5rS7XCIsXCJ1cmxcIjpcIi9jYXRlZ29y
eS8zL3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdyb3dcIjox
LFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpcIueDreihgFwi
LFwidXJsXCI6XCIvY2F0ZWdvcnkvNC9wYWdlL3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wi
bGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtc
InRpdGxlXCI6XCLlkI7lrqtcIixcInVybFwiOlwiL2NhdGVnb3J5LzUvcGFnZS97e3BhZ2V9fS5o
dG1sXCIsXCJzdHlsZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lz
UGVyY2VudFwiOjAuMjV9fSx7XCJ0aXRsZVwiOlwi546E5bm7XCIsXCJ1cmxcIjpcIi9jYXRlZ29y
eS82L3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdyb3dcIjox
LFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpcIuS/ruecn1wi
LFwidXJsXCI6XCIvY2F0ZWdvcnkvNy9wYWdlL3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wi
bGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtc
InRpdGxlXCI6XCLlj6Tpo45cIixcInVybFwiOlwiL2NhdGVnb3J5LzgvcGFnZS97e3BhZ2V9fS5o
dG1sXCIsXCJzdHlsZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lz
UGVyY2VudFwiOjAuMjV9fSx7XCJ0aXRsZVwiOlwi5qCh5ZutXCIsXCJ1cmxcIjpcIi9jYXRlZ29y
eS85L3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdyb3dcIjox
LFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpcIuWKqOS9nFwi
LFwidXJsXCI6XCIvY2F0ZWdvcnkvMTAvcGFnZS97e3BhZ2V9fS5odG1sXCIsXCJzdHlsZVwiOntc
ImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lzUGVyY2VudFwiOjAuMjV9fSx7
XCJ0aXRsZVwiOlwi56ue5oqAXCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS8xMS9wYWdlL3t7cGFnZX19
Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9mbGV4QmFz
aXNQZXJjZW50XCI6MC4yNX19LHtcInRpdGxlXCI6XCLmkJ7nrJFcIixcInVybFwiOlwiL2NhdGVn
b3J5LzEyL3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdyb3dc
IjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpcIuaImOS6
iVwiLFwidXJsXCI6XCIvY2F0ZWdvcnkvMTMvcGFnZS97e3BhZ2V9fS5odG1sXCIsXCJzdHlsZVwi
OntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lzUGVyY2VudFwiOjAuMjV9
fSx7XCJ0aXRsZVwiOlwi56m/6LaKXCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS8xNC9wYWdlL3t7cGFn
ZX19Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9mbGV4
QmFzaXNQZXJjZW50XCI6MC4yNX19LHtcInRpdGxlXCI6XCLlhpLpmalcIixcInVybFwiOlwiL2Nh
dGVnb3J5LzE1L3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxleEdy
b3dcIjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpcIueB
teW8glwiLFwidXJsXCI6XCIvY2F0ZWdvcnkvMTYvcGFnZS97e3BhZ2V9fS5odG1sXCIsXCJzdHls
ZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lzUGVyY2VudFwiOjAu
MjV9fSx7XCJ0aXRsZVwiOlwi5p6256m6XCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS8xNy9wYWdlL3t7
cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91dF9m
bGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtcInRpdGxlXCI6XCLmgqznlpFcIixcInVybFwiOlwi
L2NhdGVnb3J5LzE4L3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRfZmxl
eEdyb3dcIjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVcIjpc
IuaBkOaAllwiLFwidXJsXCI6XCIvY2F0ZWdvcnkvMTkvcGFnZS97e3BhZ2V9fS5odG1sXCIsXCJz
dHlsZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lzUGVyY2VudFwi
OjAuMjV9fSx7XCJ0aXRsZVwiOlwi5Yqx5b+XXCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS8yMC9wYWdl
L3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6MSxcImxheW91
dF9mbGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtcInRpdGxlXCI6XCLnp5HlubtcIixcInVybFwi
OlwiL2NhdGVnb3J5LzIxL3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlvdXRf
ZmxleEdyb3dcIjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX0se1widGl0bGVc
IjpcIuWQjOS6ulwiLFwidXJsXCI6XCIvY2F0ZWdvcnkvMjIvcGFnZS97e3BhZ2V9fS5odG1sXCIs
XCJzdHlsZVwiOntcImxheW91dF9mbGV4R3Jvd1wiOjEsXCJsYXlvdXRfZmxleEJhc2lzUGVyY2Vu
dFwiOjAuMjV9fSx7XCJ0aXRsZVwiOlwi5YW25LuWXCIsXCJ1cmxcIjpcIi9jYXRlZ29yeS8yMy9w
YWdlL3t7cGFnZX19Lmh0bWxcIixcInN0eWxlXCI6e1wibGF5b3V0X2ZsZXhHcm93XCI6MSxcImxh
eW91dF9mbGV4QmFzaXNQZXJjZW50XCI6MC4yNX19LHtcInRpdGxlXCI6XCLnnJ/kurpcIixcInVy
bFwiOlwiL2NhdGVnb3J5LzI0L3BhZ2Uve3twYWdlfX0uaHRtbFwiLFwic3R5bGVcIjp7XCJsYXlv
dXRfZmxleEdyb3dcIjoxLFwibGF5b3V0X2ZsZXhCYXNpc1BlcmNlbnRcIjowLjI1fX1dIiwKICAg
ICJoZWFkZXIiOiAie1wiVXNlci1BZ2VudFwiOiBcIk1vemlsbGEvNS4wIChMaW51eDsgVTsgQW5k
cm9pZCAxNDsgemgtY247IGVuLXVzOyBNMjEwMksxQUMgQnVpbGQvVUtRMS4yMzEyMDcuMDAyKSBB
cHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzQuMCBDaHJvbWUv
MTA5LjAuNTQxNC4xMTggTW9iaWxlIFNhZmFyaS81MzcuMzYgTVFRQnJvd3Nlci8xMC4xLjBcIn0i
LAogICAgImxhc3RVcGRhdGVUaW1lIjogMTc0NDQ0MzYyMTUxNCwKICAgICJyZXNwb25kVGltZSI6
IDE4MDAwMCwKICAgICJydWxlQm9va0luZm8iOiB7CiAgICAgICJhdXRob3IiOiAiLmRldGFpbC1t
YWluLWluZm8tYXV0aG9yQHRleHQiLAogICAgICAiY292ZXJVcmwiOiAiaW1nQGRhdGEtb3JpZ2lu
YWwiLAogICAgICAiaW50cm8iOiAiLmRldGFpbC1tYWluLWluZm8tZGVzY3JpcHRpb25AdGV4dCIs
CiAgICAgICJraW5kIjogIi5kZXRhaWwtbWFpbi1pbmZvLWNsYXNzQHNwYW5AdGV4dCYmI2RldGFp
bC1saXN0LXRpdGxlQHNwYW5AdGV4dCIsCiAgICAgICJsYXN0Q2hhcHRlciI6ICIjZGV0YWlsLWxp
c3Qtc2VsZWN0QGxpLjBAdGV4dCIsCiAgICAgICJuYW1lIjogIi5kZXRhaWwtbWFpbi1pbmZvLXRp
dGxlQHRleHQiLAogICAgICAidG9jVXJsIjogIiIKICAgIH0sCiAgICAicnVsZUNvbnRlbnQiOiB7
CiAgICAgICJjb250ZW50IjogIiNjcF9pbWdAaW1nQGh0bWwiLAogICAgICAiaW1hZ2VTdHlsZSI6
ICJGVUxMIgogICAgfSwKICAgICJydWxlRXhwbG9yZSI6IHsKICAgICAgImJvb2tMaXN0IjogIi5t
YW5nYS1saXN0LTJAbGkiLAogICAgICAiYm9va1VybCI6ICJhLjBAaHJlZiIsCiAgICAgICJjb3Zl
clVybCI6ICJpbWdAc3JjIiwKICAgICAgImludHJvIjogInBAdGV4dCIsCiAgICAgICJuYW1lIjog
Img0QHRleHQjIy4qaXRlbS5uYW1lLioiCiAgICB9LAogICAgInJ1bGVTZWFyY2giOiB7CiAgICAg
ICJhdXRob3IiOiAiLmJvb2stbGlzdC1pbmZvLWJvdHRvbS1pdGVtQHRleHQiLAogICAgICAiYm9v
a0xpc3QiOiAiLmJvb2stbGlzdEBsaSIsCiAgICAgICJib29rVXJsIjogImEuMEBocmVmIiwKICAg
ICAgImNvdmVyVXJsIjogImltZ0BkYXRhLW9yaWdpbmFsIiwKICAgICAgImludHJvIjogIi5ib29r
LWxpc3QtaW5mby1kZXNjQHRleHQiLAogICAgICAia2luZCI6ICIuYm9vay1saXN0LWluZm8tYm90
dG9tLXJpZ2h0LWZvbnRAdGV4dCIsCiAgICAgICJuYW1lIjogImgyQHRleHQiCiAgICB9LAogICAg
InJ1bGVUb2MiOiB7CiAgICAgICJjaGFwdGVyTGlzdCI6ICIjZGV0YWlsLWxpc3Qtc2VsZWN0QGxp
Wy0xOjBdIiwKICAgICAgImNoYXB0ZXJOYW1lIjogImFAdGV4dCIsCiAgICAgICJjaGFwdGVyVXJs
IjogImFAaHJlZiIKICAgIH0sCiAgICAic2VhcmNoVXJsIjogImh0dHBzOi8vd3d3LnBhdHRlcm5y
ZWNvZ25pdGlvbi5jbi9zZWFyY2gve3trZXl9fSIsCiAgICAid2VpZ2h0IjogMAogIH0KXQ==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>474988</attachid>
            <date>2025-04-20 17:01:04 -0700</date>
            <delta_ts>2025-04-20 17:01:04 -0700</delta_ts>
            <desc>Example of using fetch works correctly</desc>
            <filename>correct-example.html</filename>
            <type>text/html</type>
            <size>1931</size>
            <attacher>adrian.rangel</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgoKPGhlYWQ+CiAgPG1ldGEgY2hhcnNldD0iVVRGLTgiPgog
IDxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRp
YWwtc2NhbGU9MS4wIj4KICA8c3R5bGU+CiAgICBwcmUgewogICAgICBiYWNrZ3JvdW5kLWNvbG9y
OiAjZjVmNWY1OwogICAgICBwYWRkaW5nOiAxcmVtOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7
CiAgICAgIG1hcmdpbjogMXJlbSAwOwogICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAg
IHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgIH0KCiAgICAjY29uc29sZS1vdXRwdXQgewogICAg
ICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyZDJkOwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgZm9u
dC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgIH0KCiAgICAuY29uc29sZS1sb2cgewogICAgICBjb2xv
cjogI2ZmZjsKICAgIH0KCiAgICAuY29uc29sZS1lcnJvciB7CiAgICAgIGNvbG9yOiAjZmY2YjZi
OwogICAgfQogIDwvc3R5bGU+CjwvaGVhZD4KCjxib2R5PgogIDxwcmUgaWQ9ImNvbnNvbGUtb3V0
cHV0Ij48L3ByZT4KICA8cHJlIGlkPSJqc29uLWNvbnRlbnQiPjwvcHJlPgogIDxzY3JpcHQ+CiAg
ICBjb25zdCBjb25zb2xlT3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUt
b3V0cHV0Jyk7CgogICAgLy8gT3ZlcnJpZGUgY29uc29sZSBtZXRob2RzIHRvIGRpc3BsYXkgaW4g
dGhlIFVJCiAgICBjb25zdCBvcmlnaW5hbExvZyA9IGNvbnNvbGUubG9nOwogICAgY29uc3Qgb3Jp
Z2luYWxFcnJvciA9IGNvbnNvbGUuZXJyb3I7CgogICAgY29uc29sZS5sb2cgPSBmdW5jdGlvbiAo
Li4uYXJncykgewogICAgICBvcmlnaW5hbExvZy5hcHBseShjb25zb2xlLCBhcmdzKTsKICAgICAg
Y29uc3QgbWVzc2FnZSA9IGFyZ3MubWFwKGFyZyA9PgogICAgICAgIHR5cGVvZiBhcmcgPT09ICdv
YmplY3QnID8gSlNPTi5zdHJpbmdpZnkoYXJnLCBudWxsLCAyKSA6IFN0cmluZyhhcmcpCiAgICAg
ICkuam9pbignICcpOwogICAgICBjb25zb2xlT3V0cHV0LmlubmVySFRNTCArPSBgPGRpdiBjbGFz
cz0iY29uc29sZS1sb2ciPkxvZzogJHttZXNzYWdlfTwvZGl2PmA7CiAgICB9OwoKICAgIGNvbnNv
bGUuZXJyb3IgPSBmdW5jdGlvbiAoLi4uYXJncykgewogICAgICBvcmlnaW5hbEVycm9yLmFwcGx5
KGNvbnNvbGUsIGFyZ3MpOwogICAgICBjb25zdCBtZXNzYWdlID0gYXJncy5tYXAoYXJnID0+CiAg
ICAgICAgdHlwZW9mIGFyZyA9PT0gJ29iamVjdCcgPyBKU09OLnN0cmluZ2lmeShhcmcsIG51bGws
IDIpIDogU3RyaW5nKGFyZykKICAgICAgKS5qb2luKCcgJyk7CiAgICAgIGNvbnNvbGVPdXRwdXQu
aW5uZXJIVE1MICs9IGA8ZGl2IGNsYXNzPSJjb25zb2xlLWVycm9yIj5FcnJvcjogJHttZXNzYWdl
fTwvZGl2PmA7CiAgICB9OwoKICAgIGZldGNoKCdodHRwczovL2Fqc29udmlld2VyLmJyb3dzZXJ1
dGlscy5jb20vZW5jb2RpbmctYnVnLmpzb24nKQogICAgICAudGhlbihyZXNwb25zZSA9PiByZXNw
b25zZS50ZXh0KCkpCiAgICAgIC50aGVuKGRhdGEgPT4gewogICAgICAgIGNvbnN0IHByZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCdqc29uLWNvbnRlbnQnKTsKICAgICAgICBwcmUudGV4dENv
bnRlbnQgPSBkYXRhOwogICAgICAgIHRyeSB7CiAgICAgICAgICBKU09OLnBhcnNlKGRhdGEpOwog
ICAgICAgICAgY29uc29sZS5sb2coJ1BhcnNlZCBzdWNjZXNzZnVsbHknKTsKICAgICAgICB9IGNh
dGNoIChlKSB7CiAgICAgICAgICBjb25zb2xlLmVycm9yKCdQYXJzZSBmYWlsZWQ6JywgZSk7CiAg
ICAgICAgfQogICAgICB9KQogICAgICAuY2F0Y2goZXJyb3IgPT4gY29uc29sZS5lcnJvcignRmV0
Y2ggZmFpbGVkOicsIGVycm9yKSk7CiAgPC9zY3JpcHQ+CjwvYm9keT4KCjwvaHRtbD4=
</data>

          </attachment>
      

    </bug>

</bugzilla>