<!doctype html> <body> <script src=/resources/testharness.js></script> <script src=/resources/testharnessreport.js></script> <script src=/browsing-topics/resources/navigation-header-util.sub.js></script> <script> async_test(t => { test_topics_iframe_navigation_header( t, /*has_browsing_topics_attribute=*/true, /*is_same_origin=*/false, expect_topics_header_unavailable); }, 'test <iframe browsingtopics src=[url]></iframe> in an insecure context, where the browsingtopics attribute is set via IDL.'); async_test(t => { const same_origin_src = '/browsing-topics/resources/check-topics-request-header-notify-parent.py'; const cross_origin_src = 'https://{{domains[www]}}:{{ports[https][0]}}' + same_origin_src; let frame = document.createElement('iframe'); window.addEventListener('message', t.step_func(function handler(evt) { if (evt.source === frame.contentWindow) { assert_equals(evt.data.topicsHeader, 'NO_TOPICS_HEADER'); document.body.removeChild(frame); window.removeEventListener('message', handler); t.done(); } })); document.body.appendChild(frame); frame.setAttribute("browsingtopics", "123"); frame.src = cross_origin_src; }, 'test <iframe browsingtopics src=[url]></iframe> in an insecure context, where the browsingtopics attribute is set via setAttribute().'); </script> </body>