fix: defaultFontFamily in webPreferences (#37863)
* fix: defaultFontFamily in webPreferences * chore: check if default_font_family_ is empty
This commit is contained in:
parent
fceeb64e7c
commit
e84bcb39e7
2 changed files with 40 additions and 18 deletions
|
@ -425,24 +425,30 @@ void WebContentsPreferences::OverrideWebkitPrefs(
|
|||
prefs->web_security_enabled = web_security_;
|
||||
prefs->allow_running_insecure_content = allow_running_insecure_content_;
|
||||
|
||||
if (auto font =
|
||||
default_font_family_.find("standard") != default_font_family_.end())
|
||||
prefs->standard_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (auto font =
|
||||
default_font_family_.find("serif") != default_font_family_.end())
|
||||
prefs->serif_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (auto font =
|
||||
default_font_family_.find("sansSerif") != default_font_family_.end())
|
||||
prefs->sans_serif_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (auto font =
|
||||
default_font_family_.find("monospace") != default_font_family_.end())
|
||||
prefs->fixed_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (auto font =
|
||||
default_font_family_.find("cursive") != default_font_family_.end())
|
||||
prefs->cursive_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (auto font =
|
||||
default_font_family_.find("fantasy") != default_font_family_.end())
|
||||
prefs->fantasy_font_family_map[blink::web_pref::kCommonScript] = font;
|
||||
if (!default_font_family_.empty()) {
|
||||
if (auto iter = default_font_family_.find("standard");
|
||||
iter != default_font_family_.end())
|
||||
prefs->standard_font_family_map[blink::web_pref::kCommonScript] =
|
||||
iter->second;
|
||||
if (auto iter = default_font_family_.find("serif");
|
||||
iter != default_font_family_.end())
|
||||
prefs->serif_font_family_map[blink::web_pref::kCommonScript] = iter->second;
|
||||
if (auto iter = default_font_family_.find("sansSerif");
|
||||
iter != default_font_family_.end())
|
||||
prefs->sans_serif_font_family_map[blink::web_pref::kCommonScript] =
|
||||
iter->second;
|
||||
if (auto iter = default_font_family_.find("monospace");
|
||||
iter != default_font_family_.end())
|
||||
prefs->fixed_font_family_map[blink::web_pref::kCommonScript] = iter->second;
|
||||
if (auto iter = default_font_family_.find("cursive");
|
||||
iter != default_font_family_.end())
|
||||
prefs->cursive_font_family_map[blink::web_pref::kCommonScript] =
|
||||
iter->second;
|
||||
if (auto iter = default_font_family_.find("fantasy");
|
||||
iter != default_font_family_.end())
|
||||
prefs->fantasy_font_family_map[blink::web_pref::kCommonScript] =
|
||||
iter->second;
|
||||
}
|
||||
|
||||
if (default_font_size_)
|
||||
prefs->default_font_size = *default_font_size_;
|
||||
|
|
|
@ -3867,6 +3867,22 @@ describe('BrowserWindow module', () => {
|
|||
expect(w.getSize()).to.deep.equal(size);
|
||||
});
|
||||
});
|
||||
|
||||
describe('"defaultFontFamily" option', () => {
|
||||
it('can change the standard font family', async () => {
|
||||
const w = new BrowserWindow({
|
||||
show: false,
|
||||
webPreferences: {
|
||||
defaultFontFamily: {
|
||||
standard: 'Impact'
|
||||
}
|
||||
}
|
||||
});
|
||||
await w.loadFile(path.join(fixtures, 'pages', 'content.html'));
|
||||
const fontFamily = await w.webContents.executeJavaScript("window.getComputedStyle(document.getElementsByTagName('p')[0])['font-family']", true);
|
||||
expect(fontFamily).to.equal('Impact');
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('beforeunload handler', function () {
|
||||
|
|
Loading…
Reference in a new issue