/
githubmirror
/
servo
Обзор
Документация
Войти
/
githubmirror
/
servo
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
resources/resource_protocol/preferences.html
123 строки
4 KB
Ashwin Naren
servoshell: Remove IndexedDB preference from servo:preferences (#44283)
16 апр 2026, 21:59
Не верифицирован
16 апр 2026, 21:59
b4a5695
Код
Авторство
О чём код?
<!doctype html> <html> <head> <title>servo:preferences</title> <style> ul { list-style: none; } li { padding-bottom: 1em; } select { font-size: 10pt; } .hidden { display: none; } </style> </head> <body> <h2>Preferences</h2> <div id="content" class="hidden"> <ul> <li> <input type="checkbox" class="bool-preference" id="experimental"> <label for="experimental">Experimental web platform features</label> </li> <li> <input type="checkbox" class="bool-preference" id="more-experimental"> <label for="more-experimental">Even more experimental web platform features</label> </li> <li> <input type="checkbox" class="bool-preference" id="http-cache"> <label for="http-cache">Disable HTTP cache</label> </li> <li> <div> <label style="vertical-align: baseline" for="user-agent">User agent:</label> </div> <div> <input class="string-preference" id="user-agent" size=110> <select onchange="updateUserAgent(event)"> <option value="servo" selected>Servo</option> <option value="firefox">Firefox</option> <option value="chrome">Chrome</option> </select> </div> </ul> </div> <div id="loading">Loading...</div> <script> const prefs = { "experimental": [], "http-cache": ["network_http_cache_disabled"], "more-experimental": ["dom_abort_controller_enabled"], "user-agent": ["user_agent"], }; const userAgents = { "firefox": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:137.0) Gecko/20100101 Firefox/137.0", "chrome": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36", "servo": "", }; function initialize() { document.getElementById("loading").classList.toggle("hidden"); document.getElementById("content").classList.toggle("hidden"); const boolPrefInputs = document.getElementsByClassName("bool-preference"); for (const pref of boolPrefInputs) { const relatedPrefs = prefs[pref.id]; let prefValue = true; for (const boolPref of relatedPrefs) { prefValue &= navigator.servo.getBoolPreference(boolPref); } pref.checked = prefValue; pref.onchange = (ev) => { const relatedPrefs = prefs[ev.target.id]; for (const boolPref of relatedPrefs) { navigator.servo.setBoolPreference(boolPref, ev.target.checked); } }; } const stringPrefInputs = document.getElementsByClassName("string-preference"); for (const pref of stringPrefInputs) { const prefValue = navigator.servo.getStringPreference(prefs[pref.id][0]); pref.value = prefValue; pref.oninput = (ev) => updateStringPreference(ev.target); } } function updateStringPreference(input) { const relatedPref = prefs[input.id][0]; navigator.servo.setStringPreference(relatedPref, input.value); } function updateUserAgent(event) { const input = document.getElementById("user-agent"); const selection = event.target.value input.value = userAgents[selection]; updateStringPreference(input); } function initExperimentalPrefs() { return fetch("servo:experimental-preferences") .then(response => response.json()) .then(prefList => prefs["experimental"] = prefList) } function initDefaultUserAgent() { return fetch("servo:default-user-agent") .then(response => response.json()) .then(userAgent => userAgents["servo"] = userAgent); } Promise.all([ initExperimentalPrefs(), initDefaultUserAgent(), ]).then(initialize); </script> </body> </html>