Skip to content

Commit 1af615b

Browse files
committed
Move the RPC render problem iframe theme chooser JavaScript to its own file.
This inline script was added in #3145 to support PG dark mode, and most likely @taniwallach will want this not to be inline with the `Content-Security-Policy` headers he is using.
1 parent dbab4bb commit 1af615b

2 files changed

Lines changed: 8 additions & 7 deletions

File tree

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
(() => {
2+
window.parent.postMessage('render-iframe-ready');
3+
window.addEventListener('message', (event) => {
4+
if (!event.data || !event.data.theme) return;
5+
document.documentElement.dataset.bsTheme = event.data.theme;
6+
});
7+
})();

templates/RPCRenderFormats/default.html.ep

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,7 @@
1313
course: <%= $courseID %>
1414
</title>
1515
<link href="<%= "$ce->{webworkURLs}{htdocs}/images/favicon.ico" %>" rel="shortcut icon">
16-
<script>
17-
window.parent.postMessage('render-iframe-ready');
18-
window.addEventListener('message', (event) => {
19-
if (!event.data || !event.data.theme) return;
20-
document.documentElement.dataset.bsTheme = event.data.theme;
21-
});
22-
</script>
16+
%= javascript getAssetURL($ce, 'js/RenderProblem/iframe-child.js'), defer => undef
2317
% # Add third party css and javascript as well as css and javascript requested by the problem.
2418
% for (@$third_party_css) {
2519
%= stylesheet $_

0 commit comments

Comments
 (0)