Skip to content

Commit

Permalink
chore(CSP): Avoid CSP issues
Browse files Browse the repository at this point in the history
  • Loading branch information
geido committed Sep 2, 2024
1 parent 2260f7b commit 7d451c4
Showing 1 changed file with 24 additions and 15 deletions.
39 changes: 24 additions & 15 deletions superset/templates/superset/basic.html
Original file line number Diff line number Diff line change
Expand Up @@ -29,39 +29,34 @@
favicon.href.startswith("http") else assets_prefix }}{{favicon.href}}" > {%
endfor %}
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/flags/flags16.css"
media="print"
onload="this.media='all'"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/fontawesome.min.css"
media="print"
onload="this.media='all'"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/solid.min.css"
media="print"
onload="this.media='all'"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/fontawesome/brands.min.css"
media="print"
onload="this.media='all'"
as="style"
/>
<link
rel="stylesheet"
rel="preload"
type="text/css"
href="{{ assets_prefix }}/static/appbuilder/css/select2/select2.min.css"
media="print"
onload="this.media='all'"
as="style"
/>

{{ css_bundle("theme") }} {% if entry %} {{ css_bundle(entry) }} {% endif %}
Expand Down Expand Up @@ -126,5 +121,19 @@ <h4 data-test="modal-title" class="modal-title"></h4>
{% block tail_js %} {% if not standalone_mode %} {{ js_bundle('menu') }} {%
endif %} {% if entry %} {{ js_bundle(entry) }} {% endif %} {% include
"tail_js_custom_extra.html" %} {% endblock %}

<!-- Handle deferred stylesheets -->
<script>
document.addEventListener('DOMContentLoaded', function() {
var preloadLinks = document.querySelectorAll('link[rel="preload"][as="style"]');

preloadLinks.forEach(function(link) {

This comment has been minimized.

Copy link
@kgabryje

kgabryje Sep 2, 2024

Member

load event is triggered for the whole page, so we don't need a separate event listener for each link

This comment has been minimized.

Copy link
@kgabryje

kgabryje Sep 2, 2024

Member

Also, I wonder if we could just swap rel on DOMContentLoaded event

link.addEventListener('load', function() {
link.rel = 'stylesheet';
link.onload = null;
});
});
});
</script>
</body>
</html>

0 comments on commit 7d451c4

Please sign in to comment.