Fasten up theme loading
This commit is contained in:
parent
3c52acd9ca
commit
5f93159e9d
3 changed files with 49 additions and 25 deletions
44
src/librustdoc/html/static/storage.js
Normal file
44
src/librustdoc/html/static/storage.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*!
|
||||
* Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
* file at the top-level directory of this distribution and at
|
||||
* http://rust-lang.org/COPYRIGHT.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
||||
* http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
||||
* <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
||||
* option. This file may not be copied, modified, or distributed
|
||||
* except according to those terms.
|
||||
*/
|
||||
|
||||
var currentTheme = document.getElementById("themeStyle");
|
||||
var mainTheme = document.getElementById("mainThemeStyle");
|
||||
|
||||
function updateLocalStorage(name, value) {
|
||||
if (typeof(Storage) !== "undefined") {
|
||||
localStorage[name] = value;
|
||||
} else {
|
||||
// No Web Storage support so we do nothing
|
||||
}
|
||||
}
|
||||
|
||||
function getCurrentValue(name) {
|
||||
if (typeof(Storage) !== "undefined" && localStorage[name] !== undefined) {
|
||||
return localStorage[name];
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function switchTheme(styleElem, mainStyleElem, newTheme) {
|
||||
styleElem.href = mainStyleElem.href.replace("rustdoc.css", newTheme + ".css");
|
||||
updateLocalStorage('theme', newTheme);
|
||||
/*var elem = document.getElementsByTagName('body')[0];
|
||||
if (elem) {
|
||||
updateLocalStorage('background', getComputedStyle(elem)['background-color']);
|
||||
}*/
|
||||
}
|
||||
|
||||
/*var elem = document.getElementsByTagName('body')[0];
|
||||
if (elem) {
|
||||
var value =
|
||||
}*/
|
||||
switchTheme(currentTheme, mainTheme, getCurrentValue('theme') || 'main');
|
Loading…
Add table
Add a link
Reference in a new issue