summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-21 16:13:33 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2019-03-22 10:47:02 +0000
commit1fe5566c5d494a9a6cea8282c7387b36ef0e4c0b (patch)
tree029819d610d20fce339f5cfddb848019bfd528e4
parent54ac91fd60ba0e84be239cefa1b56a489c420f9e (diff)
Fix regression in setting background colors
This logic was incorrectly stripped out in adaptations for Chromium 68, but is still needed. Fixes: QTBUG-74519 Change-Id: Iefe7aba352bd43148898c1abeea34f4afe354d72 Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
-rw-r--r--src/core/common/qt_messages.h3
-rw-r--r--src/core/render_widget_host_view_qt.cpp2
-rw-r--r--src/core/renderer/render_view_observer_qt.cpp6
-rw-r--r--src/core/renderer/render_view_observer_qt.h1
4 files changed, 12 insertions, 0 deletions
diff --git a/src/core/common/qt_messages.h b/src/core/common/qt_messages.h
index 987d6442b..88c29f13b 100644
--- a/src/core/common/qt_messages.h
+++ b/src/core/common/qt_messages.h
@@ -65,6 +65,9 @@ IPC_MESSAGE_ROUTED2(RenderViewObserverHostQt_DidFetchDocumentInnerText,
uint64_t /* requestId */,
base::string16 /* innerText */)
+IPC_MESSAGE_ROUTED1(RenderViewObserverQt_SetBackgroundColor,
+ uint32_t /* color */)
+
IPC_MESSAGE_ROUTED0(RenderViewObserverHostQt_DidFirstVisuallyNonEmptyLayout)
//-----------------------------------------------------------------------------
diff --git a/src/core/render_widget_host_view_qt.cpp b/src/core/render_widget_host_view_qt.cpp
index c6db88658..a5aba92bc 100644
--- a/src/core/render_widget_host_view_qt.cpp
+++ b/src/core/render_widget_host_view_qt.cpp
@@ -41,6 +41,7 @@
#include "browser_accessibility_manager_qt.h"
#include "chromium_overrides.h"
+#include "common/qt_messages.h"
#include "compositor.h"
#include "qtwebenginecoreglobal_p.h"
#include "render_widget_host_view_qt_delegate.h"
@@ -455,6 +456,7 @@ void RenderWidgetHostViewQt::UpdateBackgroundColor()
auto color = GetBackgroundColor();
if (color) {
m_delegate->setClearColor(toQt(*color));
+ host()->Send(new RenderViewObserverQt_SetBackgroundColor(host()->GetRoutingID(), *color));
}
}
diff --git a/src/core/renderer/render_view_observer_qt.cpp b/src/core/renderer/render_view_observer_qt.cpp
index 07dadfd40..d37b67ebc 100644
--- a/src/core/renderer/render_view_observer_qt.cpp
+++ b/src/core/renderer/render_view_observer_qt.cpp
@@ -78,6 +78,11 @@ void RenderViewObserverQt::onFetchDocumentInnerText(quint64 requestId)
Send(new RenderViewObserverHostQt_DidFetchDocumentInnerText(routing_id(), requestId, text.Utf16()));
}
+void RenderViewObserverQt::onSetBackgroundColor(quint32 color)
+{
+ render_view()->GetWebFrameWidget()->SetBaseBackgroundColor(color);
+}
+
void RenderViewObserverQt::OnDestruct()
{
delete this;
@@ -89,6 +94,7 @@ bool RenderViewObserverQt::OnMessageReceived(const IPC::Message& message)
IPC_BEGIN_MESSAGE_MAP(RenderViewObserverQt, message)
IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentMarkup, onFetchDocumentMarkup)
IPC_MESSAGE_HANDLER(RenderViewObserverQt_FetchDocumentInnerText, onFetchDocumentInnerText)
+ IPC_MESSAGE_HANDLER(RenderViewObserverQt_SetBackgroundColor, onSetBackgroundColor)
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
diff --git a/src/core/renderer/render_view_observer_qt.h b/src/core/renderer/render_view_observer_qt.h
index 83c0cd265..abb472f02 100644
--- a/src/core/renderer/render_view_observer_qt.h
+++ b/src/core/renderer/render_view_observer_qt.h
@@ -55,6 +55,7 @@ public:
private:
void onFetchDocumentMarkup(quint64 requestId);
void onFetchDocumentInnerText(quint64 requestId);
+ void onSetBackgroundColor(quint32 color);
void OnDestruct() override;