Material 1.3.2, loading of Google fonts

Dear Vaadineers and Community,

we are using Vaadin 14.1.x. Our customer has recently complained that the Vaadin applications we build for them communicate with Google to download fonts (i.e., the Browsers). This is a NoGo for our customer, they don’t want this for several reasons which are out of the scope of this post.

Unable to find any documentation how to switch off this behavior, or from where it comes, we did lots of digging ourselves. Current state of our research is, that it originates from the Material theme - which apparently is also active, even if we use Lumo (?). Vaadin 14.1.x uses Material 1.2.3 (hidden behind some transitive dependencies). In the meantime, Material 1.3.2 is available for some time, and Material 1.3.2 has a simple JavaScript switch to turn of the talking to Google.
Since we are still using Vaadin 14 in compatibility mode to Vaadin 13, we though about investing the time to switch to Vaadin 15 - but apparently not even Vaadin 15 uses Material 1.3.2, it also uses 1.2.3.

@Community: does anybody know a solution of how to switch off the Google font downloading for Vaadin 14.1.x in a Maven-based environment? There seems to be a workaround for Gradle, but we certainly do not want to switch to Gradel for this reason.

@Vaadin: what are your plans for Material 1.3.2, when would you integrate it?

Maybe we are missing some point or not seeing the obvious easy solution… blocking the traffic at the customer site is definitely not it :-/

Thanks for any help on this!

  • Andreas

Hi,

we are excluding the material theme in the pom like this:

<dependencies>
        <dependency>
            <groupId>com.vaadin</groupId>
            <artifactId>vaadin-core</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>com.vaadin</groupId>
                    <artifactId>vaadin-material-theme</artifactId>
                </exclusion>

Also we disable font loading via InitialPageSettings:

settings.addInlineWithContents(InitialPageSettings.Position.PREPEND, "window.polymerSkipLoadingFontRoboto = true;",
                                       InitialPageSettings.WrapMode.JAVASCRIPT);

I don’t know if that also works for the compatibility mode but you can try and watch the network debug in your browser.

Regards

Chris

Hi Andreas,

Let us know if Chris’ solution above worked. If not, we’ll see what we can do to help.

@Chris: sorry for not getting back earlier.
The exclusion did the trick. The disabling of the font loading via JavaScript was not applicable for us, as the relevant portions within the theme can not be switched of by this very swith in Material 1.2.3.
But I guess we are fine.

Thanks again!

  • Andreas