summaryrefslogtreecommitdiffstats
path: root/src/core/web_engine_settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/web_engine_settings.cpp')
-rw-r--r--src/core/web_engine_settings.cpp51
1 files changed, 25 insertions, 26 deletions
diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp
index 49006ec20..edd72a117 100644
--- a/src/core/web_engine_settings.cpp
+++ b/src/core/web_engine_settings.cpp
@@ -50,8 +50,8 @@
#include "content/public/browser/web_contents.h"
#include "content/public/common/content_switches.h"
#include "content/public/common/web_preferences.h"
-#include "content/public/common/webrtc_ip_handling_policy.h"
#include "media/base/media_switches.h"
+#include "third_party/blink/public/common/peerconnection/webrtc_ip_handling_policy.h"
#include "third_party/blink/public/mojom/renderer_preferences.mojom.h"
#include "ui/base/ui_base_switches.h"
#include "ui/events/event_switches.h"
@@ -128,9 +128,8 @@ void WebEngineSettings::overrideWebPreferences(content::WebContents *webContents
webPreferences.reset(new content::WebPreferences(*prefs));
if (webContents
- && webContents->GetRenderViewHost()
&& applySettingsToRendererPreferences(webContents->GetMutableRendererPrefs())) {
- webContents->GetRenderViewHost()->SyncRendererPrefs();
+ webContents->SyncRendererPrefs();
}
}
@@ -248,7 +247,7 @@ void WebEngineSettings::initDefaults()
s_defaultAttributes.insert(LinksIncludedInFocusChain, true);
s_defaultAttributes.insert(LocalStorageEnabled, true);
s_defaultAttributes.insert(LocalContentCanAccessRemoteUrls, false);
- s_defaultAttributes.insert(XSSAuditingEnabled, true);
+ s_defaultAttributes.insert(XSSAuditingEnabled, false);
s_defaultAttributes.insert(SpatialNavigationEnabled, false);
s_defaultAttributes.insert(LocalContentCanAccessFileUrls, true);
s_defaultAttributes.insert(HyperlinkAuditingEnabled, false);
@@ -334,13 +333,15 @@ void WebEngineSettings::doApply()
{
if (webPreferences.isNull())
return;
+
+ m_batchTimer.stop();
// Override with our settings when applicable
applySettingsToWebPreferences(webPreferences.data());
Q_ASSERT(m_adapter);
m_adapter->updateWebPreferences(*webPreferences.data());
if (applySettingsToRendererPreferences(m_adapter->webContents()->GetMutableRendererPrefs()))
- m_adapter->webContents()->GetRenderViewHost()->SyncRendererPrefs();
+ m_adapter->webContents()->SyncRendererPrefs();
}
void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *prefs)
@@ -366,7 +367,6 @@ void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *p
prefs->local_storage_enabled = testAttribute(LocalStorageEnabled);
prefs->databases_enabled = testAttribute(LocalStorageEnabled);
prefs->allow_universal_access_from_file_urls = testAttribute(LocalContentCanAccessRemoteUrls);
- prefs->xss_auditor_enabled = testAttribute(XSSAuditingEnabled);
prefs->spatial_navigation_enabled = testAttribute(SpatialNavigationEnabled);
prefs->allow_file_access_from_file_urls = testAttribute(LocalContentCanAccessFileUrls);
prefs->hyperlink_auditing_enabled = testAttribute(HyperlinkAuditingEnabled);
@@ -404,24 +404,23 @@ void WebEngineSettings::applySettingsToWebPreferences(content::WebPreferences *p
// Set the theme colors. Based on chrome_content_browser_client.cc:
const ui::NativeTheme *webTheme = ui::NativeTheme::GetInstanceForWeb();
- if (webTheme) {
-#if !defined(OS_MACOSX)
- // Mac has a concept of high contrast that does not relate to forced colors.
- prefs->forced_colors = webTheme->UsesHighContrastColors()
- ? blink::ForcedColors::kActive
- : blink::ForcedColors::kNone;
-#endif // !defined(OS_MACOSX)
- switch (webTheme->GetPreferredColorScheme()) {
- case ui::NativeTheme::PreferredColorScheme::kDark:
- prefs->preferred_color_scheme = blink::PreferredColorScheme::kDark;
- break;
- case ui::NativeTheme::PreferredColorScheme::kLight:
- prefs->preferred_color_scheme = blink::PreferredColorScheme::kLight;
- break;
- case ui::NativeTheme::PreferredColorScheme::kNoPreference:
- prefs->preferred_color_scheme = blink::PreferredColorScheme::kNoPreference;
- }
- }
+ // WebPreferences::preferred_color_scheme was deleted in Chromium 80, but it
+ // will make a comeback in Chromium 82...
+ //
+ // See also: https://chromium-review.googlesource.com/c/chromium/src/+/2079192
+ //
+ // if (webTheme) {
+ // switch (webTheme->GetPreferredColorScheme()) {
+ // case ui::NativeTheme::PreferredColorScheme::kDark:
+ // prefs->preferred_color_scheme = blink::PreferredColorScheme::kDark;
+ // break;
+ // case ui::NativeTheme::PreferredColorScheme::kLight:
+ // prefs->preferred_color_scheme = blink::PreferredColorScheme::kLight;
+ // break;
+ // case ui::NativeTheme::PreferredColorScheme::kNoPreference:
+ // prefs->preferred_color_scheme = blink::PreferredColorScheme::kNoPreference;
+ // }
+ // }
// Apply native CaptionStyle parameters.
base::Optional<ui::CaptionStyle> style;
@@ -453,8 +452,8 @@ bool WebEngineSettings::applySettingsToRendererPreferences(blink::mojom::Rendere
#if QT_CONFIG(webengine_webrtc)
if (!base::CommandLine::ForCurrentProcess()->HasSwitch(switches::kForceWebRtcIPHandlingPolicy)) {
std::string webrtc_ip_handling_policy = testAttribute(WebEngineSettings::WebRTCPublicInterfacesOnly)
- ? content::kWebRTCIPHandlingDefaultPublicInterfaceOnly
- : content::kWebRTCIPHandlingDefault;
+ ? blink::kWebRTCIPHandlingDefaultPublicInterfaceOnly
+ : blink::kWebRTCIPHandlingDefault;
if (prefs->webrtc_ip_handling_policy != webrtc_ip_handling_policy) {
prefs->webrtc_ip_handling_policy = webrtc_ip_handling_policy;
changed = true;