Add a callback option to webContents.print
This commit is contained in:
parent
3283238555
commit
6d16eb81d2
4 changed files with 30 additions and 8 deletions
|
@ -377,9 +377,12 @@ void PrintViewManagerBase::DisconnectFromCurrentPrintJob() {
|
|||
}
|
||||
|
||||
void PrintViewManagerBase::PrintingDone(bool success) {
|
||||
if (!print_job_.get())
|
||||
return;
|
||||
Send(new PrintMsg_PrintingDone(routing_id(), success));
|
||||
if (print_job_.get()) {
|
||||
Send(new PrintMsg_PrintingDone(routing_id(), success));
|
||||
}
|
||||
if (!callback.is_null()) {
|
||||
callback.Run(success && print_job_);
|
||||
}
|
||||
}
|
||||
|
||||
void PrintViewManagerBase::TerminatePrintJob(bool cancel) {
|
||||
|
|
|
@ -5,6 +5,9 @@
|
|||
#ifndef CHROME_BROWSER_PRINTING_PRINT_VIEW_MANAGER_BASE_H_
|
||||
#define CHROME_BROWSER_PRINTING_PRINT_VIEW_MANAGER_BASE_H_
|
||||
|
||||
#include <memory>
|
||||
|
||||
#include "base/callback.h"
|
||||
#include "base/memory/ref_counted.h"
|
||||
#include "components/prefs/pref_member.h"
|
||||
#include "base/strings/string16.h"
|
||||
|
@ -47,6 +50,10 @@ class PrintViewManagerBase : public content::NotificationObserver,
|
|||
// PrintedPagesSource implementation.
|
||||
virtual base::string16 RenderSourceName() override;
|
||||
|
||||
void SetCallback(const base::Callback<void(bool)>& cb) {
|
||||
callback = cb;
|
||||
};
|
||||
|
||||
protected:
|
||||
explicit PrintViewManagerBase(content::WebContents* web_contents);
|
||||
|
||||
|
@ -159,6 +166,8 @@ class PrintViewManagerBase : public content::NotificationObserver,
|
|||
|
||||
scoped_refptr<printing::PrintQueriesQueue> queue_;
|
||||
|
||||
base::Callback<void(bool)> callback;
|
||||
|
||||
DISALLOW_COPY_AND_ASSIGN(PrintViewManagerBase);
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue