summaryrefslogtreecommitdiffstats
path: root/chrome/browser/printing/print_view_manager.cc
diff options
context:
space:
mode:
authorkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-26 17:59:01 +0000
committerkmadhusu@chromium.org <kmadhusu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-26 17:59:01 +0000
commit0996e9bc586a81931048ac78c8b8200914320a80 (patch)
tree4bd3e4ac4539262c6efbed7cde6390b46628d944 /chrome/browser/printing/print_view_manager.cc
parent7e52ea6b9fef37ceb75f55ec6a1485d107889d0b (diff)
downloadchromium_src-0996e9bc586a81931048ac78c8b8200914320a80.zip
chromium_src-0996e9bc586a81931048ac78c8b8200914320a80.tar.gz
chromium_src-0996e9bc586a81931048ac78c8b8200914320a80.tar.bz2
PrintPreview: Make ctrl-shift-p start the native print flow.
+ Added PrintPreviewUITest.AdvancedPrintCommandEnabled BUG=93819 TEST=Open a tab. Press ctrl+shift+p to start native print workflow. Review URL: http://codereview.chromium.org/7721001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98450 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/printing/print_view_manager.cc')
-rw-r--r--chrome/browser/printing/print_view_manager.cc20
1 files changed, 20 insertions, 0 deletions
diff --git a/chrome/browser/printing/print_view_manager.cc b/chrome/browser/printing/print_view_manager.cc
index c9b8767..b86573f 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();
+ return true;
+ } else {
+ return PrintNow();
+ }
+}
+
bool PrintViewManager::PrintPreviewNow() {
return PrintNowInternal(new PrintMsg_InitiatePrintPreview(routing_id()));
}