Browse Source

Merge pull request #9111 from electron/deliver-ipc-messages-to-handlers

Fix printing on Windows
Kevin Sawicki 8 years ago
parent
commit
d857b71557

+ 12 - 0
atom/utility/atom_content_utility_client.cc

@@ -19,4 +19,16 @@ AtomContentUtilityClient::AtomContentUtilityClient() {
 AtomContentUtilityClient::~AtomContentUtilityClient() {
 }
 
+bool AtomContentUtilityClient::OnMessageReceived(
+    const IPC::Message& message) {
+#if defined(OS_WIN)
+  for (auto* handler : handlers_) {
+    if (handler->OnMessageReceived(message))
+      return true;
+  }
+#endif
+
+  return false;
+}
+
 }  // namespace atom

+ 2 - 0
atom/utility/atom_content_utility_client.h

@@ -20,6 +20,8 @@ class AtomContentUtilityClient : public content::ContentUtilityClient {
   AtomContentUtilityClient();
   ~AtomContentUtilityClient() override;
 
+  bool OnMessageReceived(const IPC::Message& message) override;
+
  private:
 #if defined(OS_WIN)
   typedef ScopedVector<UtilityMessageHandler> Handlers;

+ 1 - 0
chromium_src/chrome/browser/printing/print_view_manager_base.cc

@@ -159,6 +159,7 @@ void PrintViewManagerBase::OnDidPrintPage(
 
   ShouldQuitFromInnerMessageLoop();
 #else
+  print_job_->AppendPrintedPage(params.page_number);
   if (metafile_must_be_valid) {
     bool print_text_with_gdi =
         document->settings().print_text_with_gdi() &&