Hi everyone,

Following up to check if anyone has faced a similar issue with classic GWT 
and strict CSP.

The application works correctly with a nonce-based CSP and strict-dynamic, 
but a CSP console error still appears during GWT code splitting (runAsync), 
when split fragments (e.g., application-0.js) are executed via runtime 
javascript: URLs.

Error:
*application-0.js:1835* Running the JavaScript URL violates the following 
Content Security Policy directive 'script-src 'self' 
'nonce-kq/FBq3JY1ktQIm9FMZoYw==' 'strict-dynamic' 'unsafe-eval''. Either 
the 'unsafe-inline' keyword, a hash ('sha256-...'), or a nonce 
('nonce-...') is required to enable inline execution. Note that hashes do 
not apply to event handlers, style attributes and javascript: navigations 
unless the 'unsafe-hashes' keyword is present. The action has been blocked.

If anyone has successfully resolved this CSP error (without relaxing CSP by 
adding unsafe-inline), I’d really appreciate it if you could share the 
approach or workaround you used.

Thanks in advance!

On Monday, 26 January 2026 at 14:23:12 UTC+5:30 Garima Jain wrote:

> Hi,
>
> I’m working on a classic GWT application and trying to apply a strict 
> Content Security Policy (CSP) using a nonce generated per request.
>
> *CSP Using:*
> default-src 'self'; script-src 'self' 'nonce-<dynamic>' 'strict-dynamic' 
> 'unsafe-eval'; style-src 'self' 'unsafe-inline'; object-src 'self'; img-src 
> 'self' data:; 
>
> *What’s working:*
>
>    - 
>    
>    The app loads and runs correctly.
>    - 
>    
>    GWT is able to load its scripts dynamically.
>    - 
>    
>    The iframe now uses a safe URL (about:blank) instead of a javascript: 
>    URL and works with the current CSP.  
>    - 
>    
>    No functional issues in the app.
>    
> *What’s the problem:*
> Even though everything works, the browser console shows this error:
> Running the JavaScript URL violates the Content Security Policy directive 
>
> The stack trace originates from *GWT code-splitting (runAsync)*, 
> specifically during execution of split fragments (e.g., application-0.js).
> This appears to involve runtime JavaScript execution via javascript: URLs, 
> which is blocked under strict CSP.
>
> *My questions:*
>
>    1. 
>    
>    Is there a supported way in GWT to avoid this javascript: execution 
>    when using code splitting?
>    2. 
>    
>      Is this console error considered a known limitation of classic GWT 
>    under strict CSP, and acceptable if the application works correctly?  
>    
> I’d like to keep CSP strict and avoid adding unsafe-inline.
>
> Thanks!
>

-- 
You received this message because you are subscribed to the Google Groups "GWT 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/google-web-toolkit/894f3f9e-3583-4f98-a9c9-7b16ac40c02cn%40googlegroups.com.

Reply via email to