fix neglible race when loading CSS

This commit is contained in:
Matthew Hodgson 2017-11-14 16:07:48 +00:00
parent 1fd7ac30e4
commit 7c98558b6a

View file

@ -931,8 +931,15 @@ module.exports = React.createClass({
Tinter.tint(colors[0], colors[1]);
};
// turns out that Firefox preloads the CSS for link elements with
// the disabled attribute, but Chrome doesn't.
let cssLoaded = false;
styleElements[theme].onload = () => {
switchTheme();
};
for (let i = 0; i < document.styleSheets.length; i++) {
const ss = document.styleSheets[i];
if (ss && ss.href === styleElements[theme].href) {
@ -942,11 +949,8 @@ module.exports = React.createClass({
}
if (cssLoaded) {
styleElements[theme].onload = undefined;
switchTheme();
} else {
styleElements[theme].onload = () => {
switchTheme();
};
}
if (theme === 'dark') {