Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1540)

Side by Side Diff: chrome/browser/ui/webui/print_preview_ui_unittest.cc

Issue 8515017: Print Preview: Properly handle window.print(). (Closed)
Patch Set: fail instead of crash when 2 views both do window.print() Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/command_line.h" 7 #include "base/command_line.h"
8 #include "base/memory/ref_counted_memory.h" 8 #include "base/memory/ref_counted_memory.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/ui/browser_list.h" 11 #include "chrome/browser/ui/browser_list.h"
11 #include "chrome/browser/ui/constrained_window_tab_helper.h" 12 #include "chrome/browser/ui/constrained_window_tab_helper.h"
12 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" 13 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h"
13 #include "chrome/browser/ui/webui/print_preview_ui.h" 14 #include "chrome/browser/ui/webui/print_preview_ui.h"
14 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
15 #include "chrome/test/base/browser_with_test_window_test.h" 16 #include "chrome/test/base/browser_with_test_window_test.h"
16 #include "chrome/test/base/testing_profile.h" 17 #include "chrome/test/base/testing_profile.h"
17 #include "content/browser/tab_contents/tab_contents.h" 18 #include "content/browser/tab_contents/tab_contents.h"
18 #include "printing/print_job_constants.h" 19 #include "printing/print_job_constants.h"
19 20
(...skipping 27 matching lines...) Expand all
47 browser()->NewTab(); 48 browser()->NewTab();
48 TabContentsWrapper* initiator_tab = 49 TabContentsWrapper* initiator_tab =
49 browser()->GetSelectedTabContentsWrapper(); 50 browser()->GetSelectedTabContentsWrapper();
50 ASSERT_TRUE(initiator_tab); 51 ASSERT_TRUE(initiator_tab);
51 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab)); 52 EXPECT_EQ(0U, GetConstrainedWindowCount(initiator_tab));
52 53
53 printing::PrintPreviewTabController* controller = 54 printing::PrintPreviewTabController* controller =
54 printing::PrintPreviewTabController::GetInstance(); 55 printing::PrintPreviewTabController::GetInstance();
55 ASSERT_TRUE(controller); 56 ASSERT_TRUE(controller);
56 57
58 initiator_tab->print_view_manager()->PrintPreviewNow();
57 TabContentsWrapper* preview_tab = 59 TabContentsWrapper* preview_tab =
58 controller->GetOrCreatePreviewTab(initiator_tab); 60 controller->GetOrCreatePreviewTab(initiator_tab);
59 61
60 EXPECT_NE(initiator_tab, preview_tab); 62 EXPECT_NE(initiator_tab, preview_tab);
61 EXPECT_EQ(1, browser()->tab_count()); 63 EXPECT_EQ(1, browser()->tab_count());
62 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); 64 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab));
63 65
64 PrintPreviewUI* preview_ui = 66 PrintPreviewUI* preview_ui =
65 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui()); 67 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui());
66 ASSERT_TRUE(preview_ui != NULL); 68 ASSERT_TRUE(preview_ui != NULL);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 #endif 112 #endif
111 ASSERT_TRUE(browser()); 113 ASSERT_TRUE(browser());
112 BrowserList::SetLastActive(browser()); 114 BrowserList::SetLastActive(browser());
113 ASSERT_TRUE(BrowserList::GetLastActive()); 115 ASSERT_TRUE(BrowserList::GetLastActive());
114 116
115 browser()->NewTab(); 117 browser()->NewTab();
116 TabContentsWrapper* initiator_tab = 118 TabContentsWrapper* initiator_tab =
117 browser()->GetSelectedTabContentsWrapper(); 119 browser()->GetSelectedTabContentsWrapper();
118 ASSERT_TRUE(initiator_tab); 120 ASSERT_TRUE(initiator_tab);
119 121
120 scoped_refptr<printing::PrintPreviewTabController> 122 printing::PrintPreviewTabController* controller =
121 controller(new printing::PrintPreviewTabController()); 123 printing::PrintPreviewTabController::GetInstance();
122 ASSERT_TRUE(controller); 124 ASSERT_TRUE(controller);
123 125
126 initiator_tab->print_view_manager()->PrintPreviewNow();
124 TabContentsWrapper* preview_tab = 127 TabContentsWrapper* preview_tab =
125 controller->GetOrCreatePreviewTab(initiator_tab); 128 controller->GetOrCreatePreviewTab(initiator_tab);
126 129
127 EXPECT_NE(initiator_tab, preview_tab); 130 EXPECT_NE(initiator_tab, preview_tab);
128 EXPECT_EQ(1, browser()->tab_count()); 131 EXPECT_EQ(1, browser()->tab_count());
129 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); 132 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab));
130 133
131 PrintPreviewUI* preview_ui = 134 PrintPreviewUI* preview_ui =
132 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui()); 135 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui());
133 ASSERT_TRUE(preview_ui != NULL); 136 ASSERT_TRUE(preview_ui != NULL);
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 #endif 187 #endif
185 ASSERT_TRUE(browser()); 188 ASSERT_TRUE(browser());
186 BrowserList::SetLastActive(browser()); 189 BrowserList::SetLastActive(browser());
187 ASSERT_TRUE(BrowserList::GetLastActive()); 190 ASSERT_TRUE(BrowserList::GetLastActive());
188 191
189 browser()->NewTab(); 192 browser()->NewTab();
190 TabContentsWrapper* initiator_tab = 193 TabContentsWrapper* initiator_tab =
191 browser()->GetSelectedTabContentsWrapper(); 194 browser()->GetSelectedTabContentsWrapper();
192 ASSERT_TRUE(initiator_tab); 195 ASSERT_TRUE(initiator_tab);
193 196
194 scoped_refptr<printing::PrintPreviewTabController> 197 printing::PrintPreviewTabController* controller =
195 controller(new printing::PrintPreviewTabController()); 198 printing::PrintPreviewTabController::GetInstance();
196 ASSERT_TRUE(controller); 199 ASSERT_TRUE(controller);
197 200
201 initiator_tab->print_view_manager()->PrintPreviewNow();
198 TabContentsWrapper* preview_tab = 202 TabContentsWrapper* preview_tab =
199 controller->GetOrCreatePreviewTab(initiator_tab); 203 controller->GetOrCreatePreviewTab(initiator_tab);
200 204
201 EXPECT_NE(initiator_tab, preview_tab); 205 EXPECT_NE(initiator_tab, preview_tab);
202 EXPECT_EQ(1, browser()->tab_count()); 206 EXPECT_EQ(1, browser()->tab_count());
203 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab)); 207 EXPECT_EQ(1U, GetConstrainedWindowCount(initiator_tab));
204 208
205 PrintPreviewUI* preview_ui = 209 PrintPreviewUI* preview_ui =
206 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui()); 210 reinterpret_cast<PrintPreviewUI*>(preview_tab->web_ui());
207 ASSERT_TRUE(preview_ui != NULL); 211 ASSERT_TRUE(preview_ui != NULL);
(...skipping 24 matching lines...) Expand all
232 cancel = false; 236 cancel = false;
233 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId, 237 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kFirstRequestId,
234 &cancel); 238 &cancel);
235 EXPECT_TRUE(cancel); 239 EXPECT_TRUE(cancel);
236 240
237 cancel = true; 241 cancel = true;
238 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId, 242 preview_ui->GetCurrentPrintPreviewStatus(preview_ui_addr, kSecondRequestId,
239 &cancel); 243 &cancel);
240 EXPECT_FALSE(cancel); 244 EXPECT_FALSE(cancel);
241 } 245 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/print_preview_handler_unittest.cc ('k') | chrome/common/print_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698