%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
async_test(t => { // This could be detected as ISO-2022-JP, in which case there would be no // <textarea>, and thus the script inside would be interpreted as actual // script. const blob = new Blob( [ `aaa\u001B$@<textarea>\u001B(B<script>/* xss */<\/script></textarea>bbb` ], {type: 'text/html;charset=utf-8'}); const url = URL.createObjectURL(blob); const win = window.open(url); t.add_cleanup(() => { win.close(); }); win.onload = t.step_func_done(() => { assert_equals(win.document.charset, 'UTF-8'); }); }, 'Blob charset should override any auto-detected charset.'); async_test(t => { const blob = new Blob( [`<!doctype html>\n<meta charset="ISO-8859-1">`], {type: 'text/html;charset=utf-8'}); const url = URL.createObjectURL(blob); const win = window.open(url); t.add_cleanup(() => { win.close(); }); win.onload = t.step_func_done(() => { assert_equals(win.document.charset, 'UTF-8'); }); }, 'Blob charset should override <meta charset>.');