File tree Expand file tree Collapse file tree 4 files changed +15
-18
lines changed
template/templates/common Expand file tree Collapse file tree 4 files changed +15
-18
lines changed Original file line number Diff line number Diff line change 2929
3030 {{ if .user }}
3131 {{ $cspNonce := nonce }}
32- < meta http-equiv ="Content-Security-Policy " content ="default-src 'self'; img-src * data:; media-src *; frame-src *; {{ if .user.ExternalFontHosts }}font-src {{ .user.ExternalFontHosts }}; {{ end }}style-src 'self'{{ if .user.Stylesheet }}{{ if .user.ExternalFontHosts }} {{ .user.ExternalFontHosts }}{{ end }} 'nonce-{{ $cspNonce }}'{{ end }}{{ if .user.CustomJS }}; script-src 'self' 'nonce-{{ $cspNonce }}'{{ end }}; require-trusted-types-for 'script'; trusted-types ttpolicy ; ">
32+ < meta http-equiv ="Content-Security-Policy " content ="default-src 'self'; img-src * data:; media-src *; frame-src *; {{ if .user.ExternalFontHosts }}font-src {{ .user.ExternalFontHosts }}; {{ end }}style-src 'self'{{ if .user.Stylesheet }}{{ if .user.ExternalFontHosts }} {{ .user.ExternalFontHosts }}{{ end }} 'nonce-{{ $cspNonce }}'{{ end }}{{ if .user.CustomJS }}; script-src 'self' 'nonce-{{ $cspNonce }}'{{ end }}; require-trusted-types-for 'script'; trusted-types html url ; ">
3333
3434 {{ if .user.Stylesheet -}}
3535 < style nonce ="{{ $cspNonce }} "> {{ .user .Stylesheet | safeCSS }}</ style >
3939 < script type ="module " nonce ="{{ $cspNonce }} "> { { . user . CustomJS | safeJS } } </ script >
4040 {{ end -}}
4141 {{ else -}}
42- < meta http-equiv ="Content-Security-Policy " content ="default-src 'self'; img-src * data:; media-src *; frame-src *; require-trusted-types-for 'script'; trusted-types ttpolicy ; ">
42+ < meta http-equiv ="Content-Security-Policy " content ="default-src 'self'; img-src * data:; media-src *; frame-src *; require-trusted-types-for 'script'; trusted-types html url ; ">
4343 {{ end -}}
4444
4545 < script src ="{{ route "javascript " "name" "app" "checksum" .app_js_checksum }}" type="module "> </ script >
Original file line number Diff line number Diff line change 22const TOP = 9999 ;
33const BOTTOM = - 9999 ;
44
5+ // Simple Polyfill for browsers that don't support Trusted Types
6+ // See https://caniuse.com/?search=trusted%20types
7+ if ( ! window . trustedTypes || ! trustedTypes . createPolicy ) {
8+ window . trustedTypes = {
9+ createPolicy : ( name , policy ) => ( {
10+ createScriptURL : src => src ,
11+ createHTML : html => html ,
12+ } )
13+ } ;
14+ }
15+
516/**
617 * Send a POST request to the specified URL with the given body.
718 *
@@ -746,6 +757,7 @@ function handleFetchOriginalContentAction() {
746757
747758 response . json ( ) . then ( ( data ) => {
748759 if ( data . content && data . reading_time ) {
760+ const ttpolicy = trustedTypes . createPolicy ( 'html' , { createHTML : html => html } ) ;
749761 document . querySelector ( ".entry-content" ) . innerHTML = ttpolicy . createHTML ( data . content ) ;
750762 const entryReadingtimeElement = document . querySelector ( ".entry-reading-time" ) ;
751763 if ( entryReadingtimeElement ) {
@@ -1081,6 +1093,7 @@ function initializeServiceWorker() {
10811093 if ( "serviceWorker" in navigator ) {
10821094 const serviceWorkerURL = document . body . dataset . serviceWorkerUrl ;
10831095 if ( serviceWorkerURL ) {
1096+ const ttpolicy = trustedTypes . createPolicy ( 'url' , { createScriptURL : src => src } ) ;
10841097 navigator . serviceWorker . register ( ttpolicy . createScriptURL ( serviceWorkerURL ) , {
10851098 type : "module"
10861099 } ) . catch ( ( error ) => {
Load Diff This file was deleted.
Original file line number Diff line number Diff line change @@ -121,7 +121,6 @@ func GenerateStylesheetsBundles() error {
121121func GenerateJavascriptBundles (webauthnEnabled bool ) error {
122122 var bundles = map [string ][]string {
123123 "app" : {
124- "js/tt.js" , // has to be first
125124 "js/touch_handler.js" ,
126125 "js/keyboard_handler.js" ,
127126 "js/modal_handler.js" ,
You can’t perform that action at this time.
0 commit comments