summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui')
-rw-r--r--chrome/browser/ui/browser_commands.cc2
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_handler.cc2
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_ui.cc19
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_ui.h15
-rw-r--r--chrome/browser/ui/webui/print_preview/print_preview_ui_unittest.cc8
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);