Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Side by Side Diff: chrome/renderer/chrome_mock_render_thread.cc

Issue 22577010: Printing: Add a basic printing mode without print preview and cloud print. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/chrome_mock_render_thread.h" 5 #include "chrome/renderer/chrome_mock_render_thread.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "chrome/common/extensions/extension_messages.h" 10 #include "chrome/common/extensions/extension_messages.h"
11 #include "chrome/common/print_messages.h"
12 #include "chrome/renderer/mock_printer.h" 11 #include "chrome/renderer/mock_printer.h"
13 #include "ipc/ipc_sync_message.h" 12 #include "ipc/ipc_sync_message.h"
14 #include "printing/print_job_constants.h" 13 #include "printing/print_job_constants.h"
15 #include "printing/page_range.h" 14 #include "printing/page_range.h"
16 #include "testing/gtest/include/gtest/gtest.h" 15 #include "testing/gtest/include/gtest/gtest.h"
17 16
18 #if defined(OS_CHROMEOS) 17 #if defined(OS_CHROMEOS)
19 #include <fcntl.h> 18 #include <fcntl.h>
20 19
21 #include "base/file_util.h" 20 #include "base/file_util.h"
22 #endif 21 #endif
23 22
23 #if defined(ENABLE_PRINTING)
24 #include "chrome/common/print_messages.h"
25 #endif
26
24 ChromeMockRenderThread::ChromeMockRenderThread() 27 ChromeMockRenderThread::ChromeMockRenderThread()
28 #if defined(ENABLE_PRINTING)
25 : printer_(new MockPrinter), 29 : printer_(new MockPrinter),
26 print_dialog_user_response_(true), 30 print_dialog_user_response_(true),
27 print_preview_cancel_page_number_(-1), 31 print_preview_cancel_page_number_(-1),
28 print_preview_pages_remaining_(0) { 32 print_preview_pages_remaining_(0)
33 #endif
34 {
29 } 35 }
30 36
31 ChromeMockRenderThread::~ChromeMockRenderThread() { 37 ChromeMockRenderThread::~ChromeMockRenderThread() {
32 } 38 }
33 39
34 bool ChromeMockRenderThread::OnMessageReceived(const IPC::Message& msg) { 40 bool ChromeMockRenderThread::OnMessageReceived(const IPC::Message& msg) {
35 if (content::MockRenderThread::OnMessageReceived(msg)) 41 if (content::MockRenderThread::OnMessageReceived(msg))
36 return true; 42 return true;
37 43
38 // Some messages we do special handling. 44 // Some messages we do special handling.
39 bool handled = true; 45 bool handled = true;
40 bool msg_is_ok = true; 46 bool msg_is_ok = true;
41 IPC_BEGIN_MESSAGE_MAP_EX(ChromeMockRenderThread, msg, msg_is_ok) 47 IPC_BEGIN_MESSAGE_MAP_EX(ChromeMockRenderThread, msg, msg_is_ok)
42 IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToExtension, 48 IPC_MESSAGE_HANDLER(ExtensionHostMsg_OpenChannelToExtension,
43 OnOpenChannelToExtension) 49 OnOpenChannelToExtension)
50 #if defined(ENABLE_PRINTING)
44 IPC_MESSAGE_HANDLER(PrintHostMsg_GetDefaultPrintSettings, 51 IPC_MESSAGE_HANDLER(PrintHostMsg_GetDefaultPrintSettings,
45 OnGetDefaultPrintSettings) 52 OnGetDefaultPrintSettings)
46 IPC_MESSAGE_HANDLER(PrintHostMsg_ScriptedPrint, OnScriptedPrint) 53 IPC_MESSAGE_HANDLER(PrintHostMsg_ScriptedPrint, OnScriptedPrint)
47 IPC_MESSAGE_HANDLER(PrintHostMsg_UpdatePrintSettings, OnUpdatePrintSettings) 54 IPC_MESSAGE_HANDLER(PrintHostMsg_UpdatePrintSettings, OnUpdatePrintSettings)
48 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPrintedPagesCount, 55 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPrintedPagesCount,
49 OnDidGetPrintedPagesCount) 56 OnDidGetPrintedPagesCount)
50 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPrintPage, OnDidPrintPage) 57 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPrintPage, OnDidPrintPage)
51 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount, 58 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount,
52 OnDidGetPreviewPageCount) 59 OnDidGetPreviewPageCount)
53 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage, OnDidPreviewPage) 60 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage, OnDidPreviewPage)
54 IPC_MESSAGE_HANDLER(PrintHostMsg_CheckForCancel, OnCheckForCancel) 61 IPC_MESSAGE_HANDLER(PrintHostMsg_CheckForCancel, OnCheckForCancel)
55 #if defined(OS_WIN) 62 #if defined(OS_WIN)
56 IPC_MESSAGE_HANDLER(PrintHostMsg_DuplicateSection, OnDuplicateSection) 63 IPC_MESSAGE_HANDLER(PrintHostMsg_DuplicateSection, OnDuplicateSection)
57 #endif 64 #endif
58 #if defined(OS_CHROMEOS) 65 #if defined(OS_CHROMEOS)
59 IPC_MESSAGE_HANDLER(PrintHostMsg_AllocateTempFileForPrinting, 66 IPC_MESSAGE_HANDLER(PrintHostMsg_AllocateTempFileForPrinting,
60 OnAllocateTempFileForPrinting) 67 OnAllocateTempFileForPrinting)
61 IPC_MESSAGE_HANDLER(PrintHostMsg_TempFileForPrintingWritten, 68 IPC_MESSAGE_HANDLER(PrintHostMsg_TempFileForPrintingWritten,
62 OnTempFileForPrintingWritten) 69 OnTempFileForPrintingWritten)
63 #endif 70 #endif // defined(OS_CHROMEOS)
71 #endif // defined(ENABLE_PRINTING)
64 IPC_MESSAGE_UNHANDLED(handled = false) 72 IPC_MESSAGE_UNHANDLED(handled = false)
65 IPC_END_MESSAGE_MAP_EX() 73 IPC_END_MESSAGE_MAP_EX()
66 return handled; 74 return handled;
67 } 75 }
68 76
69 void ChromeMockRenderThread::OnOpenChannelToExtension( 77 void ChromeMockRenderThread::OnOpenChannelToExtension(
70 int routing_id, 78 int routing_id,
71 const ExtensionMsg_ExternalConnectionInfo& info, 79 const ExtensionMsg_ExternalConnectionInfo& info,
72 const std::string& channel_name, 80 const std::string& channel_name,
73 int* port_id) { 81 int* port_id) {
74 *port_id = 0; 82 *port_id = 0;
75 } 83 }
76 84
85 #if defined(ENABLE_PRINTING)
77 #if defined(OS_CHROMEOS) 86 #if defined(OS_CHROMEOS)
78 void ChromeMockRenderThread::OnAllocateTempFileForPrinting( 87 void ChromeMockRenderThread::OnAllocateTempFileForPrinting(
79 base::FileDescriptor* renderer_fd, 88 base::FileDescriptor* renderer_fd,
80 int* browser_fd) { 89 int* browser_fd) {
81 renderer_fd->fd = *browser_fd = -1; 90 renderer_fd->fd = *browser_fd = -1;
82 renderer_fd->auto_close = false; 91 renderer_fd->auto_close = false;
83 92
84 base::FilePath path; 93 base::FilePath path;
85 if (file_util::CreateTemporaryFile(&path)) { 94 if (file_util::CreateTemporaryFile(&path)) {
86 int fd = open(path.value().c_str(), O_WRONLY); 95 int fd = open(path.value().c_str(), O_WRONLY);
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 print_dialog_user_response_ = response; 207 print_dialog_user_response_ = response;
199 } 208 }
200 209
201 void ChromeMockRenderThread::set_print_preview_cancel_page_number(int page) { 210 void ChromeMockRenderThread::set_print_preview_cancel_page_number(int page) {
202 print_preview_cancel_page_number_ = page; 211 print_preview_cancel_page_number_ = page;
203 } 212 }
204 213
205 int ChromeMockRenderThread::print_preview_pages_remaining() const { 214 int ChromeMockRenderThread::print_preview_pages_remaining() const {
206 return print_preview_pages_remaining_; 215 return print_preview_pages_remaining_;
207 } 216 }
217 #endif // defined(ENABLE_PRINTING)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698