diff options
Diffstat (limited to 'chrome/browser/ui')
5 files changed, 21 insertions, 25 deletions
diff --git a/chrome/browser/ui/browser_commands.cc b/chrome/browser/ui/browser_commands.cc index da95740..21b9648 100644 --- a/chrome/browser/ui/browser_commands.cc +++ b/chrome/browser/ui/browser_commands.cc @@ -731,7 +731,7 @@ void Print(Browser* browser) { prefs::kPrintPreviewDisabled)) print_view_manager->PrintNow(); else - print_view_manager->PrintPreviewNow(); + print_view_manager->PrintPreviewNow(false); } bool CanPrint(const Browser* browser) { diff --git a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc index e525e54..8b3ab70 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_handler.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_handler.cc @@ -774,7 +774,7 @@ void PrintPreviewHandler::SendInitialSettings( initial_settings.SetBoolean(kDocumentHasSelection, print_preview_ui->source_has_selection()); initial_settings.SetBoolean(printing::kSettingShouldPrintSelectionOnly, - false); + print_preview_ui->print_selection_only()); printing::StickySettings* sticky_settings = GetStickySettings(); sticky_settings->RestoreFromPrefs(Profile::FromBrowserContext( preview_web_contents()->GetBrowserContext())->GetPrefs()); diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc index becf933..f9ae6b1 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_ui.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.cc @@ -394,23 +394,16 @@ void PrintPreviewUI::SetInitiatorTabTitle( } // static -void PrintPreviewUI::SetSourceIsModifiable(WebContents* print_preview_dialog, - bool source_is_modifiable) { +void PrintPreviewUI::SetInitialParams( + content::WebContents* print_preview_dialog, + const PrintHostMsg_RequestPrintPreview_Params& params) { if (!print_preview_dialog || !print_preview_dialog->GetWebUI()) return; PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>( print_preview_dialog->GetWebUI()->GetController()); - print_preview_ui->source_is_modifiable_ = source_is_modifiable; -} - -// static -void PrintPreviewUI::SetSourceHasSelection(WebContents* print_preview_dialog, - bool source_has_selection) { - if (!print_preview_dialog || !print_preview_dialog->GetWebUI()) - return; - PrintPreviewUI* print_preview_ui = static_cast<PrintPreviewUI*>( - print_preview_dialog->GetWebUI()->GetController()); - print_preview_ui->source_has_selection_ = source_has_selection; + print_preview_ui->source_is_modifiable_ = params.is_modifiable; + print_preview_ui->source_has_selection_ = params.has_selection; + print_preview_ui->print_selection_only_ = params.selection_only; } // static diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui.h b/chrome/browser/ui/webui/print_preview/print_preview_ui.h index 09e6d41..4cfd242 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_ui.h +++ b/chrome/browser/ui/webui/print_preview/print_preview_ui.h @@ -15,6 +15,7 @@ class PrintPreviewDataService; class PrintPreviewHandler; struct PrintHostMsg_DidGetPreviewPageCount_Params; +struct PrintHostMsg_RequestPrintPreview_Params; namespace base { class RefCountedBytes; @@ -60,13 +61,12 @@ class PrintPreviewUI : public ConstrainedWebDialogUI { bool source_has_selection() { return source_has_selection_; } - // Set |source_is_modifiable_| for |print_preview_dialog|'s PrintPreviewUI. - static void SetSourceIsModifiable(content::WebContents* print_preview_dialog, - bool source_is_modifiable); + bool print_selection_only() { return print_selection_only_; } - // Set |source_has_selection_| for |print_preview_dialog|'s PrintPreviewUI. - static void SetSourceHasSelection(content::WebContents* print_preview_dialog, - bool source_has_selection); + // Set initial settings for PrintPreviewUI. + static void SetInitialParams( + content::WebContents* print_preview_dialog, + const PrintHostMsg_RequestPrintPreview_Params& params); // Determines whether to cancel a print preview request based on // |preview_ui_id| and |request_id|. @@ -178,6 +178,9 @@ class PrintPreviewUI : public ConstrainedWebDialogUI { // Indicates whether the source document has selection. bool source_has_selection_; + // Indicates whether only the selection should be printed. + bool print_selection_only_; + // Store the initiator tab title, used for populating the print preview dialog // title. string16 initiator_tab_title_; diff --git a/chrome/browser/ui/webui/print_preview/print_preview_ui_unittest.cc b/chrome/browser/ui/webui/print_preview/print_preview_ui_unittest.cc index 1f13219..38e89df 100644 --- a/chrome/browser/ui/webui/print_preview/print_preview_ui_unittest.cc +++ b/chrome/browser/ui/webui/print_preview/print_preview_ui_unittest.cc @@ -76,7 +76,7 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { printing::PrintViewManager* print_view_manager = printing::PrintViewManager::FromWebContents(initiator_tab); - print_view_manager->PrintPreviewNow(); + print_view_manager->PrintPreviewNow(false); WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator_tab); @@ -131,7 +131,7 @@ TEST_F(PrintPreviewUIUnitTest, PrintPreviewDraftPages) { printing::PrintViewManager* print_view_manager = printing::PrintViewManager::FromWebContents(initiator_tab); - print_view_manager->PrintPreviewNow(); + print_view_manager->PrintPreviewNow(false); WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator_tab); @@ -193,7 +193,7 @@ TEST_F(PrintPreviewUIUnitTest, GetCurrentPrintPreviewStatus) { printing::PrintViewManager* print_view_manager = printing::PrintViewManager::FromWebContents(initiator_tab); - print_view_manager->PrintPreviewNow(); + print_view_manager->PrintPreviewNow(false); WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator_tab); @@ -256,7 +256,7 @@ TEST_F(PrintPreviewUIUnitTest, InitiatorTabGetsFocusOnPrintPreviewDialogClose) { printing::PrintViewManager* print_view_manager = printing::PrintViewManager::FromWebContents(initiator_tab); - print_view_manager->PrintPreviewNow(); + print_view_manager->PrintPreviewNow(false); WebContents* preview_dialog = controller->GetOrCreatePreviewDialog(initiator_tab); |