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 5e2525657806a7e260e9b822bf8d3100a74b95ef..6b3d347b9d8c3b953e3359700ba04c114b0c3590 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. |
Lei Zhang
2011/08/24 01:27:28
In this case, I think you just want to close |prin
kmadhusu
2011/08/25 02:15:20
I tried to delete preview tab wrapper and to call
|
+ 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(); |
+ } |
+ return true; |
+} |
+ |
bool PrintViewManager::PrintPreviewNow() { |
return PrintNowInternal(new PrintMsg_InitiatePrintPreview(routing_id())); |
} |