diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-21 16:13:33 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2019-03-22 10:47:02 +0000 |
commit | 1fe5566c5d494a9a6cea8282c7387b36ef0e4c0b (patch) | |
tree | 029819d610d20fce339f5cfddb848019bfd528e4 | |
parent | 54ac91fd60ba0e84be239cefa1b56a489c420f9e (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.h | 3 | ||||
-rw-r--r-- | src/core/render_widget_host_view_qt.cpp | 2 | ||||
-rw-r--r-- | src/core/renderer/render_view_observer_qt.cpp | 6 | ||||
-rw-r--r-- | src/core/renderer/render_view_observer_qt.h | 1 |
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; |