From 87b6326d672f5d40b14460bdedebf4f69288fb6a Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Thu, 5 May 2022 20:19:40 +0200 Subject: [PATCH] Improve settings loading strategy by loading CSS and JS at the same time to prevent the style to be applied afterwards on slow connections --- src/librustdoc/html/static/js/main.js | 3 +++ src/librustdoc/html/static/js/settings.js | 5 +---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/librustdoc/html/static/js/main.js b/src/librustdoc/html/static/js/main.js index 1dfd9c762c4..a6b64cd54af 100644 --- a/src/librustdoc/html/static/js/main.js +++ b/src/librustdoc/html/static/js/main.js @@ -303,6 +303,9 @@ function loadCss(cssFileName) { getSettingsButton().onclick = event => { event.preventDefault(); + // Sending request for the CSS and the JS files at the same time so it will + // hopefully be loaded when the JS will generate the settings content. + loadCss("settings"); loadScript(window.settingsJS); }; diff --git a/src/librustdoc/html/static/js/settings.js b/src/librustdoc/html/static/js/settings.js index 43b24245ab2..ac483dbb419 100644 --- a/src/librustdoc/html/static/js/settings.js +++ b/src/librustdoc/html/static/js/settings.js @@ -3,7 +3,7 @@ /* eslint prefer-const: "error" */ /* eslint prefer-arrow-callback: "error" */ // Local js definitions: -/* global getSettingValue, getVirtualKey, updateLocalStorage, updateSystemTheme, loadCss */ +/* global getSettingValue, getVirtualKey, updateLocalStorage, updateSystemTheme */ /* global addClass, removeClass, onEach, onEachLazy, NOT_DISPLAYED_ID */ /* global MAIN_ID, getVar, getSettingsButton, switchDisplayedElement, getNotDisplayedElem */ @@ -207,9 +207,6 @@ }, ]; - // First, we add the settings.css file. - loadCss("settings"); - // Then we build the DOM. const el = document.createElement("section"); el.id = "settings";