13551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch// found in the LICENSE file. 4c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 5c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch#include "chrome/browser/printing/print_view_manager_basic.h" 6c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 73551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#if defined(OS_ANDROID) 83551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "base/file_descriptor_posix.h" 93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "chrome/common/print_messages.h" 103551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "printing/printing_context_android.h" 113551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#endif 123551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 13c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben MurdochDEFINE_WEB_CONTENTS_USER_DATA_KEY(printing::PrintViewManagerBasic); 14c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 15c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdochnamespace printing { 16c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 17c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben MurdochPrintViewManagerBasic::PrintViewManagerBasic(content::WebContents* web_contents) 18c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch : PrintViewManagerBase(web_contents) { 19c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch} 20c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 21c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben MurdochPrintViewManagerBasic::~PrintViewManagerBasic() { 22c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch} 23c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch 243551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#if defined(OS_ANDROID) 253551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)void PrintViewManagerBasic::RenderProcessGone(base::TerminationStatus status) { 263551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) PrintingContextAndroid::PdfWritingDone(file_descriptor_.fd, false); 273551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) file_descriptor_ = base::FileDescriptor(-1, false); 283551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) PrintViewManagerBase::RenderProcessGone(status); 293551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 303551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 313551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)void PrintViewManagerBasic::OnPrintingFailed(int cookie) { 323551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) PrintingContextAndroid::PdfWritingDone(file_descriptor_.fd, false); 333551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) file_descriptor_ = base::FileDescriptor(-1, false); 343551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) PrintViewManagerBase::OnPrintingFailed(cookie); 353551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 363551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 373551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)bool PrintViewManagerBasic::OnMessageReceived(const IPC::Message& message) { 383551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bool handled = true; 393551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) IPC_BEGIN_MESSAGE_MAP(PrintViewManagerBasic, message) 403551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) IPC_MESSAGE_HANDLER(PrintHostMsg_PrintingFailed, OnPrintingFailed) 413551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) IPC_MESSAGE_UNHANDLED(handled = false) 423551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) IPC_END_MESSAGE_MAP() 433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 443551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) return handled ? true : PrintViewManagerBase::OnMessageReceived(message); 453551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)} 463551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#endif 473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) 48c2db58bd994c04d98e4ee2cd7565b71548655fe3Ben Murdoch} // namespace printing 49