OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "base/json/json_writer.h" | 5 #include "base/json/json_writer.h" |
6 #include "base/values.h" | 6 #include "base/values.h" |
7 #include "chrome/browser/browser_process.h" | 7 #include "chrome/browser/browser_process.h" |
8 #include "chrome/browser/printing/background_printing_manager.h" | 8 #include "chrome/browser/printing/background_printing_manager.h" |
9 #include "chrome/browser/printing/print_preview_tab_controller.h" | 9 #include "chrome/browser/printing/print_preview_tab_controller.h" |
10 #include "chrome/browser/printing/print_preview_unit_test_base.h" | 10 #include "chrome/browser/printing/print_preview_unit_test_base.h" |
11 #include "chrome/browser/printing/print_view_manager.h" | 11 #include "chrome/browser/printing/print_view_manager.h" |
12 #include "chrome/browser/ui/browser_list.h" | 12 #include "chrome/browser/ui/browser_list.h" |
13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 13 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
14 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" | 14 #include "chrome/browser/ui/webui/print_preview/print_preview_handler.h" |
15 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" | 15 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
16 #include "chrome/browser/ui/webui/print_preview/sticky_settings.h" | 16 #include "chrome/browser/ui/webui/print_preview/sticky_settings.h" |
17 #include "content/public/browser/web_contents.h" | 17 #include "content/public/browser/web_contents.h" |
18 #include "printing/page_size_margins.h" | 18 #include "printing/page_size_margins.h" |
19 #include "printing/print_job_constants.h" | 19 #include "printing/print_job_constants.h" |
20 | 20 |
21 namespace { | 21 namespace { |
22 | 22 |
23 DictionaryValue* GetCustomMarginsDictionary( | 23 DictionaryValue* GetCustomMarginsDictionary( |
(...skipping 27 matching lines...) Expand all Loading... |
51 } | 51 } |
52 | 52 |
53 virtual void TearDown() OVERRIDE { | 53 virtual void TearDown() OVERRIDE { |
54 DeletePrintPreviewTab(); | 54 DeletePrintPreviewTab(); |
55 ClearStickySettings(); | 55 ClearStickySettings(); |
56 | 56 |
57 PrintPreviewUnitTestBase::TearDown(); | 57 PrintPreviewUnitTestBase::TearDown(); |
58 } | 58 } |
59 | 59 |
60 void OpenPrintPreviewTab() { | 60 void OpenPrintPreviewTab() { |
61 TabContentsWrapper* initiator_tab = | 61 TabContents* initiator_tab = browser()->GetActiveTabContents(); |
62 browser()->GetSelectedTabContentsWrapper(); | |
63 ASSERT_TRUE(initiator_tab); | 62 ASSERT_TRUE(initiator_tab); |
64 | 63 |
65 printing::PrintPreviewTabController* controller = | 64 printing::PrintPreviewTabController* controller = |
66 printing::PrintPreviewTabController::GetInstance(); | 65 printing::PrintPreviewTabController::GetInstance(); |
67 ASSERT_TRUE(controller); | 66 ASSERT_TRUE(controller); |
68 | 67 |
69 initiator_tab->print_view_manager()->PrintPreviewNow(); | 68 initiator_tab->print_view_manager()->PrintPreviewNow(); |
70 preview_tab_ = controller->GetOrCreatePreviewTab(initiator_tab); | 69 preview_tab_ = controller->GetOrCreatePreviewTab(initiator_tab); |
71 ASSERT_TRUE(preview_tab_); | 70 ASSERT_TRUE(preview_tab_); |
72 | 71 |
73 preview_ui_ = static_cast<PrintPreviewUI*>( | 72 preview_ui_ = static_cast<PrintPreviewUI*>( |
74 preview_tab_->web_contents()->GetWebUI()->GetController()); | 73 preview_tab_->web_contents()->GetWebUI()->GetController()); |
75 ASSERT_TRUE(preview_ui_); | 74 ASSERT_TRUE(preview_ui_); |
76 } | 75 } |
77 | 76 |
78 void DeletePrintPreviewTab() { | 77 void DeletePrintPreviewTab() { |
79 printing::BackgroundPrintingManager* bg_printing_manager = | 78 printing::BackgroundPrintingManager* bg_printing_manager = |
80 g_browser_process->background_printing_manager(); | 79 g_browser_process->background_printing_manager(); |
81 ASSERT_TRUE(bg_printing_manager->HasPrintPreviewTab(preview_tab_)); | 80 ASSERT_TRUE(bg_printing_manager->HasPrintPreviewTab(preview_tab_)); |
82 | 81 |
83 // Deleting TabContentsWrapper* to avoid warings from pref_notifier_impl.cc | 82 // Deleting TabContents* to avoid warings from pref_notifier_impl.cc |
84 // after the test ends. | 83 // after the test ends. |
85 delete preview_tab_; | 84 delete preview_tab_; |
86 } | 85 } |
87 | 86 |
88 void CheckCustomMargins(const double margin_top, | 87 void CheckCustomMargins(const double margin_top, |
89 const double margin_right, | 88 const double margin_right, |
90 const double margin_bottom, | 89 const double margin_bottom, |
91 const double margin_left) { | 90 const double margin_left) { |
92 printing::PageSizeMargins* margins = | 91 printing::PageSizeMargins* margins = |
93 PrintPreviewHandler::GetStickySettings()-> | 92 PrintPreviewHandler::GetStickySettings()-> |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 | 162 |
164 PrintPreviewUI* preview_ui_; | 163 PrintPreviewUI* preview_ui_; |
165 | 164 |
166 private: | 165 private: |
167 void ClearStickySettings() { | 166 void ClearStickySettings() { |
168 PrintPreviewHandler::GetStickySettings()->margins_type_ = | 167 PrintPreviewHandler::GetStickySettings()->margins_type_ = |
169 printing::DEFAULT_MARGINS; | 168 printing::DEFAULT_MARGINS; |
170 PrintPreviewHandler::GetStickySettings()->page_size_margins_.reset(); | 169 PrintPreviewHandler::GetStickySettings()->page_size_margins_.reset(); |
171 } | 170 } |
172 | 171 |
173 TabContentsWrapper* preview_tab_; | 172 TabContents* preview_tab_; |
174 }; | 173 }; |
175 | 174 |
176 // Tests that margin settings are saved correctly when printing with custom | 175 // Tests that margin settings are saved correctly when printing with custom |
177 // margins selected. | 176 // margins selected. |
178 TEST_F(PrintPreviewHandlerTest, StickyMarginsCustom) { | 177 TEST_F(PrintPreviewHandlerTest, StickyMarginsCustom) { |
179 const double kMarginTop = 25.5; | 178 const double kMarginTop = 25.5; |
180 const double kMarginRight = 26.5; | 179 const double kMarginRight = 26.5; |
181 const double kMarginBottom = 27.5; | 180 const double kMarginBottom = 27.5; |
182 const double kMarginLeft = 28.5; | 181 const double kMarginLeft = 28.5; |
183 RequestPrintWithCustomMargins( | 182 RequestPrintWithCustomMargins( |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
267 double margin_value; | 266 double margin_value; |
268 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop, | 267 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginTop, |
269 &margin_value)); | 268 &margin_value)); |
270 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight, | 269 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginRight, |
271 &margin_value)); | 270 &margin_value)); |
272 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom, | 271 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginBottom, |
273 &margin_value)); | 272 &margin_value)); |
274 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft, | 273 EXPECT_FALSE(initial_settings.GetDouble(printing::kSettingMarginLeft, |
275 &margin_value)); | 274 &margin_value)); |
276 } | 275 } |
OLD | NEW |