Chromium Code Reviews| Index: chrome/browser/printing/print_view_manager_basic.cc |
| diff --git a/chrome/browser/printing/print_view_manager_basic.cc b/chrome/browser/printing/print_view_manager_basic.cc |
| index 6f524d173596597191f26eaa8292b86f3c3dee6f..8c045f25e47af1b2a10fd7c07cfa76e9e5fe6065 100644 |
| --- a/chrome/browser/printing/print_view_manager_basic.cc |
| +++ b/chrome/browser/printing/print_view_manager_basic.cc |
| @@ -4,6 +4,12 @@ |
| #include "chrome/browser/printing/print_view_manager_basic.h" |
| +#if defined(OS_ANDROID) |
| +#include "base/file_descriptor_posix.h" |
| +#include "chrome/common/print_messages.h" |
| +#include "printing/printing_context_android.h" |
| +#endif |
| + |
| DEFINE_WEB_CONTENTS_USER_DATA_KEY(printing::PrintViewManagerBasic); |
| namespace printing { |
| @@ -15,4 +21,28 @@ PrintViewManagerBasic::PrintViewManagerBasic(content::WebContents* web_contents) |
| PrintViewManagerBasic::~PrintViewManagerBasic() { |
| } |
| +#if defined(OS_ANDROID) |
| +void PrintViewManagerBasic::RenderProcessGone(base::TerminationStatus status) { |
|
Lei Zhang
2013/08/18 09:56:26
I think any RenderViewHost that prints will have a
Lei Zhang
2013/08/19 21:02:15
I didn't get a response to this, but I tested this
|
| + PrintingContextAndroid::PdfWritingDone(file_descriptor_.fd, false); |
| + file_descriptor_ = base::FileDescriptor(-1, false); |
| + PrintViewManagerBase::RenderProcessGone(status); |
| +} |
| + |
| +void PrintViewManagerBasic::OnPrintingFailed(int cookie) { |
| + PrintingContextAndroid::PdfWritingDone(file_descriptor_.fd, false); |
| + file_descriptor_ = base::FileDescriptor(-1, false); |
| + PrintViewManagerBase::OnPrintingFailed(cookie); |
| +} |
| + |
| +bool PrintViewManagerBasic::OnMessageReceived(const IPC::Message& message) { |
| + bool handled = true; |
| + IPC_BEGIN_MESSAGE_MAP(PrintViewManagerBasic, message) |
| + IPC_MESSAGE_HANDLER(PrintHostMsg_PrintingFailed, OnPrintingFailed) |
| + IPC_MESSAGE_UNHANDLED(handled = false) |
| + IPC_END_MESSAGE_MAP() |
| + |
| + return handled ? true : PrintViewManagerBase::OnMessageReceived(message); |
|
whywhat
2013/08/16 23:31:36
nit: I find something like
if (handled)
return
Lei Zhang
2013/08/18 09:56:26
I think I suggested the ternary operator in the fi
|
| +} |
| +#endif |
| + |
| } // namespace printing |