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 <vector> | 5 #include <vector> |
6 | 6 |
7 #include "base/memory/ref_counted_memory.h" | 7 #include "base/memory/ref_counted_memory.h" |
8 #include "chrome/browser/prefs/pref_service.h" | 8 #include "chrome/browser/prefs/pref_service.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_view_manager.h" | 10 #include "chrome/browser/printing/print_view_manager.h" |
11 #include "chrome/browser/ui/browser_commands.h" | 11 #include "chrome/browser/ui/browser_commands.h" |
12 #include "chrome/browser/ui/browser_tabstrip.h" | 12 #include "chrome/browser/ui/browser_tabstrip.h" |
13 #include "chrome/browser/ui/constrained_window_tab_helper.h" | 13 #include "chrome/browser/ui/constrained_window_tab_helper.h" |
14 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 14 #include "chrome/browser/ui/tab_contents/tab_contents.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/common/pref_names.h" | 16 #include "chrome/common/pref_names.h" |
17 #include "chrome/test/base/browser_with_test_window_test.h" | 17 #include "chrome/test/base/browser_with_test_window_test.h" |
| 18 #include "content/public/browser/plugin_service.h" |
18 #include "content/public/browser/site_instance.h" | 19 #include "content/public/browser/site_instance.h" |
19 #include "content/public/browser/web_contents.h" | 20 #include "content/public/browser/web_contents.h" |
20 #include "content/public/test/web_contents_tester.h" | 21 #include "content/public/test/web_contents_tester.h" |
21 #include "printing/print_job_constants.h" | 22 #include "printing/print_job_constants.h" |
| 23 #include "webkit/plugins/npapi/mock_plugin_list.h" |
22 | 24 |
23 using content::WebContents; | 25 using content::WebContents; |
24 using content::WebContentsTester; | 26 using content::WebContentsTester; |
25 | 27 |
26 namespace { | 28 namespace { |
27 | 29 |
28 base::RefCountedBytes* CreateTestData() { | 30 base::RefCountedBytes* CreateTestData() { |
29 const unsigned char blob1[] = | 31 const unsigned char blob1[] = |
30 "12346102356120394751634516591348710478123649165419234519234512349134"; | 32 "12346102356120394751634516591348710478123649165419234519234512349134"; |
31 std::vector<unsigned char> preview_data(blob1, blob1 + sizeof(blob1)); | 33 std::vector<unsigned char> preview_data(blob1, blob1 + sizeof(blob1)); |
(...skipping 10 matching lines...) Expand all Loading... |
42 | 44 |
43 class PrintPreviewUIUnitTest : public BrowserWithTestWindowTest { | 45 class PrintPreviewUIUnitTest : public BrowserWithTestWindowTest { |
44 public: | 46 public: |
45 PrintPreviewUIUnitTest() {} | 47 PrintPreviewUIUnitTest() {} |
46 virtual ~PrintPreviewUIUnitTest() {} | 48 virtual ~PrintPreviewUIUnitTest() {} |
47 | 49 |
48 protected: | 50 protected: |
49 virtual void SetUp() OVERRIDE { | 51 virtual void SetUp() OVERRIDE { |
50 BrowserWithTestWindowTest::SetUp(); | 52 BrowserWithTestWindowTest::SetUp(); |
51 | 53 |
| 54 // The PluginService will be destroyed at the end of the test (due to the |
| 55 // ShadowingAtExitManager in our base class). |
| 56 content::PluginService::GetInstance()->SetPluginListForTesting( |
| 57 &plugin_list_); |
| 58 |
52 profile()->GetPrefs()->SetBoolean(prefs::kPrintPreviewDisabled, false); | 59 profile()->GetPrefs()->SetBoolean(prefs::kPrintPreviewDisabled, false); |
53 | 60 |
54 chrome::NewTab(browser()); | 61 chrome::NewTab(browser()); |
55 } | 62 } |
| 63 |
| 64 private: |
| 65 webkit::npapi::MockPluginList plugin_list_; |
56 }; | 66 }; |
57 | 67 |
58 // Create/Get a preview tab for initiator tab. | 68 // Create/Get a preview tab for initiator tab. |
59 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { | 69 TEST_F(PrintPreviewUIUnitTest, PrintPreviewData) { |
60 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); | 70 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
61 ASSERT_TRUE(initiator_tab); | 71 ASSERT_TRUE(initiator_tab); |
62 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); | 72 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); |
63 | 73 |
64 printing::PrintPreviewTabController* controller = | 74 printing::PrintPreviewTabController* controller = |
65 printing::PrintPreviewTabController::GetInstance(); | 75 printing::PrintPreviewTabController::GetInstance(); |
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
260 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( | 270 PrintPreviewUI* preview_ui = static_cast<PrintPreviewUI*>( |
261 preview_tab->web_contents()->GetWebUI()->GetController()); | 271 preview_tab->web_contents()->GetWebUI()->GetController()); |
262 ASSERT_TRUE(preview_ui != NULL); | 272 ASSERT_TRUE(preview_ui != NULL); |
263 | 273 |
264 preview_ui->OnPrintPreviewTabClosed(); | 274 preview_ui->OnPrintPreviewTabClosed(); |
265 | 275 |
266 EXPECT_EQ(2, browser()->tab_count()); | 276 EXPECT_EQ(2, browser()->tab_count()); |
267 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); | 277 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); |
268 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); | 278 EXPECT_EQ(1, initiator_tester->GetNumberOfFocusCalls()); |
269 } | 279 } |
OLD | NEW |