summaryrefslogtreecommitdiffstats
path: root/src/core/print_view_manager_base_qt.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-02-23 17:11:05 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-03-27 09:13:09 +0000
commitbce063054682e590e9fa8aa9d2ec19ca26ea3d49 (patch)
tree72eafcf4e0d2c6518ffd38772f7f5758bf6a4137 /src/core/print_view_manager_base_qt.cpp
parent817c117cf89f15e1877107597c8daeff956fd1a6 (diff)
Adaptations for Chromium 56
Change-Id: I78240d7956de4716757761fc6517f031b4adb822 Reviewed-by: Michael BrĂ¼ning <michael.bruning@qt.io>
Diffstat (limited to 'src/core/print_view_manager_base_qt.cpp')
-rw-r--r--src/core/print_view_manager_base_qt.cpp23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/core/print_view_manager_base_qt.cpp b/src/core/print_view_manager_base_qt.cpp
index 63181e640..81e07707a 100644
--- a/src/core/print_view_manager_base_qt.cpp
+++ b/src/core/print_view_manager_base_qt.cpp
@@ -55,6 +55,7 @@
#include "chrome/browser/printing/printer_query.h"
#include "components/printing/common/print_messages.h"
#include "content/public/browser/browser_thread.h"
+#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/notification_service.h"
#include "content/public/browser/notification_types.h"
@@ -71,6 +72,8 @@ PrintViewManagerBaseQt::PrintViewManagerBaseQt(content::WebContents *contents)
, m_didPrintingSucceed(false)
, m_printerQueriesQueue(WebEngineContext::current()->getPrintJobManager()->queue())
{
+ // FIXME: Check if this needs to be executed async:
+ PrintViewManagerBaseQt::UpdatePrintingEnabled();
}
PrintViewManagerBaseQt::~PrintViewManagerBaseQt()
@@ -79,6 +82,17 @@ PrintViewManagerBaseQt::~PrintViewManagerBaseQt()
DisconnectFromCurrentPrintJob();
}
+void PrintViewManagerBaseQt::UpdatePrintingEnabled()
+{
+ bool enabled = false;
+#if BUILDFLAG(ENABLE_BASIC_PRINTING)
+ enabled = true;
+#endif
+ web_contents()->ForEachFrame(
+ base::Bind(&PrintViewManagerBaseQt::SendPrintingEnabled,
+ base::Unretained(this), enabled));
+}
+
void PrintViewManagerBaseQt::NavigationStopped()
{
// Cancel the current job, wait for the worker to finish.
@@ -192,7 +206,7 @@ void PrintViewManagerBaseQt::DidStartLoading()
{
}
-bool PrintViewManagerBaseQt::OnMessageReceived(const IPC::Message& message)
+bool PrintViewManagerBaseQt::OnMessageReceived(const IPC::Message& message, content::RenderFrameHost* render_frame_host)
{
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(PrintViewManagerBaseQt, message)
@@ -201,7 +215,7 @@ bool PrintViewManagerBaseQt::OnMessageReceived(const IPC::Message& message)
OnShowInvalidPrinterSettingsError);
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
- return handled || PrintManager::OnMessageReceived(message);
+ return handled || PrintManager::OnMessageReceived(message, render_frame_host);
}
void PrintViewManagerBaseQt::Observe(int type,
@@ -510,4 +524,9 @@ void PrintViewManagerBaseQt::StopWorker(int documentCookie) {
}
}
+void PrintViewManagerBaseQt::SendPrintingEnabled(bool enabled, content::RenderFrameHost* rfh)
+{
+ rfh->Send(new PrintMsg_SetPrintingEnabled(rfh->GetRoutingID(), enabled));
+}
+
} // namespace QtWebEngineCore