04679121d6
* chore: bump chromium in DEPS to 93.0.4536.0 * chore: update patches * [2918475] Make InkDrop a View class property Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2918475 Replace old views::Button::ink_drop() calls with views::InkDrop::Get() * [2935942] Convert use of gfx::ImageSkia to ui::ImageModel for WidgetDelegates Refs: https://chromium-review.googlesource.com/c/chromium/src/+/2935942 Update GetWindowIcon(), GetWindowAppIcon(), and GetDevToolsWindowIcon() to return ui::ImageModel instead of gfx::ImageSkia. Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: PatchUp <73610968+patchup[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
42 lines
2 KiB
Diff
42 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Samuel Attard <sattard@slack-corp.com>
|
|
Date: Mon, 8 Mar 2021 16:27:39 -0800
|
|
Subject: extend ApplyWebPreferences with Electron-specific logic
|
|
|
|
background_color can be updated at runtime, as such we need to apply the
|
|
new background color to the WebView in the ApplyPreferences method.
|
|
There is no current way to attach an observer to these prefs so patching
|
|
is our only option.
|
|
|
|
Ideally we could add an embedder observer pattern here but that can be
|
|
done in future work.
|
|
|
|
diff --git a/third_party/blink/renderer/core/exported/web_view_impl.cc b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
index b627f400d16ee1c605ef7657dc3ba63319c5fd56..455b0fd461d0c32de39800d4d7cef2ceb30dc7fb 100644
|
|
--- a/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
+++ b/third_party/blink/renderer/core/exported/web_view_impl.cc
|
|
@@ -155,6 +155,7 @@
|
|
#include "third_party/blink/renderer/core/timing/dom_window_performance.h"
|
|
#include "third_party/blink/renderer/core/timing/window_performance.h"
|
|
#include "third_party/blink/renderer/platform/fonts/font_cache.h"
|
|
+#include "third_party/blink/renderer/platform/graphics/color.h"
|
|
#include "third_party/blink/renderer/platform/graphics/image.h"
|
|
#include "third_party/blink/renderer/platform/graphics/paint/cull_rect.h"
|
|
#include "third_party/blink/renderer/platform/graphics/paint/paint_record_builder.h"
|
|
@@ -1792,6 +1793,16 @@ void WebView::ApplyWebPreferences(const web_pref::WebPreferences& prefs,
|
|
|
|
RuntimeEnabledFeatures::SetTranslateServiceEnabled(
|
|
prefs.translate_service_available);
|
|
+
|
|
+ SkColor color = SK_ColorTRANSPARENT;
|
|
+ if (!prefs.guest_instance_id) { // not inside electron <webview /> tag, which is always transparent.
|
|
+ Color blink_color;
|
|
+ if (blink_color.SetFromString(WebString::FromASCII(prefs.background_color)))
|
|
+ color = static_cast<SkColor>(blink_color);
|
|
+ }
|
|
+ web_view->SetBaseBackgroundColor(color);
|
|
+
|
|
+ SetUseExternalPopupMenus(!prefs.offscreen);
|
|
}
|
|
|
|
void WebViewImpl::ThemeChanged() {
|