OLD | NEW |
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/browser/printing/print_preview_message_handler.h" | 5 #include "chrome/browser/printing/print_preview_message_handler.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 } | 207 } |
208 | 208 |
209 void PrintPreviewMessageHandler::OnInvalidPrinterSettings(int document_cookie) { | 209 void PrintPreviewMessageHandler::OnInvalidPrinterSettings(int document_cookie) { |
210 StopWorker(document_cookie); | 210 StopWorker(document_cookie); |
211 PrintPreviewUI* print_preview_ui = GetPrintPreviewUI(); | 211 PrintPreviewUI* print_preview_ui = GetPrintPreviewUI(); |
212 if (!print_preview_ui) | 212 if (!print_preview_ui) |
213 return; | 213 return; |
214 print_preview_ui->OnInvalidPrinterSettings(); | 214 print_preview_ui->OnInvalidPrinterSettings(); |
215 } | 215 } |
216 | 216 |
| 217 void PrintPreviewMessageHandler::OnPrintPreviewScalingDisabled() { |
| 218 PrintPreviewUI* print_preview_ui = GetPrintPreviewUI(); |
| 219 if (!print_preview_ui) |
| 220 return; |
| 221 print_preview_ui->OnPrintPreviewScalingDisabled(); |
| 222 } |
| 223 |
217 bool PrintPreviewMessageHandler::OnMessageReceived( | 224 bool PrintPreviewMessageHandler::OnMessageReceived( |
218 const IPC::Message& message) { | 225 const IPC::Message& message) { |
219 bool handled = true; | 226 bool handled = true; |
220 IPC_BEGIN_MESSAGE_MAP(PrintPreviewMessageHandler, message) | 227 IPC_BEGIN_MESSAGE_MAP(PrintPreviewMessageHandler, message) |
221 IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview, | 228 IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview, |
222 OnRequestPrintPreview) | 229 OnRequestPrintPreview) |
223 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount, | 230 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount, |
224 OnDidGetPreviewPageCount) | 231 OnDidGetPreviewPageCount) |
225 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage, | 232 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage, |
226 OnDidPreviewPage) | 233 OnDidPreviewPage) |
227 IPC_MESSAGE_HANDLER(PrintHostMsg_MetafileReadyForPrinting, | 234 IPC_MESSAGE_HANDLER(PrintHostMsg_MetafileReadyForPrinting, |
228 OnMetafileReadyForPrinting) | 235 OnMetafileReadyForPrinting) |
229 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewFailed, | 236 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewFailed, |
230 OnPrintPreviewFailed) | 237 OnPrintPreviewFailed) |
231 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetDefaultPageLayout, | 238 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetDefaultPageLayout, |
232 OnDidGetDefaultPageLayout) | 239 OnDidGetDefaultPageLayout) |
233 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled, | 240 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled, |
234 OnPrintPreviewCancelled) | 241 OnPrintPreviewCancelled) |
235 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewInvalidPrinterSettings, | 242 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewInvalidPrinterSettings, |
236 OnInvalidPrinterSettings) | 243 OnInvalidPrinterSettings) |
| 244 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewScalingDisabled, |
| 245 OnPrintPreviewScalingDisabled) |
237 IPC_MESSAGE_UNHANDLED(handled = false) | 246 IPC_MESSAGE_UNHANDLED(handled = false) |
238 IPC_END_MESSAGE_MAP() | 247 IPC_END_MESSAGE_MAP() |
239 return handled; | 248 return handled; |
240 } | 249 } |
241 | 250 |
242 void PrintPreviewMessageHandler::NavigateToPendingEntry( | 251 void PrintPreviewMessageHandler::NavigateToPendingEntry( |
243 const GURL& url, | 252 const GURL& url, |
244 NavigationController::ReloadType reload_type) { | 253 NavigationController::ReloadType reload_type) { |
245 TabContentsWrapper* tab = tab_contents_wrapper(); | 254 TabContentsWrapper* tab = tab_contents_wrapper(); |
246 TabContentsWrapper* preview_tab = GetPrintPreviewTab(); | 255 TabContentsWrapper* preview_tab = GetPrintPreviewTab(); |
247 if (tab == preview_tab) { | 256 if (tab == preview_tab) { |
248 // Cloud print sign-in reloads the page. | 257 // Cloud print sign-in reloads the page. |
249 DCHECK(PrintPreviewTabController::IsPrintPreviewURL(url)); | 258 DCHECK(PrintPreviewTabController::IsPrintPreviewURL(url)); |
250 DCHECK_EQ(NavigationController::RELOAD, reload_type); | 259 DCHECK_EQ(NavigationController::RELOAD, reload_type); |
251 return; | 260 return; |
252 } | 261 } |
253 // If |tab| is navigating and it has a print preview tab, notify |tab| to | 262 // If |tab| is navigating and it has a print preview tab, notify |tab| to |
254 // consider print preview done so it unfreezes the renderer in the case of | 263 // consider print preview done so it unfreezes the renderer in the case of |
255 // window.print(). | 264 // window.print(). |
256 if (preview_tab) | 265 if (preview_tab) |
257 tab->print_view_manager()->PrintPreviewDone(); | 266 tab->print_view_manager()->PrintPreviewDone(); |
258 } | 267 } |
259 | 268 |
260 } // namespace printing | 269 } // namespace printing |
OLD | NEW |