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

Side by Side Diff: chrome/browser/browser_focus_uitest.cc

Issue 16490: Add FTP unit test in preparation for portable FTP implementation.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 11 months 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/browser_uitest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/view_ids.h" 5 #include "chrome/browser/view_ids.h"
6 #include "chrome/views/view.h" 6 #include "chrome/views/view.h"
7 #include "chrome/test/automation/browser_proxy.h" 7 #include "chrome/test/automation/browser_proxy.h"
8 #include "chrome/test/automation/window_proxy.h" 8 #include "chrome/test/automation/window_proxy.h"
9 #include "chrome/test/automation/tab_proxy.h" 9 #include "chrome/test/automation/tab_proxy.h"
10 #include "chrome/test/ui/ui_test.h" 10 #include "chrome/test/ui/ui_test.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
48 48
49 // Wait a bit to let the click be processed. 49 // Wait a bit to let the click be processed.
50 ::Sleep(kActionDelayMs); 50 ::Sleep(kActionDelayMs);
51 51
52 return true; 52 return true;
53 } 53 }
54 54
55 } // namespace 55 } // namespace
56 56
57 TEST_F(BrowserFocusTest, BrowsersRememberFocus) { 57 TEST_F(BrowserFocusTest, BrowsersRememberFocus) {
58 TestServer server(kDocRoot); 58 scoped_refptr<HTTPTestServer> server =
59 HTTPTestServer::CreateServer(kDocRoot);
60 ASSERT_TRUE(NULL != server.get());
59 61
60 // First we navigate to our test page. 62 // First we navigate to our test page.
61 GURL url = server.TestServerPageW(kSimplePage); 63 GURL url = server->TestServerPageW(kSimplePage);
62 scoped_ptr<TabProxy> tab(GetActiveTab()); 64 scoped_ptr<TabProxy> tab(GetActiveTab());
63 EXPECT_NE(AUTOMATION_MSG_NAVIGATION_ERROR, tab->NavigateToURL(url)); 65 EXPECT_NE(AUTOMATION_MSG_NAVIGATION_ERROR, tab->NavigateToURL(url));
64 66
65 // The focus should be on the Tab contents. 67 // The focus should be on the Tab contents.
66 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 68 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
67 ASSERT_TRUE(window.get() != NULL); 69 ASSERT_TRUE(window.get() != NULL);
68 70
69 scoped_ptr<BrowserProxy> browser(automation()-> 71 scoped_ptr<BrowserProxy> browser(automation()->
70 GetBrowserForWindow(window.get())); 72 GetBrowserForWindow(window.get()));
71 ASSERT_TRUE(browser.get() != NULL); 73 ASSERT_TRUE(browser.get() != NULL);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 // Switch back to the second browser, focus should still be on the page. 125 // Switch back to the second browser, focus should still be on the page.
124 EXPECT_TRUE(new_window->Activate()); 126 EXPECT_TRUE(new_window->Activate());
125 EXPECT_TRUE(new_window->GetFocusedViewID(&focused_view_id)); 127 EXPECT_TRUE(new_window->GetFocusedViewID(&focused_view_id));
126 EXPECT_EQ(VIEW_ID_TAB_CONTAINER, focused_view_id); 128 EXPECT_EQ(VIEW_ID_TAB_CONTAINER, focused_view_id);
127 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id)); 129 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id));
128 EXPECT_EQ(-1, focused_view_id); 130 EXPECT_EQ(-1, focused_view_id);
129 } 131 }
130 132
131 // Tabs remember focus. 133 // Tabs remember focus.
132 TEST_F(BrowserFocusTest, TabsRememberFocus) { 134 TEST_F(BrowserFocusTest, TabsRememberFocus) {
133 TestServer server(kDocRoot); 135 scoped_refptr<HTTPTestServer> server =
136 HTTPTestServer::CreateServer(kDocRoot);
137 ASSERT_TRUE(NULL != server.get());
134 138
135 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 139 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
136 ASSERT_TRUE(window.get() != NULL); 140 ASSERT_TRUE(window.get() != NULL);
137 scoped_ptr<BrowserProxy> browser( 141 scoped_ptr<BrowserProxy> browser(
138 automation()->GetBrowserForWindow(window.get())); 142 automation()->GetBrowserForWindow(window.get()));
139 ASSERT_TRUE(browser.get() != NULL); 143 ASSERT_TRUE(browser.get() != NULL);
140 144
141 // First we navigate to our test page. 145 // First we navigate to our test page.
142 GURL url = server.TestServerPageW(kSimplePage); 146 GURL url = server->TestServerPageW(kSimplePage);
143 scoped_ptr<TabProxy> tab(GetActiveTab()); 147 scoped_ptr<TabProxy> tab(GetActiveTab());
144 tab->NavigateToURL(url); 148 tab->NavigateToURL(url);
145 149
146 // Create several tabs. 150 // Create several tabs.
147 EXPECT_TRUE(browser->AppendTab(url)); 151 EXPECT_TRUE(browser->AppendTab(url));
148 EXPECT_TRUE(browser->AppendTab(url)); 152 EXPECT_TRUE(browser->AppendTab(url));
149 EXPECT_TRUE(browser->AppendTab(url)); 153 EXPECT_TRUE(browser->AppendTab(url));
150 EXPECT_TRUE(browser->AppendTab(url)); 154 EXPECT_TRUE(browser->AppendTab(url));
151 155
152 int tab_count; 156 int tab_count;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 VIEW_ID_LOCATION_BAR; 191 VIEW_ID_LOCATION_BAR;
188 int focused_view_id; 192 int focused_view_id;
189 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id)); 193 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id));
190 EXPECT_EQ(exp_view_id, focused_view_id); 194 EXPECT_EQ(exp_view_id, focused_view_id);
191 } 195 }
192 } 196 }
193 } 197 }
194 198
195 // Background window does not steal focus. 199 // Background window does not steal focus.
196 TEST_F(BrowserFocusTest, BackgroundBrowserDontStealFocus) { 200 TEST_F(BrowserFocusTest, BackgroundBrowserDontStealFocus) {
197 TestServer server(kDocRoot); 201 scoped_refptr<HTTPTestServer> server =
202 HTTPTestServer::CreateServer(kDocRoot);
203 ASSERT_TRUE(NULL != server.get());
198 204
199 // First we navigate to our test page. 205 // First we navigate to our test page.
200 GURL simple_page_url = server.TestServerPageW(kSimplePage); 206 GURL simple_page_url = server->TestServerPageW(kSimplePage);
201 scoped_ptr<TabProxy> tab(GetActiveTab()); 207 scoped_ptr<TabProxy> tab(GetActiveTab());
202 tab->NavigateToURL(simple_page_url); 208 tab->NavigateToURL(simple_page_url);
203 209
204 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 210 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
205 ASSERT_TRUE(window.get() != NULL); 211 ASSERT_TRUE(window.get() != NULL);
206 scoped_ptr<BrowserProxy> browser( 212 scoped_ptr<BrowserProxy> browser(
207 automation()->GetBrowserForWindow(window.get())); 213 automation()->GetBrowserForWindow(window.get()));
208 ASSERT_TRUE(browser.get() != NULL); 214 ASSERT_TRUE(browser.get() != NULL);
209 215
210 // Open a new browser window. 216 // Open a new browser window.
211 EXPECT_TRUE(automation()->OpenNewBrowserWindow(SW_SHOWNORMAL)); 217 EXPECT_TRUE(automation()->OpenNewBrowserWindow(SW_SHOWNORMAL));
212 scoped_ptr<WindowProxy> new_window(automation()->GetActiveWindow()); 218 scoped_ptr<WindowProxy> new_window(automation()->GetActiveWindow());
213 ASSERT_TRUE(window.get() != NULL); 219 ASSERT_TRUE(window.get() != NULL);
214 scoped_ptr<BrowserProxy> new_browser( 220 scoped_ptr<BrowserProxy> new_browser(
215 automation()->GetBrowserForWindow(new_window.get())); 221 automation()->GetBrowserForWindow(new_window.get()));
216 ASSERT_TRUE(new_browser.get() != NULL); 222 ASSERT_TRUE(new_browser.get() != NULL);
217 223
218 GURL steal_focus_url = server.TestServerPageW(kStealFocusPage); 224 GURL steal_focus_url = server->TestServerPageW(kStealFocusPage);
219 new_browser->AppendTab(steal_focus_url); 225 new_browser->AppendTab(steal_focus_url);
220 226
221 // Make the first browser active 227 // Make the first browser active
222 EXPECT_TRUE(window->Activate()); 228 EXPECT_TRUE(window->Activate());
223 229
224 // Wait for the focus to be stolen by the other browser. 230 // Wait for the focus to be stolen by the other browser.
225 ::Sleep(2000); 231 ::Sleep(2000);
226 232
227 // Make sure the 1st browser window is still active. 233 // Make sure the 1st browser window is still active.
228 bool is_active = false; 234 bool is_active = false;
229 EXPECT_TRUE(window->IsActive(&is_active)); 235 EXPECT_TRUE(window->IsActive(&is_active));
230 EXPECT_TRUE(is_active); 236 EXPECT_TRUE(is_active);
231 } 237 }
232 238
233 // Page cannot steal focus when focus is on location bar. 239 // Page cannot steal focus when focus is on location bar.
234 TEST_F(BrowserFocusTest, LocationBarLockFocus) { 240 TEST_F(BrowserFocusTest, LocationBarLockFocus) {
235 TestServer server(kDocRoot); 241 scoped_refptr<HTTPTestServer> server =
242 HTTPTestServer::CreateServer(kDocRoot);
243 ASSERT_TRUE(NULL != server.get());
236 244
237 // Open the page that steals focus. 245 // Open the page that steals focus.
238 GURL url = server.TestServerPageW(kStealFocusPage); 246 GURL url = server->TestServerPageW(kStealFocusPage);
239 scoped_ptr<TabProxy> tab(GetActiveTab()); 247 scoped_ptr<TabProxy> tab(GetActiveTab());
240 tab->NavigateToURL(url); 248 tab->NavigateToURL(url);
241 249
242 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 250 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
243 ASSERT_TRUE(window.get() != NULL); 251 ASSERT_TRUE(window.get() != NULL);
244 scoped_ptr<BrowserProxy> browser( 252 scoped_ptr<BrowserProxy> browser(
245 automation()->GetBrowserForWindow(window.get())); 253 automation()->GetBrowserForWindow(window.get()));
246 ASSERT_TRUE(browser.get() != NULL); 254 ASSERT_TRUE(browser.get() != NULL);
247 255
248 // Click on the location bar. 256 // Click on the location bar.
249 gfx::Rect bounds; 257 gfx::Rect bounds;
250 EXPECT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &bounds, true)); 258 EXPECT_TRUE(window->GetViewBounds(VIEW_ID_LOCATION_BAR, &bounds, true));
251 POINT click(bounds.CenterPoint().ToPOINT()); 259 POINT click(bounds.CenterPoint().ToPOINT());
252 EXPECT_TRUE(window->SimulateOSClick(click, 260 EXPECT_TRUE(window->SimulateOSClick(click,
253 views::Event::EF_LEFT_BUTTON_DOWN)); 261 views::Event::EF_LEFT_BUTTON_DOWN));
254 ::Sleep(kActionDelayMs); 262 ::Sleep(kActionDelayMs);
255 263
256 // Wait for the page to steal focus. 264 // Wait for the page to steal focus.
257 ::Sleep(2000); 265 ::Sleep(2000);
258 266
259 // Make sure the location bar is still focused. 267 // Make sure the location bar is still focused.
260 int focused_view_id; 268 int focused_view_id;
261 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id)); 269 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id));
262 EXPECT_EQ(VIEW_ID_LOCATION_BAR, focused_view_id); 270 EXPECT_EQ(VIEW_ID_LOCATION_BAR, focused_view_id);
263 } 271 }
264 272
265 // Focus traversal 273 // Focus traversal
266 TEST_F(BrowserFocusTest, FocusTraversal) { 274 TEST_F(BrowserFocusTest, FocusTraversal) {
267 TestServer server(kDocRoot); 275 scoped_refptr<HTTPTestServer> server =
276 HTTPTestServer::CreateServer(kDocRoot);
277 ASSERT_TRUE(NULL != server.get());
268 278
269 // Open the page the test page. 279 // Open the page the test page.
270 GURL url = server.TestServerPageW(kTypicalPage); 280 GURL url = server->TestServerPageW(kTypicalPage);
271 scoped_ptr<TabProxy> tab(GetActiveTab()); 281 scoped_ptr<TabProxy> tab(GetActiveTab());
272 tab->NavigateToURL(url); 282 tab->NavigateToURL(url);
273 283
274 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 284 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
275 ASSERT_TRUE(window.get() != NULL); 285 ASSERT_TRUE(window.get() != NULL);
276 scoped_ptr<BrowserProxy> browser( 286 scoped_ptr<BrowserProxy> browser(
277 automation()->GetBrowserForWindow(window.get())); 287 automation()->GetBrowserForWindow(window.get()));
278 ASSERT_TRUE(browser.get() != NULL); 288 ASSERT_TRUE(browser.get() != NULL);
279 289
280 // Click on the location bar. 290 // Click on the location bar.
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 ASSERT_TRUE(tab->ExecuteAndExtractString(L"", 340 ASSERT_TRUE(tab->ExecuteAndExtractString(L"",
331 L"window.domAutomationController.send(getFocusedElement());", 341 L"window.domAutomationController.send(getFocusedElement());",
332 &actual)); 342 &actual));
333 ASSERT_STREQ(kExpElementIDs[6 - j], actual.c_str()); 343 ASSERT_STREQ(kExpElementIDs[6 - j], actual.c_str());
334 } 344 }
335 } 345 }
336 } 346 }
337 347
338 // Make sure Find box can request focus, even when it is already open. 348 // Make sure Find box can request focus, even when it is already open.
339 TEST_F(BrowserFocusTest, FindFocusTest) { 349 TEST_F(BrowserFocusTest, FindFocusTest) {
340 TestServer server(kDocRoot); 350 scoped_refptr<HTTPTestServer> server =
351 HTTPTestServer::CreateServer(kDocRoot);
352 ASSERT_TRUE(NULL != server.get());
341 353
342 // Open some page (any page that doesn't steal focus). 354 // Open some page (any page that doesn't steal focus).
343 GURL url = server.TestServerPageW(kTypicalPage); 355 GURL url = server->TestServerPageW(kTypicalPage);
344 scoped_ptr<TabProxy> tab(GetActiveTab()); 356 scoped_ptr<TabProxy> tab(GetActiveTab());
345 tab->NavigateToURL(url); 357 tab->NavigateToURL(url);
346 358
347 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow()); 359 scoped_ptr<WindowProxy> window(automation()->GetActiveWindow());
348 ASSERT_TRUE(window.get() != NULL); 360 ASSERT_TRUE(window.get() != NULL);
349 scoped_ptr<BrowserProxy> browser( 361 scoped_ptr<BrowserProxy> browser(
350 automation()->GetBrowserForWindow(window.get())); 362 automation()->GetBrowserForWindow(window.get()));
351 ASSERT_TRUE(browser.get() != NULL); 363 ASSERT_TRUE(browser.get() != NULL);
352 364
353 // Press Ctrl+F, which will make the Find box open and request focus. 365 // Press Ctrl+F, which will make the Find box open and request focus.
(...skipping 29 matching lines...) Expand all
383 ::Sleep(kActionDelayMs); 395 ::Sleep(kActionDelayMs);
384 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id)); 396 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id));
385 EXPECT_EQ(VIEW_ID_TAB_CONTAINER, focused_view_id); 397 EXPECT_EQ(VIEW_ID_TAB_CONTAINER, focused_view_id);
386 398
387 // Now press Ctrl+F again and focus should move to the Find box. 399 // Now press Ctrl+F again and focus should move to the Find box.
388 EXPECT_TRUE(window->SimulateOSKeyPress(VK_F, views::Event::EF_CONTROL_DOWN)); 400 EXPECT_TRUE(window->SimulateOSKeyPress(VK_F, views::Event::EF_CONTROL_DOWN));
389 ::Sleep(kActionDelayMs); 401 ::Sleep(kActionDelayMs);
390 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id)); 402 EXPECT_TRUE(window->GetFocusedViewID(&focused_view_id));
391 EXPECT_EQ(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD, focused_view_id); 403 EXPECT_EQ(VIEW_ID_FIND_IN_PAGE_TEXT_FIELD, focused_view_id);
392 } 404 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browser_uitest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698