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

Side by Side Diff: chrome/browser/printing/print_preview_message_handler.cc

Issue 7740005: Print preview not showing if default print is invalid. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Merge with latest trunk (again) Created 9 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "base/memory/ref_counted_memory.h" 10 #include "base/memory/ref_counted_memory.h"
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 PrintPreviewUI* print_preview_ui = 202 PrintPreviewUI* print_preview_ui =
203 static_cast<PrintPreviewUI*>(print_preview_tab->web_ui()); 203 static_cast<PrintPreviewUI*>(print_preview_tab->web_ui());
204 print_preview_ui->OnDidGetDefaultPageLayout(page_layout_in_points); 204 print_preview_ui->OnDidGetDefaultPageLayout(page_layout_in_points);
205 } 205 }
206 206
207 void PrintPreviewMessageHandler::OnPrintPreviewCancelled(int document_cookie) { 207 void PrintPreviewMessageHandler::OnPrintPreviewCancelled(int document_cookie) {
208 // Always need to stop the worker. 208 // Always need to stop the worker.
209 StopWorker(document_cookie); 209 StopWorker(document_cookie);
210 } 210 }
211 211
212 void PrintPreviewMessageHandler::OnInvalidPrinterSettings(int document_cookie) {
Lei Zhang 2011/09/01 04:52:08 You can probably merge some of this code with Prin
213 // Always need to stop the worker.
214 if (document_cookie) {
215 StopWorker(document_cookie);
216 }
217
218 TabContentsWrapper* print_preview_tab = GetPrintPreviewTab();
219 if (!print_preview_tab || !print_preview_tab->web_ui())
220 return;
221
222 if (g_browser_process->background_printing_manager()->
223 HasPrintPreviewTab(print_preview_tab)) {
224 delete print_preview_tab;
225 } else {
226 PrintPreviewUI* print_preview_ui =
227 static_cast<PrintPreviewUI*>(print_preview_tab->web_ui());
228 print_preview_ui->OnInvalidPrinterSettings();
229 }
230 }
231
212 bool PrintPreviewMessageHandler::OnMessageReceived( 232 bool PrintPreviewMessageHandler::OnMessageReceived(
213 const IPC::Message& message) { 233 const IPC::Message& message) {
214 bool handled = true; 234 bool handled = true;
215 IPC_BEGIN_MESSAGE_MAP(PrintPreviewMessageHandler, message) 235 IPC_BEGIN_MESSAGE_MAP(PrintPreviewMessageHandler, message)
216 IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview, 236 IPC_MESSAGE_HANDLER(PrintHostMsg_RequestPrintPreview,
217 OnRequestPrintPreview) 237 OnRequestPrintPreview)
218 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount, 238 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetPreviewPageCount,
219 OnDidGetPreviewPageCount) 239 OnDidGetPreviewPageCount)
220 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage, 240 IPC_MESSAGE_HANDLER(PrintHostMsg_DidPreviewPage,
221 OnDidPreviewPage) 241 OnDidPreviewPage)
222 IPC_MESSAGE_HANDLER(PrintHostMsg_MetafileReadyForPrinting, 242 IPC_MESSAGE_HANDLER(PrintHostMsg_MetafileReadyForPrinting,
223 OnMetafileReadyForPrinting) 243 OnMetafileReadyForPrinting)
224 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewFailed, 244 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewFailed,
225 OnPrintPreviewFailed) 245 OnPrintPreviewFailed)
226 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetDefaultPageLayout, 246 IPC_MESSAGE_HANDLER(PrintHostMsg_DidGetDefaultPageLayout,
227 OnDidGetDefaultPageLayout) 247 OnDidGetDefaultPageLayout)
228 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled, 248 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewCancelled,
229 OnPrintPreviewCancelled) 249 OnPrintPreviewCancelled)
250 IPC_MESSAGE_HANDLER(PrintHostMsg_PrintPreviewInvalidPrinterSettings,
251 OnInvalidPrinterSettings)
230 IPC_MESSAGE_UNHANDLED(handled = false) 252 IPC_MESSAGE_UNHANDLED(handled = false)
231 IPC_END_MESSAGE_MAP() 253 IPC_END_MESSAGE_MAP()
232 return handled; 254 return handled;
233 } 255 }
234 256
235 void PrintPreviewMessageHandler::DidStartLoading() { 257 void PrintPreviewMessageHandler::DidStartLoading() {
236 if (tab_contents()->delegate() && 258 if (tab_contents()->delegate() &&
237 PrintPreviewTabController::IsPrintPreviewTab(tab_contents_wrapper())) { 259 PrintPreviewTabController::IsPrintPreviewTab(tab_contents_wrapper())) {
238 tab_contents()->SetContentRestrictions(CONTENT_RESTRICTION_PRINT); 260 tab_contents()->SetContentRestrictions(CONTENT_RESTRICTION_PRINT);
239 } 261 }
240 } 262 }
241 263
242 } // namespace printing 264 } // namespace printing
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698