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 "chrome/browser/printing/print_preview_tab_controller.h" | 5 #include "chrome/browser/printing/print_preview_tab_controller.h" |
6 #include "chrome/browser/printing/print_preview_unit_test_base.h" | 6 #include "chrome/browser/printing/print_preview_unit_test_base.h" |
7 #include "chrome/browser/printing/print_view_manager.h" | 7 #include "chrome/browser/printing/print_view_manager.h" |
8 #include "chrome/browser/ui/browser_commands.h" | 8 #include "chrome/browser/ui/browser_commands.h" |
9 #include "chrome/browser/ui/browser_list.h" | 9 #include "chrome/browser/ui/browser_list.h" |
| 10 #include "chrome/browser/ui/browser_tabstrip.h" |
10 #include "chrome/browser/ui/tab_contents/tab_contents.h" | 11 #include "chrome/browser/ui/tab_contents/tab_contents.h" |
11 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 12 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
12 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" | 13 #include "chrome/browser/ui/webui/print_preview/print_preview_ui.h" |
13 #include "content/public/browser/navigation_details.h" | 14 #include "content/public/browser/navigation_details.h" |
14 #include "content/public/browser/notification_service.h" | 15 #include "content/public/browser/notification_service.h" |
15 #include "content/public/browser/notification_types.h" | 16 #include "content/public/browser/notification_types.h" |
16 #include "content/public/common/url_constants.h" | 17 #include "content/public/common/url_constants.h" |
17 | 18 |
18 // Test crashes on Aura due to initiator tab's native view having no parent. | 19 // Test crashes on Aura due to initiator tab's native view having no parent. |
19 // http://crbug.com/104284 | 20 // http://crbug.com/104284 |
(...skipping 15 matching lines...) Expand all Loading... |
35 | 36 |
36 // Create/Get a preview tab for initiator tab. | 37 // Create/Get a preview tab for initiator tab. |
37 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_GetOrCreatePreviewTab) { | 38 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_GetOrCreatePreviewTab) { |
38 // Lets start with one window with one tab. | 39 // Lets start with one window with one tab. |
39 EXPECT_EQ(1u, BrowserList::size()); | 40 EXPECT_EQ(1u, BrowserList::size()); |
40 EXPECT_EQ(0, browser()->tab_count()); | 41 EXPECT_EQ(0, browser()->tab_count()); |
41 chrome::NewTab(browser()); | 42 chrome::NewTab(browser()); |
42 EXPECT_EQ(1, browser()->tab_count()); | 43 EXPECT_EQ(1, browser()->tab_count()); |
43 | 44 |
44 // Create a reference to initiator tab contents. | 45 // Create a reference to initiator tab contents. |
45 TabContents* initiator_tab = browser()->GetActiveTabContents(); | 46 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
46 | 47 |
47 printing::PrintPreviewTabController* tab_controller = | 48 printing::PrintPreviewTabController* tab_controller = |
48 printing::PrintPreviewTabController::GetInstance(); | 49 printing::PrintPreviewTabController::GetInstance(); |
49 ASSERT_TRUE(tab_controller); | 50 ASSERT_TRUE(tab_controller); |
50 | 51 |
51 // Get the preview tab for initiator tab. | 52 // Get the preview tab for initiator tab. |
52 initiator_tab->print_view_manager()->PrintPreviewNow(); | 53 initiator_tab->print_view_manager()->PrintPreviewNow(); |
53 TabContents* preview_tab = | 54 TabContents* preview_tab = |
54 tab_controller->GetOrCreatePreviewTab(initiator_tab); | 55 tab_controller->GetOrCreatePreviewTab(initiator_tab); |
55 | 56 |
(...skipping 14 matching lines...) Expand all Loading... |
70 | 71 |
71 // To show multiple print preview tabs exist in the same browser for | 72 // To show multiple print preview tabs exist in the same browser for |
72 // different initiator tabs. If preview tab already exists for an initiator, it | 73 // different initiator tabs. If preview tab already exists for an initiator, it |
73 // gets focused. | 74 // gets focused. |
74 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_MultiplePreviewTabs) { | 75 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_MultiplePreviewTabs) { |
75 // Lets start with one window and two tabs. | 76 // Lets start with one window and two tabs. |
76 EXPECT_EQ(1u, BrowserList::size()); | 77 EXPECT_EQ(1u, BrowserList::size()); |
77 EXPECT_EQ(0, browser()->tab_count()); | 78 EXPECT_EQ(0, browser()->tab_count()); |
78 | 79 |
79 chrome::NewTab(browser()); | 80 chrome::NewTab(browser()); |
80 TabContents* tab_contents_1 = browser()->GetActiveTabContents(); | 81 TabContents* tab_contents_1 = chrome::GetActiveTabContents(browser()); |
81 ASSERT_TRUE(tab_contents_1); | 82 ASSERT_TRUE(tab_contents_1); |
82 | 83 |
83 chrome::NewTab(browser()); | 84 chrome::NewTab(browser()); |
84 TabContents* tab_contents_2 = browser()->GetActiveTabContents(); | 85 TabContents* tab_contents_2 = chrome::GetActiveTabContents(browser()); |
85 ASSERT_TRUE(tab_contents_2); | 86 ASSERT_TRUE(tab_contents_2); |
86 EXPECT_EQ(2, browser()->tab_count()); | 87 EXPECT_EQ(2, browser()->tab_count()); |
87 | 88 |
88 printing::PrintPreviewTabController* tab_controller = | 89 printing::PrintPreviewTabController* tab_controller = |
89 printing::PrintPreviewTabController::GetInstance(); | 90 printing::PrintPreviewTabController::GetInstance(); |
90 ASSERT_TRUE(tab_controller); | 91 ASSERT_TRUE(tab_controller); |
91 | 92 |
92 // Create preview tab for |tab_contents_1| | 93 // Create preview tab for |tab_contents_1| |
93 tab_contents_1->print_view_manager()->PrintPreviewNow(); | 94 tab_contents_1->print_view_manager()->PrintPreviewNow(); |
94 TabContents* preview_tab_1 = | 95 TabContents* preview_tab_1 = |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
127 | 128 |
128 // Clear the initiator tab details associated with preview tab. | 129 // Clear the initiator tab details associated with preview tab. |
129 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_ClearInitiatorTabDetails) { | 130 TEST_F(PrintPreviewTabControllerUnitTest, MAYBE_ClearInitiatorTabDetails) { |
130 // Lets start with one window with one tab. | 131 // Lets start with one window with one tab. |
131 EXPECT_EQ(1u, BrowserList::size()); | 132 EXPECT_EQ(1u, BrowserList::size()); |
132 EXPECT_EQ(0, browser()->tab_count()); | 133 EXPECT_EQ(0, browser()->tab_count()); |
133 chrome::NewTab(browser()); | 134 chrome::NewTab(browser()); |
134 EXPECT_EQ(1, browser()->tab_count()); | 135 EXPECT_EQ(1, browser()->tab_count()); |
135 | 136 |
136 // Create a reference to initiator tab contents. | 137 // Create a reference to initiator tab contents. |
137 TabContents* initiator_tab = browser()->GetActiveTabContents(); | 138 TabContents* initiator_tab = chrome::GetActiveTabContents(browser()); |
138 | 139 |
139 printing::PrintPreviewTabController* tab_controller = | 140 printing::PrintPreviewTabController* tab_controller = |
140 printing::PrintPreviewTabController::GetInstance(); | 141 printing::PrintPreviewTabController::GetInstance(); |
141 ASSERT_TRUE(tab_controller); | 142 ASSERT_TRUE(tab_controller); |
142 | 143 |
143 // Get the preview tab for initiator tab. | 144 // Get the preview tab for initiator tab. |
144 initiator_tab->print_view_manager()->PrintPreviewNow(); | 145 initiator_tab->print_view_manager()->PrintPreviewNow(); |
145 TabContents* preview_tab = | 146 TabContents* preview_tab = |
146 tab_controller->GetOrCreatePreviewTab(initiator_tab); | 147 tab_controller->GetOrCreatePreviewTab(initiator_tab); |
147 | 148 |
148 // New print preview tab is created. Current focus is on preview tab. | 149 // New print preview tab is created. Current focus is on preview tab. |
149 EXPECT_EQ(1, browser()->tab_count()); | 150 EXPECT_EQ(1, browser()->tab_count()); |
150 EXPECT_NE(initiator_tab, preview_tab); | 151 EXPECT_NE(initiator_tab, preview_tab); |
151 | 152 |
152 // Clear the initiator tab details associated with the preview tab. | 153 // Clear the initiator tab details associated with the preview tab. |
153 tab_controller->EraseInitiatorTabInfo(preview_tab); | 154 tab_controller->EraseInitiatorTabInfo(preview_tab); |
154 | 155 |
155 // Get the print preview tab for initiator tab. | 156 // Get the print preview tab for initiator tab. |
156 TabContents* new_preview_tab = | 157 TabContents* new_preview_tab = |
157 tab_controller->GetOrCreatePreviewTab(initiator_tab); | 158 tab_controller->GetOrCreatePreviewTab(initiator_tab); |
158 | 159 |
159 // New preview tab is created. | 160 // New preview tab is created. |
160 EXPECT_EQ(1, browser()->tab_count()); | 161 EXPECT_EQ(1, browser()->tab_count()); |
161 EXPECT_NE(new_preview_tab, preview_tab); | 162 EXPECT_NE(new_preview_tab, preview_tab); |
162 } | 163 } |
OLD | NEW |