Bug 1972971 - Add missing invalidation for use_document_fonts pref. r=layout-reviewers,jfkthame a=dmeehan
It was getting it for free before D243340 because of the:
if (PreferenceSheet::AffectedByPref(prefName)) {
restyleHint |= RestyleHint::RestyleSubtree();
PreferenceSheet::Refresh();
UpdateForcedColors();
}
Tweak test_dont_use_document_fonts to cover this.
Differential Revision: https://phabricator.services.mozilla.com/D254664
This commit is contained in:
committed by
dmeehan@mozilla.com
parent
3986b0ddfa
commit
3678041f7b
@@ -94,21 +94,28 @@ test(function() {
|
||||
}, "Sanity");
|
||||
|
||||
function runTest({ specified, computed, description, expected }) {
|
||||
test(function() {
|
||||
promise_test(async function() {
|
||||
content.style.fontFamily = "";
|
||||
content.style.fontFamily = specified;
|
||||
assert_equals(getComputedStyle(content).fontFamily, expected);
|
||||
const before = getComputedStyle(content).fontFamily;
|
||||
await SpecialPowers.pushPrefEnv({'set': [['browser.display.use_document_fonts', 0]]});
|
||||
const after = getComputedStyle(content).fontFamily;
|
||||
if (specified != computed) {
|
||||
assert_not_equals(before, after);
|
||||
}
|
||||
assert_equals(after, expected);
|
||||
await SpecialPowers.popPrefEnv();
|
||||
}, description);
|
||||
}
|
||||
|
||||
(async function() {
|
||||
await SpecialPowers.pushPrefEnv({'set': [['browser.display.use_document_fonts', 0]]});
|
||||
for (const test of kTests)
|
||||
runTest(test);
|
||||
|
||||
test(function() {
|
||||
promise_test(async function() {
|
||||
await SpecialPowers.pushPrefEnv({'set': [['browser.display.use_document_fonts', 0]]});
|
||||
content.style.font = "menu";
|
||||
assert_equals(getComputedStyle(content).fontFamily, systemFont);
|
||||
await SpecialPowers.popPrefEnv();
|
||||
}, "System font should be honored");
|
||||
|
||||
done();
|
||||
|
||||
@@ -542,6 +542,7 @@ static constexpr struct {
|
||||
{"browser.display.foreground_color.dark"_ns,
|
||||
widget::ThemeChangeKind::Style},
|
||||
{"browser.display.document_color_use"_ns, widget::ThemeChangeKind::Style},
|
||||
{"browser.display.use_document_fonts"_ns, widget::ThemeChangeKind::Style},
|
||||
{"browser.display.permit_backplate"_ns, widget::ThemeChangeKind::Style},
|
||||
{"ui.use_standins_for_native_colors"_ns, widget::ThemeChangeKind::Style},
|
||||
{"privacy.resistFingerprinting"_ns, widget::ThemeChangeKind::Style},
|
||||
|
||||
Reference in New Issue
Block a user