Index: chrome/browser/printing/print_view_manager.cc |
diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/printing/print_view_manager.cc |
index c9b8767b7e54f47579b99676476f68985e968619..5a6bd7342f72823ff58911bf48930f60fece9df7 100644 |
--- a/chrome/browser/printing/print_view_manager.cc |
+++ b/chrome/browser/printing/print_view_manager.cc |
@@ -88,6 +88,26 @@ bool PrintViewManager::PrintForSystemDialogNow() { |
return PrintNowInternal(new PrintMsg_PrintForSystemDialog(routing_id())); |
} |
+bool PrintViewManager::AdvancedPrintNow() { |
+ printing::PrintPreviewTabController* tab_controller = |
+ printing::PrintPreviewTabController::GetInstance(); |
+ if (!tab_controller) |
+ return false; |
+ TabContents* print_preview_tab = |
+ tab_controller->GetPrintPreviewForTab(tab_contents()); |
+ if (print_preview_tab) { |
+ // Preview tab exist for current tab or current tab is preview tab. |
+ if (!print_preview_tab->web_ui()) |
+ return false; |
+ PrintPreviewUI* print_preview_ui = |
+ static_cast<PrintPreviewUI*>(print_preview_tab->web_ui()); |
+ print_preview_ui->OnShowSystemDialog(); |
+ } else { |
+ PrintNow(); |
Lei Zhang
2011/08/25 20:57:10
you want to do: return PrintNow() here because Pri
kmadhusu
2011/08/25 22:47:39
Done.
|
+ } |
+ return true; |
+} |
+ |
bool PrintViewManager::PrintPreviewNow() { |
return PrintNowInternal(new PrintMsg_InitiatePrintPreview(routing_id())); |
} |