mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2024-12-12 09:37:37 +01:00
5ef0fb8ac8
- SSE3 is now required on x86 processors (see https://crbug.com/1123353).
152 lines
7.4 KiB
Diff
152 lines
7.4 KiB
Diff
diff --git third_party/blink/common/web_preferences/web_preferences.cc third_party/blink/common/web_preferences/web_preferences.cc
|
|
index 758b0b1616ec..b35748d8180c 100644
|
|
--- third_party/blink/common/web_preferences/web_preferences.cc
|
|
+++ third_party/blink/common/web_preferences/web_preferences.cc
|
|
@@ -151,6 +151,7 @@ WebPreferences::WebPreferences()
|
|
animation_policy(
|
|
blink::mojom::ImageAnimationPolicy::kImageAnimationPolicyAllowed),
|
|
user_gesture_required_for_presentation(true),
|
|
+ base_background_color(0xFFFFFFFF), // Color::kWhite
|
|
text_tracks_enabled(false),
|
|
text_track_margin_percentage(0.0f),
|
|
immersive_mode_enabled(false),
|
|
diff --git third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
|
index ac2cb47de75e..1e38517a1544 100644
|
|
--- third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
|
+++ third_party/blink/common/web_preferences/web_preferences_mojom_traits.cc
|
|
@@ -155,6 +155,7 @@ bool StructTraits<blink::mojom::WebPreferencesDataView,
|
|
data.accelerated_video_decode_enabled();
|
|
out->user_gesture_required_for_presentation =
|
|
data.user_gesture_required_for_presentation();
|
|
+ out->base_background_color = data.base_background_color();
|
|
out->text_tracks_enabled = data.text_tracks_enabled();
|
|
out->text_track_margin_percentage = data.text_track_margin_percentage();
|
|
out->immersive_mode_enabled = data.immersive_mode_enabled();
|
|
diff --git third_party/blink/public/common/web_preferences/web_preferences.h third_party/blink/public/common/web_preferences/web_preferences.h
|
|
index 64444803e75f..740d03e7eb7b 100644
|
|
--- third_party/blink/public/common/web_preferences/web_preferences.h
|
|
+++ third_party/blink/public/common/web_preferences/web_preferences.h
|
|
@@ -175,6 +175,8 @@ struct BLINK_COMMON_EXPORT WebPreferences {
|
|
|
|
bool user_gesture_required_for_presentation;
|
|
|
|
+ uint32_t base_background_color;
|
|
+
|
|
bool text_tracks_enabled;
|
|
|
|
// These fields specify the foreground and background color for WebVTT text
|
|
diff --git third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
|
index c071879cdc2e..9c11650a6045 100644
|
|
--- third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
|
+++ third_party/blink/public/common/web_preferences/web_preferences_mojom_traits.h
|
|
@@ -455,6 +455,11 @@ struct BLINK_COMMON_EXPORT StructTraits<blink::mojom::WebPreferencesDataView,
|
|
return r.user_gesture_required_for_presentation;
|
|
}
|
|
|
|
+ static uint32_t base_background_color(
|
|
+ const blink::web_pref::WebPreferences& r) {
|
|
+ return r.base_background_color;
|
|
+ }
|
|
+
|
|
static bool text_tracks_enabled(const blink::web_pref::WebPreferences& r) {
|
|
return r.text_tracks_enabled;
|
|
}
|
|
diff --git third_party/blink/public/mojom/webpreferences/web_preferences.mojom third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
|
index 519b354f7a0e..103472abbb39 100644
|
|
--- third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
|
+++ third_party/blink/public/mojom/webpreferences/web_preferences.mojom
|
|
@@ -225,6 +225,8 @@ struct WebPreferences {
|
|
|
|
bool user_gesture_required_for_presentation;
|
|
|
|
+ uint32 base_background_color;
|
|
+
|
|
bool text_tracks_enabled;
|
|
|
|
// These fields specify the foreground and background color for WebVTT text
|
|
diff --git third_party/blink/public/web/web_view.h third_party/blink/public/web/web_view.h
|
|
index fb648cda4e1a..15bb56c8ae4f 100644
|
|
--- third_party/blink/public/web/web_view.h
|
|
+++ third_party/blink/public/web/web_view.h
|
|
@@ -310,6 +310,7 @@ class WebView {
|
|
|
|
// Sets whether select popup menus should be rendered by the browser.
|
|
BLINK_EXPORT static void SetUseExternalPopupMenus(bool);
|
|
+ virtual void SetUseExternalPopupMenusThisInstance(bool) = 0;
|
|
|
|
// Cancels and hides the current popup (datetime, select...) if any.
|
|
virtual void CancelPagePopup() = 0;
|
|
diff --git third_party/blink/renderer/core/exported/web_view_impl.cc third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
index 68688f094a68..9eaabb3431e2 100644
|
|
--- third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
+++ third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
@@ -238,8 +238,13 @@ void WebView::SetUseExternalPopupMenus(bool use_external_popup_menus) {
|
|
g_should_use_external_popup_menus = use_external_popup_menus;
|
|
}
|
|
|
|
-bool WebViewImpl::UseExternalPopupMenus() {
|
|
- return g_should_use_external_popup_menus;
|
|
+void WebViewImpl::SetUseExternalPopupMenusThisInstance(
|
|
+ bool use_external_popup_menus) {
|
|
+ should_use_external_popup_menus_ = use_external_popup_menus;
|
|
+}
|
|
+
|
|
+bool WebViewImpl::UseExternalPopupMenus() const {
|
|
+ return should_use_external_popup_menus_;
|
|
}
|
|
|
|
namespace {
|
|
@@ -541,6 +546,7 @@ WebViewImpl::WebViewImpl(
|
|
chrome_client_(MakeGarbageCollected<ChromeClientImpl>(this)),
|
|
minimum_zoom_level_(PageZoomFactorToZoomLevel(kMinimumPageZoomFactor)),
|
|
maximum_zoom_level_(PageZoomFactorToZoomLevel(kMaximumPageZoomFactor)),
|
|
+ should_use_external_popup_menus_(g_should_use_external_popup_menus),
|
|
does_composite_(does_composite),
|
|
fullscreen_controller_(std::make_unique<FullscreenController>(this)),
|
|
receiver_(this,
|
|
@@ -1752,6 +1758,8 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
|
|
|
RuntimeEnabledFeatures::SetTranslateServiceEnabled(
|
|
prefs.translate_service_available);
|
|
+
|
|
+ web_view->SetBaseBackgroundColor(prefs.base_background_color);
|
|
}
|
|
|
|
void WebViewImpl::ThemeChanged() {
|
|
diff --git third_party/blink/renderer/core/exported/web_view_impl.h third_party/blink/renderer/core/exported/web_view_impl.h
|
|
index 83a2e96325de..48af36ac385a 100644
|
|
--- third_party/blink/renderer/core/exported/web_view_impl.h
|
|
+++ third_party/blink/renderer/core/exported/web_view_impl.h
|
|
@@ -126,7 +126,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
|
static HashSet<WebViewImpl*>& AllInstances();
|
|
// Returns true if popup menus should be rendered by the browser, false if
|
|
// they should be rendered by WebKit (which is the default).
|
|
- static bool UseExternalPopupMenus();
|
|
+ void SetUseExternalPopupMenusThisInstance(bool) override;
|
|
+ bool UseExternalPopupMenus() const;
|
|
|
|
// Returns whether frames under this WebView are backed by a compositor.
|
|
bool does_composite() const { return does_composite_; }
|
|
@@ -721,6 +722,8 @@ class CORE_EXPORT WebViewImpl final : public WebView,
|
|
float fake_page_scale_animation_page_scale_factor_ = 0.f;
|
|
bool fake_page_scale_animation_use_anchor_ = false;
|
|
|
|
+ bool should_use_external_popup_menus_;
|
|
+
|
|
float compositor_device_scale_factor_override_ = 0.f;
|
|
TransformationMatrix device_emulation_transform_;
|
|
|
|
diff --git third_party/blink/renderer/core/page/chrome_client_impl.cc third_party/blink/renderer/core/page/chrome_client_impl.cc
|
|
index d31dd9eb8419..3014c9223aef 100644
|
|
--- third_party/blink/renderer/core/page/chrome_client_impl.cc
|
|
+++ third_party/blink/renderer/core/page/chrome_client_impl.cc
|
|
@@ -802,7 +802,7 @@ bool ChromeClientImpl::HasOpenedPopup() const {
|
|
PopupMenu* ChromeClientImpl::OpenPopupMenu(LocalFrame& frame,
|
|
HTMLSelectElement& select) {
|
|
NotifyPopupOpeningObservers();
|
|
- if (WebViewImpl::UseExternalPopupMenus())
|
|
+ if (web_view_->UseExternalPopupMenus())
|
|
return MakeGarbageCollected<ExternalPopupMenu>(frame, select);
|
|
|
|
DCHECK(RuntimeEnabledFeatures::PagePopupEnabled());
|