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/bind.h" | 5 #include "base/bind.h" |
6 #include "base/utf_string_conversions.h" | 6 #include "base/utf_string_conversions.h" |
7 #include "chrome/browser/download/download_service.h" | 7 #include "chrome/browser/download/download_service.h" |
8 #include "chrome/browser/download/download_service_factory.h" | 8 #include "chrome/browser/download/download_service_factory.h" |
9 #include "chrome/browser/net/url_request_mock_util.h" | 9 #include "chrome/browser/net/url_request_mock_util.h" |
10 #include "chrome/browser/prefs/browser_prefs.h" | 10 #include "chrome/browser/prefs/browser_prefs.h" |
11 #include "chrome/browser/prefs/pref_service.h" | 11 #include "chrome/browser/prefs/pref_service.h" |
12 #include "chrome/browser/profiles/profile.h" | 12 #include "chrome/browser/profiles/profile.h" |
13 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" | 13 #include "chrome/browser/ui/app_modal_dialogs/app_modal_dialog.h" |
14 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" | 14 #include "chrome/browser/ui/app_modal_dialogs/native_app_modal_dialog.h" |
15 #include "chrome/browser/ui/browser_finder.h" | 15 #include "chrome/browser/ui/browser_finder.h" |
16 #include "chrome/browser/ui/browser_list.h" | 16 #include "chrome/browser/ui/browser_list.h" |
17 #include "chrome/browser/ui/browser_window.h" | 17 #include "chrome/browser/ui/browser_window.h" |
18 #include "chrome/browser/ui/find_bar/find_bar.h" | 18 #include "chrome/browser/ui/find_bar/find_bar.h" |
19 #include "chrome/browser/ui/find_bar/find_bar_controller.h" | 19 #include "chrome/browser/ui/find_bar/find_bar_controller.h" |
20 #include "chrome/browser/ui/panels/old_base_panel_browser_test.h" | 20 #include "chrome/browser/ui/panels/base_panel_browser_test.h" |
21 #include "chrome/browser/ui/panels/docked_panel_strip.h" | 21 #include "chrome/browser/ui/panels/docked_panel_strip.h" |
22 #include "chrome/browser/ui/panels/native_panel.h" | 22 #include "chrome/browser/ui/panels/native_panel.h" |
23 #include "chrome/browser/ui/panels/panel.h" | 23 #include "chrome/browser/ui/panels/panel.h" |
24 #include "chrome/browser/ui/panels/panel_manager.h" | 24 #include "chrome/browser/ui/panels/panel_manager.h" |
25 #include "chrome/browser/ui/panels/test_panel_mouse_watcher.h" | 25 #include "chrome/browser/ui/panels/test_panel_mouse_watcher.h" |
26 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 26 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
27 #include "chrome/browser/web_applications/web_app.h" | 27 #include "chrome/browser/web_applications/web_app.h" |
28 #include "chrome/common/chrome_notification_types.h" | 28 #include "chrome/common/chrome_notification_types.h" |
29 #include "chrome/common/extensions/extension_manifest_constants.h" | 29 #include "chrome/common/extensions/extension_manifest_constants.h" |
30 #include "chrome/common/pref_names.h" | 30 #include "chrome/common/pref_names.h" |
31 #include "chrome/common/url_constants.h" | 31 #include "chrome/common/url_constants.h" |
32 #include "chrome/test/base/ui_test_utils.h" | 32 #include "chrome/test/base/ui_test_utils.h" |
33 #include "content/public/browser/download_manager.h" | 33 #include "content/public/browser/download_manager.h" |
34 #include "content/public/browser/notification_service.h" | 34 #include "content/public/browser/notification_service.h" |
35 #include "content/public/browser/web_contents.h" | 35 #include "content/public/browser/web_contents.h" |
36 #include "content/public/common/url_constants.h" | 36 #include "content/public/common/url_constants.h" |
37 #include "content/test/net/url_request_mock_http_job.h" | 37 #include "content/test/net/url_request_mock_http_job.h" |
38 #include "net/base/net_util.h" | 38 #include "net/base/net_util.h" |
39 #include "testing/gtest/include/gtest/gtest.h" | 39 #include "testing/gtest/include/gtest/gtest.h" |
40 #include "ui/gfx/screen.h" | 40 #include "ui/gfx/screen.h" |
41 | 41 |
42 using content::BrowserContext; | 42 using content::BrowserContext; |
43 using content::BrowserThread; | 43 using content::BrowserThread; |
44 using content::DownloadItem; | 44 using content::DownloadItem; |
45 using content::DownloadManager; | 45 using content::DownloadManager; |
46 using content::WebContents; | 46 using content::WebContents; |
47 using extensions::Extension; | 47 using extensions::Extension; |
48 | 48 |
49 class OldPanelBrowserTest : public OldBasePanelBrowserTest { | 49 class PanelBrowserTest : public BasePanelBrowserTest { |
50 public: | 50 public: |
51 OldPanelBrowserTest() : OldBasePanelBrowserTest() { | 51 PanelBrowserTest() : BasePanelBrowserTest() { |
52 } | 52 } |
53 | 53 |
54 protected: | 54 protected: |
55 // Helper function for debugging. | 55 // Helper function for debugging. |
56 void PrintAllPanelBounds() { | 56 void PrintAllPanelBounds() { |
57 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); | 57 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); |
58 DLOG(WARNING) << "PanelBounds:"; | 58 DLOG(WARNING) << "PanelBounds:"; |
59 for (size_t i = 0; i < panels.size(); ++i) { | 59 for (size_t i = 0; i < panels.size(); ++i) { |
60 DLOG(WARNING) << "#=" << i | 60 DLOG(WARNING) << "#=" << i |
61 << ", ptr=" << panels[i] | 61 << ", ptr=" << panels[i] |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 | 248 |
249 // The below could be separate tests, just adding a TODO here for tracking. | 249 // The below could be separate tests, just adding a TODO here for tracking. |
250 // TODO(prasadt): Add test for dragging when in titlebar exposed state. | 250 // TODO(prasadt): Add test for dragging when in titlebar exposed state. |
251 // TODO(prasadt): Add test in presence of auto hiding task bar. | 251 // TODO(prasadt): Add test in presence of auto hiding task bar. |
252 | 252 |
253 for (size_t i = 0; i < panels.size(); ++i) | 253 for (size_t i = 0; i < panels.size(); ++i) |
254 delete native_panels_testing[i]; | 254 delete native_panels_testing[i]; |
255 } | 255 } |
256 }; | 256 }; |
257 | 257 |
258 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, CheckDockedPanelProperties) { | 258 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CheckDockedPanelProperties) { |
259 PanelManager* panel_manager = PanelManager::GetInstance(); | 259 PanelManager* panel_manager = PanelManager::GetInstance(); |
260 DockedPanelStrip* docked_strip = panel_manager->docked_strip(); | 260 DockedPanelStrip* docked_strip = panel_manager->docked_strip(); |
261 | 261 |
262 // Create 3 docked panels that are in expanded, title-only or minimized states | 262 // Create 3 docked panels that are in expanded, title-only or minimized states |
263 // respectively. | 263 // respectively. |
264 Panel* panel1 = CreatePanelWithBounds("1", gfx::Rect(0, 0, 100, 100)); | 264 Panel* panel1 = CreatePanelWithBounds("1", gfx::Rect(0, 0, 100, 100)); |
265 Panel* panel2 = CreatePanelWithBounds("2", gfx::Rect(0, 0, 100, 100)); | 265 Panel* panel2 = CreatePanelWithBounds("2", gfx::Rect(0, 0, 100, 100)); |
266 panel2->SetExpansionState(Panel::TITLE_ONLY); | 266 panel2->SetExpansionState(Panel::TITLE_ONLY); |
267 WaitForExpansionStateChanged(panel2, Panel::TITLE_ONLY); | 267 WaitForExpansionStateChanged(panel2, Panel::TITLE_ONLY); |
268 Panel* panel3 = CreatePanelWithBounds("3", gfx::Rect(0, 0, 100, 100)); | 268 Panel* panel3 = CreatePanelWithBounds("3", gfx::Rect(0, 0, 100, 100)); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
309 EXPECT_EQ(panel::NOT_RESIZABLE, panel2->CanResizeByMouse()); | 309 EXPECT_EQ(panel::NOT_RESIZABLE, panel2->CanResizeByMouse()); |
310 EXPECT_EQ(panel::NOT_RESIZABLE, panel3->CanResizeByMouse()); | 310 EXPECT_EQ(panel::NOT_RESIZABLE, panel3->CanResizeByMouse()); |
311 | 311 |
312 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel1->attention_mode()); | 312 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel1->attention_mode()); |
313 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel2->attention_mode()); | 313 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel2->attention_mode()); |
314 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel3->attention_mode()); | 314 EXPECT_EQ(Panel::USE_PANEL_ATTENTION, panel3->attention_mode()); |
315 | 315 |
316 panel_manager->CloseAll(); | 316 panel_manager->CloseAll(); |
317 } | 317 } |
318 | 318 |
319 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, CreatePanel) { | 319 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreatePanel) { |
320 PanelManager* panel_manager = PanelManager::GetInstance(); | 320 PanelManager* panel_manager = PanelManager::GetInstance(); |
321 EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. | 321 EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. |
322 | 322 |
323 Panel* panel = CreatePanel("PanelTest"); | 323 Panel* panel = CreatePanel("PanelTest"); |
324 EXPECT_EQ(1, panel_manager->num_panels()); | 324 EXPECT_EQ(1, panel_manager->num_panels()); |
325 | 325 |
326 gfx::Rect bounds = panel->GetBounds(); | 326 gfx::Rect bounds = panel->GetBounds(); |
327 EXPECT_GT(bounds.x(), 0); | 327 EXPECT_GT(bounds.x(), 0); |
328 EXPECT_GT(bounds.y(), 0); | 328 EXPECT_GT(bounds.y(), 0); |
329 EXPECT_GT(bounds.width(), 0); | 329 EXPECT_GT(bounds.width(), 0); |
330 EXPECT_GT(bounds.height(), 0); | 330 EXPECT_GT(bounds.height(), 0); |
331 | 331 |
332 EXPECT_EQ(bounds.right(), | 332 EXPECT_EQ(bounds.right(), |
333 panel_manager->docked_strip()->StartingRightPosition()); | 333 panel_manager->docked_strip()->StartingRightPosition()); |
334 | 334 |
335 CloseWindowAndWait(panel); | 335 CloseWindowAndWait(panel); |
336 | 336 |
337 EXPECT_EQ(0, panel_manager->num_panels()); | 337 EXPECT_EQ(0, panel_manager->num_panels()); |
338 } | 338 } |
339 | 339 |
340 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, CreateBigPanel) { | 340 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreateBigPanel) { |
341 gfx::Rect work_area = PanelManager::GetInstance()-> | 341 gfx::Rect work_area = PanelManager::GetInstance()-> |
342 display_settings_provider()->GetDisplayArea(); | 342 display_settings_provider()->GetDisplayArea(); |
343 Panel* panel = CreatePanelWithBounds("BigPanel", work_area); | 343 Panel* panel = CreatePanelWithBounds("BigPanel", work_area); |
344 gfx::Rect bounds = panel->GetBounds(); | 344 gfx::Rect bounds = panel->GetBounds(); |
345 EXPECT_EQ(panel->max_size().width(), bounds.width()); | 345 EXPECT_EQ(panel->max_size().width(), bounds.width()); |
346 EXPECT_LT(bounds.width(), work_area.width()); | 346 EXPECT_LT(bounds.width(), work_area.width()); |
347 EXPECT_EQ(panel->max_size().height(), bounds.height()); | 347 EXPECT_EQ(panel->max_size().height(), bounds.height()); |
348 EXPECT_LT(bounds.height(), work_area.height()); | 348 EXPECT_LT(bounds.height(), work_area.height()); |
349 panel->Close(); | 349 panel->Close(); |
350 } | 350 } |
351 | 351 |
352 // Flaky: http://crbug.com/105445 | 352 // Flaky: http://crbug.com/105445 |
353 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DISABLED_AutoResize) { | 353 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DISABLED_AutoResize) { |
354 PanelManager* panel_manager = PanelManager::GetInstance(); | 354 PanelManager* panel_manager = PanelManager::GetInstance(); |
355 panel_manager->enable_auto_sizing(true); | 355 panel_manager->enable_auto_sizing(true); |
356 // Bigger space is needed by this test. | 356 // Bigger space is needed by this test. |
357 SetTestingAreas(gfx::Rect(0, 0, 1200, 900), gfx::Rect()); | 357 SetTestingAreas(gfx::Rect(0, 0, 1200, 900), gfx::Rect()); |
358 | 358 |
359 // Create a test panel with tab contents loaded. | 359 // Create a test panel with tab contents loaded. |
360 CreatePanelParams params("PanelTest1", gfx::Rect(), SHOW_AS_ACTIVE); | 360 CreatePanelParams params("PanelTest1", gfx::Rect(), SHOW_AS_ACTIVE); |
361 GURL url(ui_test_utils::GetTestUrl( | 361 GURL url(ui_test_utils::GetTestUrl( |
362 FilePath(kTestDir), | 362 FilePath(kTestDir), |
363 FilePath(FILE_PATH_LITERAL("update-preferred-size.html")))); | 363 FilePath(FILE_PATH_LITERAL("update-preferred-size.html")))); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 content::Source<Panel>(panel)); | 410 content::Source<Panel>(panel)); |
411 panel->SetAutoResizable(true); | 411 panel->SetAutoResizable(true); |
412 auto_resize_enabled.Wait(); | 412 auto_resize_enabled.Wait(); |
413 gfx::Rect bounds_auto_resize_enabled = panel->GetBounds(); | 413 gfx::Rect bounds_auto_resize_enabled = panel->GetBounds(); |
414 EXPECT_EQ(bounds_on_shrink.width(), bounds_auto_resize_enabled.width()); | 414 EXPECT_EQ(bounds_on_shrink.width(), bounds_auto_resize_enabled.width()); |
415 EXPECT_EQ(bounds_on_shrink.height(), bounds_auto_resize_enabled.height()); | 415 EXPECT_EQ(bounds_on_shrink.height(), bounds_auto_resize_enabled.height()); |
416 | 416 |
417 panel->Close(); | 417 panel->Close(); |
418 } | 418 } |
419 | 419 |
420 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, ResizePanel) { | 420 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, ResizePanel) { |
421 PanelManager* panel_manager = PanelManager::GetInstance(); | 421 PanelManager* panel_manager = PanelManager::GetInstance(); |
422 panel_manager->enable_auto_sizing(true); | 422 panel_manager->enable_auto_sizing(true); |
423 | 423 |
424 Panel* panel = CreatePanel("TestPanel"); | 424 Panel* panel = CreatePanel("TestPanel"); |
425 EXPECT_TRUE(panel->auto_resizable()); | 425 EXPECT_TRUE(panel->auto_resizable()); |
426 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 426 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
427 | 427 |
428 // Verify resizing turns off auto-resizing and that it works. | 428 // Verify resizing turns off auto-resizing and that it works. |
429 gfx::Rect original_bounds = panel->GetBounds(); | 429 gfx::Rect original_bounds = panel->GetBounds(); |
430 // These should be identical because the panel is expanded. | 430 // These should be identical because the panel is expanded. |
(...skipping 12 matching lines...) Expand all Loading... |
443 new_size.Enlarge(5, 5); | 443 new_size.Enlarge(5, 5); |
444 new_bounds.set_size(new_size); | 444 new_bounds.set_size(new_size); |
445 panel->SetBounds(new_bounds); | 445 panel->SetBounds(new_bounds); |
446 EXPECT_EQ(new_bounds.size().width(), panel->GetBounds().width()); | 446 EXPECT_EQ(new_bounds.size().width(), panel->GetBounds().width()); |
447 EXPECT_EQ(original_height, panel->GetBounds().height()); | 447 EXPECT_EQ(original_height, panel->GetBounds().height()); |
448 EXPECT_EQ(new_bounds.size(), panel->GetRestoredBounds().size()); | 448 EXPECT_EQ(new_bounds.size(), panel->GetRestoredBounds().size()); |
449 | 449 |
450 panel->Close(); | 450 panel->Close(); |
451 } | 451 } |
452 | 452 |
453 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, AnimateBounds) { | 453 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, AnimateBounds) { |
454 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 100, 100)); | 454 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 100, 100)); |
455 scoped_ptr<NativePanelTesting> panel_testing( | 455 scoped_ptr<NativePanelTesting> panel_testing( |
456 NativePanelTesting::Create(panel->native_panel())); | 456 NativePanelTesting::Create(panel->native_panel())); |
457 | 457 |
458 // Set bounds with animation. | 458 // Set bounds with animation. |
459 gfx::Rect bounds = gfx::Rect(10, 20, 150, 160); | 459 gfx::Rect bounds = gfx::Rect(10, 20, 150, 160); |
460 panel->SetPanelBounds(bounds); | 460 panel->SetPanelBounds(bounds); |
461 EXPECT_TRUE(panel_testing->IsAnimatingBounds()); | 461 EXPECT_TRUE(panel_testing->IsAnimatingBounds()); |
462 WaitForBoundsAnimationFinished(panel); | 462 WaitForBoundsAnimationFinished(panel); |
463 EXPECT_FALSE(panel_testing->IsAnimatingBounds()); | 463 EXPECT_FALSE(panel_testing->IsAnimatingBounds()); |
464 EXPECT_EQ(bounds, panel->GetBounds()); | 464 EXPECT_EQ(bounds, panel->GetBounds()); |
465 | 465 |
466 // Set bounds without animation. | 466 // Set bounds without animation. |
467 bounds = gfx::Rect(30, 40, 200, 220); | 467 bounds = gfx::Rect(30, 40, 200, 220); |
468 panel->SetPanelBoundsInstantly(bounds); | 468 panel->SetPanelBoundsInstantly(bounds); |
469 EXPECT_FALSE(panel_testing->IsAnimatingBounds()); | 469 EXPECT_FALSE(panel_testing->IsAnimatingBounds()); |
470 EXPECT_EQ(bounds, panel->GetBounds()); | 470 EXPECT_EQ(bounds, panel->GetBounds()); |
471 | 471 |
472 panel->Close(); | 472 panel->Close(); |
473 } | 473 } |
474 | 474 |
475 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, RestoredBounds) { | 475 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, RestoredBounds) { |
476 // Disable mouse watcher. We don't care about mouse movements in this test. | 476 // Disable mouse watcher. We don't care about mouse movements in this test. |
477 PanelManager* panel_manager = PanelManager::GetInstance(); | 477 PanelManager* panel_manager = PanelManager::GetInstance(); |
478 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 478 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
479 panel_manager->SetMouseWatcherForTesting(mouse_watcher); | 479 panel_manager->SetMouseWatcherForTesting(mouse_watcher); |
480 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 100, 100)); | 480 Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 100, 100)); |
481 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 481 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
482 EXPECT_EQ(panel->GetBounds(), panel->GetRestoredBounds()); | 482 EXPECT_EQ(panel->GetBounds(), panel->GetRestoredBounds()); |
483 | 483 |
484 panel->SetExpansionState(Panel::MINIMIZED); | 484 panel->SetExpansionState(Panel::MINIMIZED); |
485 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); | 485 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
526 panel->SetExpansionState(Panel::EXPANDED); | 526 panel->SetExpansionState(Panel::EXPANDED); |
527 bounds = gfx::Rect(40, 60, 300, 400); | 527 bounds = gfx::Rect(40, 60, 300, 400); |
528 panel->SetPanelBounds(bounds); | 528 panel->SetPanelBounds(bounds); |
529 EXPECT_EQ(saved_restored_height, panel->GetRestoredBounds().height()); | 529 EXPECT_EQ(saved_restored_height, panel->GetRestoredBounds().height()); |
530 panel->set_full_size(bounds.size()); | 530 panel->set_full_size(bounds.size()); |
531 EXPECT_NE(saved_restored_height, panel->GetRestoredBounds().height()); | 531 EXPECT_NE(saved_restored_height, panel->GetRestoredBounds().height()); |
532 | 532 |
533 panel->Close(); | 533 panel->Close(); |
534 } | 534 } |
535 | 535 |
536 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MinimizeRestore) { | 536 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestore) { |
537 // We'll simulate mouse movements for test. | 537 // We'll simulate mouse movements for test. |
538 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 538 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
539 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 539 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
540 | 540 |
541 // Test with one panel. | 541 // Test with one panel. |
542 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); | 542 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); |
543 TestMinimizeRestore(); | 543 TestMinimizeRestore(); |
544 | 544 |
545 PanelManager::GetInstance()->CloseAll(); | 545 PanelManager::GetInstance()->CloseAll(); |
546 } | 546 } |
547 | 547 |
548 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MinimizeRestoreTwoPanels) { | 548 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestoreTwoPanels) { |
549 // We'll simulate mouse movements for test. | 549 // We'll simulate mouse movements for test. |
550 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 550 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
551 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 551 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
552 | 552 |
553 // Test with two panels. | 553 // Test with two panels. |
554 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); | 554 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); |
555 CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110)); | 555 CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110)); |
556 TestMinimizeRestore(); | 556 TestMinimizeRestore(); |
557 | 557 |
558 PanelManager::GetInstance()->CloseAll(); | 558 PanelManager::GetInstance()->CloseAll(); |
559 } | 559 } |
560 | 560 |
561 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MinimizeRestoreThreePanels) { | 561 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestoreThreePanels) { |
562 // We'll simulate mouse movements for test. | 562 // We'll simulate mouse movements for test. |
563 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 563 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
564 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 564 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
565 | 565 |
566 // Test with three panels. | 566 // Test with three panels. |
567 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); | 567 CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100)); |
568 CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110)); | 568 CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110)); |
569 CreatePanelWithBounds("PanelTest3", gfx::Rect(0, 0, 120, 120)); | 569 CreatePanelWithBounds("PanelTest3", gfx::Rect(0, 0, 120, 120)); |
570 TestMinimizeRestore(); | 570 TestMinimizeRestore(); |
571 | 571 |
572 PanelManager::GetInstance()->CloseAll(); | 572 PanelManager::GetInstance()->CloseAll(); |
573 } | 573 } |
574 | 574 |
575 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MinimizeRestoreButtonClick) { | 575 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestoreButtonClick) { |
576 // Test with three panels. | 576 // Test with three panels. |
577 Panel* panel1 = CreatePanel("PanelTest1"); | 577 Panel* panel1 = CreatePanel("PanelTest1"); |
578 Panel* panel2 = CreatePanel("PanelTest2"); | 578 Panel* panel2 = CreatePanel("PanelTest2"); |
579 Panel* panel3 = CreatePanel("PanelTest3"); | 579 Panel* panel3 = CreatePanel("PanelTest3"); |
580 EXPECT_FALSE(panel1->IsMinimized()); | 580 EXPECT_FALSE(panel1->IsMinimized()); |
581 EXPECT_FALSE(panel2->IsMinimized()); | 581 EXPECT_FALSE(panel2->IsMinimized()); |
582 EXPECT_FALSE(panel3->IsMinimized()); | 582 EXPECT_FALSE(panel3->IsMinimized()); |
583 | 583 |
584 // Click restore button on an expanded panel. Expect no change. | 584 // Click restore button on an expanded panel. Expect no change. |
585 panel1->OnRestoreButtonClicked(panel::NO_MODIFIER); | 585 panel1->OnRestoreButtonClicked(panel::NO_MODIFIER); |
(...skipping 26 matching lines...) Expand all Loading... |
612 EXPECT_FALSE(panel2->IsMinimized()); | 612 EXPECT_FALSE(panel2->IsMinimized()); |
613 EXPECT_TRUE(panel3->IsMinimized()); | 613 EXPECT_TRUE(panel3->IsMinimized()); |
614 | 614 |
615 // Restore all panels by clicking restore button on a minimized panel. | 615 // Restore all panels by clicking restore button on a minimized panel. |
616 panel3->OnRestoreButtonClicked(panel::APPLY_TO_ALL); | 616 panel3->OnRestoreButtonClicked(panel::APPLY_TO_ALL); |
617 EXPECT_FALSE(panel1->IsMinimized()); | 617 EXPECT_FALSE(panel1->IsMinimized()); |
618 EXPECT_FALSE(panel2->IsMinimized()); | 618 EXPECT_FALSE(panel2->IsMinimized()); |
619 EXPECT_FALSE(panel3->IsMinimized()); | 619 EXPECT_FALSE(panel3->IsMinimized()); |
620 } | 620 } |
621 | 621 |
622 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, RestoreAllWithTitlebarClick) { | 622 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, RestoreAllWithTitlebarClick) { |
623 // We'll simulate mouse movements for test. | 623 // We'll simulate mouse movements for test. |
624 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 624 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
625 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 625 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
626 | 626 |
627 // Test with three panels. | 627 // Test with three panels. |
628 Panel* panel1 = CreatePanel("PanelTest1"); | 628 Panel* panel1 = CreatePanel("PanelTest1"); |
629 Panel* panel2 = CreatePanel("PanelTest2"); | 629 Panel* panel2 = CreatePanel("PanelTest2"); |
630 Panel* panel3 = CreatePanel("PanelTest3"); | 630 Panel* panel3 = CreatePanel("PanelTest3"); |
631 EXPECT_FALSE(panel1->IsMinimized()); | 631 EXPECT_FALSE(panel1->IsMinimized()); |
632 EXPECT_FALSE(panel2->IsMinimized()); | 632 EXPECT_FALSE(panel2->IsMinimized()); |
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
785 | 785 |
786 #if defined(OS_MACOSX) | 786 #if defined(OS_MACOSX) |
787 // This test doesn't pass on Snow Leopard (10.6), although it works just | 787 // This test doesn't pass on Snow Leopard (10.6), although it works just |
788 // fine on Lion (10.7). The problem is not having a real run loop around | 788 // fine on Lion (10.7). The problem is not having a real run loop around |
789 // the window close is at fault, given how window controllers in Chrome | 789 // the window close is at fault, given how window controllers in Chrome |
790 // autorelease themselves on a -performSelector:withObject:afterDelay: | 790 // autorelease themselves on a -performSelector:withObject:afterDelay: |
791 #define MAYBE_ActivatePanelOrTabbedWindow DISABLED_ActivatePanelOrTabbedWindow | 791 #define MAYBE_ActivatePanelOrTabbedWindow DISABLED_ActivatePanelOrTabbedWindow |
792 #else | 792 #else |
793 #define MAYBE_ActivatePanelOrTabbedWindow ActivatePanelOrTabbedWindow | 793 #define MAYBE_ActivatePanelOrTabbedWindow ActivatePanelOrTabbedWindow |
794 #endif | 794 #endif |
795 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MAYBE_ActivatePanelOrTabbedWindow) { | 795 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_ActivatePanelOrTabbedWindow) { |
796 CreatePanelParams params1("Panel1", gfx::Rect(), SHOW_AS_ACTIVE); | 796 CreatePanelParams params1("Panel1", gfx::Rect(), SHOW_AS_ACTIVE); |
797 Panel* panel1 = CreatePanelWithParams(params1); | 797 Panel* panel1 = CreatePanelWithParams(params1); |
798 CreatePanelParams params2("Panel2", gfx::Rect(), SHOW_AS_ACTIVE); | 798 CreatePanelParams params2("Panel2", gfx::Rect(), SHOW_AS_ACTIVE); |
799 Panel* panel2 = CreatePanelWithParams(params2); | 799 Panel* panel2 = CreatePanelWithParams(params2); |
800 | 800 |
801 // Need tab contents in order to trigger deactivation upon close. | 801 // Need tab contents in order to trigger deactivation upon close. |
802 CreateTestTabContents(panel2->browser()); | 802 CreateTestTabContents(panel2->browser()); |
803 | 803 |
804 ASSERT_FALSE(panel1->IsActive()); | 804 ASSERT_FALSE(panel1->IsActive()); |
805 ASSERT_TRUE(panel2->IsActive()); | 805 ASSERT_TRUE(panel2->IsActive()); |
(...skipping 27 matching lines...) Expand all Loading... |
833 WaitForPanelActiveState(panel1, SHOW_AS_ACTIVE); | 833 WaitForPanelActiveState(panel1, SHOW_AS_ACTIVE); |
834 panel1->Close(); | 834 panel1->Close(); |
835 } | 835 } |
836 | 836 |
837 // TODO(jianli): To be enabled for other platforms. | 837 // TODO(jianli): To be enabled for other platforms. |
838 #if defined(OS_WIN) | 838 #if defined(OS_WIN) |
839 #define MAYBE_ActivateDeactivateBasic ActivateDeactivateBasic | 839 #define MAYBE_ActivateDeactivateBasic ActivateDeactivateBasic |
840 #else | 840 #else |
841 #define MAYBE_ActivateDeactivateBasic DISABLED_ActivateDeactivateBasic | 841 #define MAYBE_ActivateDeactivateBasic DISABLED_ActivateDeactivateBasic |
842 #endif | 842 #endif |
843 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MAYBE_ActivateDeactivateBasic) { | 843 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_ActivateDeactivateBasic) { |
844 // Create an active panel. | 844 // Create an active panel. |
845 Panel* panel = CreatePanel("PanelTest"); | 845 Panel* panel = CreatePanel("PanelTest"); |
846 scoped_ptr<NativePanelTesting> native_panel_testing( | 846 scoped_ptr<NativePanelTesting> native_panel_testing( |
847 NativePanelTesting::Create(panel->native_panel())); | 847 NativePanelTesting::Create(panel->native_panel())); |
848 EXPECT_TRUE(panel->IsActive()); | 848 EXPECT_TRUE(panel->IsActive()); |
849 EXPECT_TRUE(native_panel_testing->VerifyActiveState(true)); | 849 EXPECT_TRUE(native_panel_testing->VerifyActiveState(true)); |
850 | 850 |
851 // Deactivate the panel. | 851 // Deactivate the panel. |
852 panel->Deactivate(); | 852 panel->Deactivate(); |
853 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); | 853 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); |
854 EXPECT_FALSE(panel->IsActive()); | 854 EXPECT_FALSE(panel->IsActive()); |
855 EXPECT_TRUE(native_panel_testing->VerifyActiveState(false)); | 855 EXPECT_TRUE(native_panel_testing->VerifyActiveState(false)); |
856 | 856 |
857 // Reactivate the panel. | 857 // Reactivate the panel. |
858 panel->Activate(); | 858 panel->Activate(); |
859 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); | 859 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
860 EXPECT_TRUE(panel->IsActive()); | 860 EXPECT_TRUE(panel->IsActive()); |
861 EXPECT_TRUE(native_panel_testing->VerifyActiveState(true)); | 861 EXPECT_TRUE(native_panel_testing->VerifyActiveState(true)); |
862 } | 862 } |
863 // TODO(jianli): To be enabled for other platforms. | 863 // TODO(jianli): To be enabled for other platforms. |
864 #if defined(OS_WIN) | 864 #if defined(OS_WIN) |
865 #define MAYBE_ActivateDeactivateMultiple ActivateDeactivateMultiple | 865 #define MAYBE_ActivateDeactivateMultiple ActivateDeactivateMultiple |
866 #else | 866 #else |
867 #define MAYBE_ActivateDeactivateMultiple DISABLED_ActivateDeactivateMultiple | 867 #define MAYBE_ActivateDeactivateMultiple DISABLED_ActivateDeactivateMultiple |
868 #endif | 868 #endif |
869 | 869 |
870 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, MAYBE_ActivateDeactivateMultiple) { | 870 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_ActivateDeactivateMultiple) { |
871 BrowserWindow* tabbed_window = browser()->window(); | 871 BrowserWindow* tabbed_window = browser()->window(); |
872 | 872 |
873 // Create 4 panels in the following screen layout: | 873 // Create 4 panels in the following screen layout: |
874 // P3 P2 P1 P0 | 874 // P3 P2 P1 P0 |
875 const int kNumPanels = 4; | 875 const int kNumPanels = 4; |
876 for (int i = 0; i < kNumPanels; ++i) | 876 for (int i = 0; i < kNumPanels; ++i) |
877 CreatePanelWithBounds(MakePanelName(i), gfx::Rect(0, 0, 100, 100)); | 877 CreatePanelWithBounds(MakePanelName(i), gfx::Rect(0, 0, 100, 100)); |
878 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); | 878 const std::vector<Panel*>& panels = PanelManager::GetInstance()->panels(); |
879 | 879 |
880 std::vector<bool> expected_active_states; | 880 std::vector<bool> expected_active_states; |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
915 | 915 |
916 // Minimizing active panel P0 should activate last active tabbed window. | 916 // Minimizing active panel P0 should activate last active tabbed window. |
917 panels[0]->SetExpansionState(Panel::MINIMIZED); | 917 panels[0]->SetExpansionState(Panel::MINIMIZED); |
918 last_active_states = expected_active_states; | 918 last_active_states = expected_active_states; |
919 expected_active_states = ProduceExpectedActiveStates(-1); // -1 means none. | 919 expected_active_states = ProduceExpectedActiveStates(-1); // -1 means none. |
920 WaitForPanelActiveStates(last_active_states, expected_active_states); | 920 WaitForPanelActiveStates(last_active_states, expected_active_states); |
921 EXPECT_EQ(expected_active_states, GetAllPanelActiveStates()); | 921 EXPECT_EQ(expected_active_states, GetAllPanelActiveStates()); |
922 EXPECT_TRUE(tabbed_window->IsActive()); | 922 EXPECT_TRUE(tabbed_window->IsActive()); |
923 } | 923 } |
924 | 924 |
925 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DrawAttentionBasic) { | 925 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionBasic) { |
926 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 926 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
927 Panel* panel = CreatePanelWithParams(params); | 927 Panel* panel = CreatePanelWithParams(params); |
928 scoped_ptr<NativePanelTesting> native_panel_testing( | 928 scoped_ptr<NativePanelTesting> native_panel_testing( |
929 NativePanelTesting::Create(panel->native_panel())); | 929 NativePanelTesting::Create(panel->native_panel())); |
930 | 930 |
931 // Test that the attention is drawn when the expanded panel is not in focus. | 931 // Test that the attention is drawn when the expanded panel is not in focus. |
932 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 932 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
933 EXPECT_FALSE(panel->IsActive()); | 933 EXPECT_FALSE(panel->IsActive()); |
934 EXPECT_FALSE(panel->IsDrawingAttention()); | 934 EXPECT_FALSE(panel->IsDrawingAttention()); |
935 panel->FlashFrame(true); | 935 panel->FlashFrame(true); |
(...skipping 16 matching lines...) Expand all Loading... |
952 EXPECT_EQ(Panel::TITLE_ONLY, panel->expansion_state()); | 952 EXPECT_EQ(Panel::TITLE_ONLY, panel->expansion_state()); |
953 | 953 |
954 // Stop drawing attention. Titlebar should no longer be visible. | 954 // Stop drawing attention. Titlebar should no longer be visible. |
955 panel->FlashFrame(false); | 955 panel->FlashFrame(false); |
956 EXPECT_FALSE(panel->IsDrawingAttention()); | 956 EXPECT_FALSE(panel->IsDrawingAttention()); |
957 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); | 957 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); |
958 | 958 |
959 panel->Close(); | 959 panel->Close(); |
960 } | 960 } |
961 | 961 |
962 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DrawAttentionWhileMinimized) { | 962 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionWhileMinimized) { |
963 // We'll simulate mouse movements for test. | 963 // We'll simulate mouse movements for test. |
964 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 964 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
965 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 965 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
966 | 966 |
967 // Create 2 panels so we end up with an inactive panel that can | 967 // Create 2 panels so we end up with an inactive panel that can |
968 // be made to draw attention. | 968 // be made to draw attention. |
969 Panel* panel = CreatePanel("test panel1"); | 969 Panel* panel = CreatePanel("test panel1"); |
970 Panel* panel2 = CreatePanel("test panel2"); | 970 Panel* panel2 = CreatePanel("test panel2"); |
971 Panel* panel3 = CreatePanel("test panel2"); | 971 Panel* panel3 = CreatePanel("test panel2"); |
972 | 972 |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1004 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 1004 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
1005 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); | 1005 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
1006 | 1006 |
1007 panel->Close(); | 1007 panel->Close(); |
1008 panel2->Close(); | 1008 panel2->Close(); |
1009 panel3->Close(); | 1009 panel3->Close(); |
1010 } | 1010 } |
1011 | 1011 |
1012 // Verify that minimized state of a panel is correct after draw attention | 1012 // Verify that minimized state of a panel is correct after draw attention |
1013 // is stopped when there are other minimized panels. | 1013 // is stopped when there are other minimized panels. |
1014 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1014 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, StopDrawingAttentionWhileMinimized) { |
1015 StopDrawingAttentionWhileMinimized) { | |
1016 // We'll simulate mouse movements for test. | 1015 // We'll simulate mouse movements for test. |
1017 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); | 1016 PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher(); |
1018 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); | 1017 PanelManager::GetInstance()->SetMouseWatcherForTesting(mouse_watcher); |
1019 | 1018 |
1020 Panel* panel1 = CreatePanel("panel1"); | 1019 Panel* panel1 = CreatePanel("panel1"); |
1021 Panel* panel2 = CreatePanel("panel2"); | 1020 Panel* panel2 = CreatePanel("panel2"); |
1022 | 1021 |
1023 panel1->Minimize(); | 1022 panel1->Minimize(); |
1024 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 1023 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
1025 panel2->Minimize(); | 1024 panel2->Minimize(); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1072 | 1071 |
1073 // Move mouse away and panel should go back to fully minimized state. | 1072 // Move mouse away and panel should go back to fully minimized state. |
1074 MoveMouseAndWaitForExpansionStateChange(panel1, hover_point); | 1073 MoveMouseAndWaitForExpansionStateChange(panel1, hover_point); |
1075 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 1074 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
1076 EXPECT_EQ(Panel::MINIMIZED, panel2->expansion_state()); | 1075 EXPECT_EQ(Panel::MINIMIZED, panel2->expansion_state()); |
1077 | 1076 |
1078 panel1->Close(); | 1077 panel1->Close(); |
1079 panel2->Close(); | 1078 panel2->Close(); |
1080 } | 1079 } |
1081 | 1080 |
1082 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DrawAttentionWhenActive) { | 1081 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionWhenActive) { |
1083 CreatePanelParams params("Initially Active", gfx::Rect(), SHOW_AS_ACTIVE); | 1082 CreatePanelParams params("Initially Active", gfx::Rect(), SHOW_AS_ACTIVE); |
1084 Panel* panel = CreatePanelWithParams(params); | 1083 Panel* panel = CreatePanelWithParams(params); |
1085 scoped_ptr<NativePanelTesting> native_panel_testing( | 1084 scoped_ptr<NativePanelTesting> native_panel_testing( |
1086 NativePanelTesting::Create(panel->native_panel())); | 1085 NativePanelTesting::Create(panel->native_panel())); |
1087 | 1086 |
1088 // Test that the attention should not be drawn if the expanded panel is in | 1087 // Test that the attention should not be drawn if the expanded panel is in |
1089 // focus. | 1088 // focus. |
1090 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 1089 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
1091 EXPECT_TRUE(panel->IsActive()); | 1090 EXPECT_TRUE(panel->IsActive()); |
1092 EXPECT_FALSE(panel->IsDrawingAttention()); | 1091 EXPECT_FALSE(panel->IsDrawingAttention()); |
1093 panel->FlashFrame(true); | 1092 panel->FlashFrame(true); |
1094 EXPECT_FALSE(panel->IsDrawingAttention()); | 1093 EXPECT_FALSE(panel->IsDrawingAttention()); |
1095 MessageLoop::current()->RunAllPending(); | 1094 MessageLoop::current()->RunAllPending(); |
1096 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); | 1095 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
1097 | 1096 |
1098 panel->Close(); | 1097 panel->Close(); |
1099 } | 1098 } |
1100 | 1099 |
1101 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DrawAttentionResetOnActivate) { | 1100 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionResetOnActivate) { |
1102 // Create 2 panels so we end up with an inactive panel that can | 1101 // Create 2 panels so we end up with an inactive panel that can |
1103 // be made to draw attention. | 1102 // be made to draw attention. |
1104 Panel* panel = CreatePanel("test panel1"); | 1103 Panel* panel = CreatePanel("test panel1"); |
1105 Panel* panel2 = CreatePanel("test panel2"); | 1104 Panel* panel2 = CreatePanel("test panel2"); |
1106 | 1105 |
1107 scoped_ptr<NativePanelTesting> native_panel_testing( | 1106 scoped_ptr<NativePanelTesting> native_panel_testing( |
1108 NativePanelTesting::Create(panel->native_panel())); | 1107 NativePanelTesting::Create(panel->native_panel())); |
1109 | 1108 |
1110 panel->FlashFrame(true); | 1109 panel->FlashFrame(true); |
1111 EXPECT_TRUE(panel->IsDrawingAttention()); | 1110 EXPECT_TRUE(panel->IsDrawingAttention()); |
1112 MessageLoop::current()->RunAllPending(); | 1111 MessageLoop::current()->RunAllPending(); |
1113 EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); | 1112 EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); |
1114 | 1113 |
1115 // Test that the attention is cleared when panel gets focus. | 1114 // Test that the attention is cleared when panel gets focus. |
1116 panel->Activate(); | 1115 panel->Activate(); |
1117 MessageLoop::current()->RunAllPending(); | 1116 MessageLoop::current()->RunAllPending(); |
1118 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); | 1117 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
1119 EXPECT_FALSE(panel->IsDrawingAttention()); | 1118 EXPECT_FALSE(panel->IsDrawingAttention()); |
1120 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); | 1119 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
1121 | 1120 |
1122 panel->Close(); | 1121 panel->Close(); |
1123 panel2->Close(); | 1122 panel2->Close(); |
1124 } | 1123 } |
1125 | 1124 |
1126 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1125 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1127 DrawAttentionMinimizedNotResetOnActivate) { | 1126 DrawAttentionMinimizedNotResetOnActivate) { |
1128 // Create 2 panels so we end up with an inactive panel that can | 1127 // Create 2 panels so we end up with an inactive panel that can |
1129 // be made to draw attention. | 1128 // be made to draw attention. |
1130 Panel* panel1 = CreatePanel("test panel1"); | 1129 Panel* panel1 = CreatePanel("test panel1"); |
1131 Panel* panel2 = CreatePanel("test panel2"); | 1130 Panel* panel2 = CreatePanel("test panel2"); |
1132 | 1131 |
1133 panel1->Minimize(); | 1132 panel1->Minimize(); |
1134 EXPECT_TRUE(panel1->IsMinimized()); | 1133 EXPECT_TRUE(panel1->IsMinimized()); |
1135 panel1->FlashFrame(true); | 1134 panel1->FlashFrame(true); |
1136 EXPECT_TRUE(panel1->IsDrawingAttention()); | 1135 EXPECT_TRUE(panel1->IsDrawingAttention()); |
1137 | 1136 |
1138 // Simulate panel being activated while minimized. Cannot call | 1137 // Simulate panel being activated while minimized. Cannot call |
1139 // Activate() as that expands the panel. | 1138 // Activate() as that expands the panel. |
1140 panel1->OnActiveStateChanged(true); | 1139 panel1->OnActiveStateChanged(true); |
1141 EXPECT_TRUE(panel1->IsDrawingAttention()); // Unchanged. | 1140 EXPECT_TRUE(panel1->IsDrawingAttention()); // Unchanged. |
1142 | 1141 |
1143 // Unminimize panel to show that attention would have been cleared | 1142 // Unminimize panel to show that attention would have been cleared |
1144 // if panel had not been minimized. | 1143 // if panel had not been minimized. |
1145 panel1->Restore(); | 1144 panel1->Restore(); |
1146 EXPECT_FALSE(panel1->IsMinimized()); | 1145 EXPECT_FALSE(panel1->IsMinimized()); |
1147 EXPECT_TRUE(panel1->IsDrawingAttention()); // Unchanged. | 1146 EXPECT_TRUE(panel1->IsDrawingAttention()); // Unchanged. |
1148 | 1147 |
1149 panel1->OnActiveStateChanged(true); | 1148 panel1->OnActiveStateChanged(true); |
1150 EXPECT_FALSE(panel1->IsDrawingAttention()); // Attention cleared. | 1149 EXPECT_FALSE(panel1->IsDrawingAttention()); // Attention cleared. |
1151 | 1150 |
1152 panel1->Close(); | 1151 panel1->Close(); |
1153 panel2->Close(); | 1152 panel2->Close(); |
1154 } | 1153 } |
1155 | 1154 |
1156 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, DrawAttentionResetOnClick) { | 1155 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionResetOnClick) { |
1157 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 1156 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
1158 Panel* panel = CreatePanelWithParams(params); | 1157 Panel* panel = CreatePanelWithParams(params); |
1159 scoped_ptr<NativePanelTesting> native_panel_testing( | 1158 scoped_ptr<NativePanelTesting> native_panel_testing( |
1160 NativePanelTesting::Create(panel->native_panel())); | 1159 NativePanelTesting::Create(panel->native_panel())); |
1161 | 1160 |
1162 panel->FlashFrame(true); | 1161 panel->FlashFrame(true); |
1163 EXPECT_TRUE(panel->IsDrawingAttention()); | 1162 EXPECT_TRUE(panel->IsDrawingAttention()); |
1164 MessageLoop::current()->RunAllPending(); | 1163 MessageLoop::current()->RunAllPending(); |
1165 EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); | 1164 EXPECT_TRUE(native_panel_testing->VerifyDrawingAttention()); |
1166 | 1165 |
1167 // Test that the attention is cleared when panel gets focus. | 1166 // Test that the attention is cleared when panel gets focus. |
1168 native_panel_testing->PressLeftMouseButtonTitlebar( | 1167 native_panel_testing->PressLeftMouseButtonTitlebar( |
1169 panel->GetBounds().origin()); | 1168 panel->GetBounds().origin()); |
1170 native_panel_testing->ReleaseMouseButtonTitlebar(); | 1169 native_panel_testing->ReleaseMouseButtonTitlebar(); |
1171 | 1170 |
1172 MessageLoop::current()->RunAllPending(); | 1171 MessageLoop::current()->RunAllPending(); |
1173 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); | 1172 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
1174 EXPECT_FALSE(panel->IsDrawingAttention()); | 1173 EXPECT_FALSE(panel->IsDrawingAttention()); |
1175 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); | 1174 EXPECT_FALSE(native_panel_testing->VerifyDrawingAttention()); |
1176 | 1175 |
1177 panel->Close(); | 1176 panel->Close(); |
1178 } | 1177 } |
1179 | 1178 |
1180 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1179 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1181 MinimizeImmediatelyAfterRestore) { | 1180 MinimizeImmediatelyAfterRestore) { |
1182 CreatePanelParams params("Panel Test", gfx::Rect(), SHOW_AS_ACTIVE); | 1181 CreatePanelParams params("Panel Test", gfx::Rect(), SHOW_AS_ACTIVE); |
1183 Panel* panel = CreatePanelWithParams(params); | 1182 Panel* panel = CreatePanelWithParams(params); |
1184 scoped_ptr<NativePanelTesting> native_panel_testing( | 1183 scoped_ptr<NativePanelTesting> native_panel_testing( |
1185 NativePanelTesting::Create(panel->native_panel())); | 1184 NativePanelTesting::Create(panel->native_panel())); |
1186 | 1185 |
1187 panel->Minimize(); // this should deactivate. | 1186 panel->Minimize(); // this should deactivate. |
1188 MessageLoop::current()->RunAllPending(); | 1187 MessageLoop::current()->RunAllPending(); |
1189 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); | 1188 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); |
1190 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); | 1189 EXPECT_EQ(Panel::MINIMIZED, panel->expansion_state()); |
1191 | 1190 |
1192 panel->Restore(); | 1191 panel->Restore(); |
1193 MessageLoop::current()->RunAllPending(); | 1192 MessageLoop::current()->RunAllPending(); |
1194 WaitForExpansionStateChanged(panel, Panel::EXPANDED); | 1193 WaitForExpansionStateChanged(panel, Panel::EXPANDED); |
1195 | 1194 |
1196 // Verify that minimizing a panel right after expansion works. | 1195 // Verify that minimizing a panel right after expansion works. |
1197 panel->Minimize(); | 1196 panel->Minimize(); |
1198 MessageLoop::current()->RunAllPending(); | 1197 MessageLoop::current()->RunAllPending(); |
1199 WaitForExpansionStateChanged(panel, Panel::MINIMIZED); | 1198 WaitForExpansionStateChanged(panel, Panel::MINIMIZED); |
1200 | 1199 |
1201 panel->Close(); | 1200 panel->Close(); |
1202 } | 1201 } |
1203 | 1202 |
1204 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, FocusLostOnMinimize) { | 1203 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, FocusLostOnMinimize) { |
1205 CreatePanelParams params("Initially Active", gfx::Rect(), SHOW_AS_ACTIVE); | 1204 CreatePanelParams params("Initially Active", gfx::Rect(), SHOW_AS_ACTIVE); |
1206 Panel* panel = CreatePanelWithParams(params); | 1205 Panel* panel = CreatePanelWithParams(params); |
1207 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); | 1206 EXPECT_EQ(Panel::EXPANDED, panel->expansion_state()); |
1208 | 1207 |
1209 panel->SetExpansionState(Panel::MINIMIZED); | 1208 panel->SetExpansionState(Panel::MINIMIZED); |
1210 MessageLoop::current()->RunAllPending(); | 1209 MessageLoop::current()->RunAllPending(); |
1211 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); | 1210 WaitForPanelActiveState(panel, SHOW_AS_INACTIVE); |
1212 panel->Close(); | 1211 panel->Close(); |
1213 } | 1212 } |
1214 | 1213 |
1215 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, CreateInactiveSwitchToActive) { | 1214 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreateInactiveSwitchToActive) { |
1216 // Compiz will not activate initially inactive window. | 1215 // Compiz will not activate initially inactive window. |
1217 if (SkipTestIfCompizWM()) | 1216 if (SkipTestIfCompizWM()) |
1218 return; | 1217 return; |
1219 | 1218 |
1220 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 1219 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
1221 Panel* panel = CreatePanelWithParams(params); | 1220 Panel* panel = CreatePanelWithParams(params); |
1222 | 1221 |
1223 panel->Activate(); | 1222 panel->Activate(); |
1224 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); | 1223 WaitForPanelActiveState(panel, SHOW_AS_ACTIVE); |
1225 | 1224 |
1226 panel->Close(); | 1225 panel->Close(); |
1227 } | 1226 } |
1228 | 1227 |
1229 // TODO(dimich): try/enable on other platforms. See bug 103253 for details on | 1228 // TODO(dimich): try/enable on other platforms. See bug 103253 for details on |
1230 // why this is disabled on windows. | 1229 // why this is disabled on windows. |
1231 #if defined(OS_MACOSX) | 1230 #if defined(OS_MACOSX) |
1232 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ | 1231 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ |
1233 MinimizeTwoPanelsWithoutTabbedWindow | 1232 MinimizeTwoPanelsWithoutTabbedWindow |
1234 #else | 1233 #else |
1235 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ | 1234 #define MAYBE_MinimizeTwoPanelsWithoutTabbedWindow \ |
1236 DISABLED_MinimizeTwoPanelsWithoutTabbedWindow | 1235 DISABLED_MinimizeTwoPanelsWithoutTabbedWindow |
1237 #endif | 1236 #endif |
1238 | 1237 |
1239 // When there are 2 panels and no chrome window, minimizing one panel does | 1238 // When there are 2 panels and no chrome window, minimizing one panel does |
1240 // not expand/focuses another. | 1239 // not expand/focuses another. |
1241 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1240 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1242 MAYBE_MinimizeTwoPanelsWithoutTabbedWindow) { | 1241 MAYBE_MinimizeTwoPanelsWithoutTabbedWindow) { |
1243 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); | 1242 CreatePanelParams params("Initially Inactive", gfx::Rect(), SHOW_AS_INACTIVE); |
1244 Panel* panel1 = CreatePanelWithParams(params); | 1243 Panel* panel1 = CreatePanelWithParams(params); |
1245 Panel* panel2 = CreatePanelWithParams(params); | 1244 Panel* panel2 = CreatePanelWithParams(params); |
1246 | 1245 |
1247 // Close main tabbed window. | 1246 // Close main tabbed window. |
1248 ui_test_utils::WindowedNotificationObserver signal( | 1247 ui_test_utils::WindowedNotificationObserver signal( |
1249 chrome::NOTIFICATION_BROWSER_CLOSED, | 1248 chrome::NOTIFICATION_BROWSER_CLOSED, |
1250 content::Source<Browser>(browser())); | 1249 content::Source<Browser>(browser())); |
1251 browser()->CloseWindow(); | 1250 browser()->CloseWindow(); |
(...skipping 19 matching lines...) Expand all Loading... |
1271 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); | 1270 EXPECT_EQ(Panel::MINIMIZED, panel1->expansion_state()); |
1272 | 1271 |
1273 // Another check for the same. | 1272 // Another check for the same. |
1274 EXPECT_FALSE(panel1->IsActive()); | 1273 EXPECT_FALSE(panel1->IsActive()); |
1275 EXPECT_FALSE(panel2->IsActive()); | 1274 EXPECT_FALSE(panel2->IsActive()); |
1276 | 1275 |
1277 panel1->Close(); | 1276 panel1->Close(); |
1278 panel2->Close(); | 1277 panel2->Close(); |
1279 } | 1278 } |
1280 | 1279 |
1281 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1280 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1282 NonExtensionDomainPanelsCloseOnUninstall) { | 1281 NonExtensionDomainPanelsCloseOnUninstall) { |
1283 // Create a test extension. | 1282 // Create a test extension. |
1284 DictionaryValue empty_value; | 1283 DictionaryValue empty_value; |
1285 scoped_refptr<Extension> extension = | 1284 scoped_refptr<Extension> extension = |
1286 CreateExtension(FILE_PATH_LITERAL("TestExtension"), | 1285 CreateExtension(FILE_PATH_LITERAL("TestExtension"), |
1287 Extension::INVALID, empty_value); | 1286 Extension::INVALID, empty_value); |
1288 std::string extension_app_name = | 1287 std::string extension_app_name = |
1289 web_app::GenerateApplicationNameFromExtensionId(extension->id()); | 1288 web_app::GenerateApplicationNameFromExtensionId(extension->id()); |
1290 | 1289 |
1291 PanelManager* panel_manager = PanelManager::GetInstance(); | 1290 PanelManager* panel_manager = PanelManager::GetInstance(); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1332 | 1331 |
1333 // Wait for the panels opened by the first extension to close. | 1332 // Wait for the panels opened by the first extension to close. |
1334 signal.Wait(); | 1333 signal.Wait(); |
1335 signal1.Wait(); | 1334 signal1.Wait(); |
1336 | 1335 |
1337 // Verify that the panel that's left is the panel from the second extension. | 1336 // Verify that the panel that's left is the panel from the second extension. |
1338 EXPECT_EQ(panel_other, panel_manager->panels()[0]); | 1337 EXPECT_EQ(panel_other, panel_manager->panels()[0]); |
1339 panel_other->Close(); | 1338 panel_other->Close(); |
1340 } | 1339 } |
1341 | 1340 |
1342 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, OnBeforeUnloadOnClose) { | 1341 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, OnBeforeUnloadOnClose) { |
1343 PanelManager* panel_manager = PanelManager::GetInstance(); | 1342 PanelManager* panel_manager = PanelManager::GetInstance(); |
1344 EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. | 1343 EXPECT_EQ(0, panel_manager->num_panels()); // No panels initially. |
1345 | 1344 |
1346 const string16 title_first_close = UTF8ToUTF16("TitleFirstClose"); | 1345 const string16 title_first_close = UTF8ToUTF16("TitleFirstClose"); |
1347 const string16 title_second_close = UTF8ToUTF16("TitleSecondClose"); | 1346 const string16 title_second_close = UTF8ToUTF16("TitleSecondClose"); |
1348 | 1347 |
1349 // Create a test panel with tab contents loaded. | 1348 // Create a test panel with tab contents loaded. |
1350 CreatePanelParams params("PanelTest1", gfx::Rect(0, 0, 300, 300), | 1349 CreatePanelParams params("PanelTest1", gfx::Rect(0, 0, 300, 300), |
1351 SHOW_AS_ACTIVE); | 1350 SHOW_AS_ACTIVE); |
1352 params.url = ui_test_utils::GetTestUrl( | 1351 params.url = ui_test_utils::GetTestUrl( |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1384 panel->Close(); | 1383 panel->Close(); |
1385 alert = ui_test_utils::WaitForAppModalDialog(); | 1384 alert = ui_test_utils::WaitForAppModalDialog(); |
1386 alert->native_dialog()->AcceptAppModalDialog(); | 1385 alert->native_dialog()->AcceptAppModalDialog(); |
1387 signal.Wait(); | 1386 signal.Wait(); |
1388 EXPECT_EQ(0, panel_manager->num_panels()); | 1387 EXPECT_EQ(0, panel_manager->num_panels()); |
1389 } | 1388 } |
1390 | 1389 |
1391 // http://crbug.com/126381 - should find a better notification to wait | 1390 // http://crbug.com/126381 - should find a better notification to wait |
1392 // for resize completion. Bounds animation could happen for all sorts of | 1391 // for resize completion. Bounds animation could happen for all sorts of |
1393 // reasons. | 1392 // reasons. |
1394 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1393 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DISABLED_CreateWithExistingContents) { |
1395 DISABLED_CreateWithExistingContents) { | |
1396 PanelManager::GetInstance()->enable_auto_sizing(true); | 1394 PanelManager::GetInstance()->enable_auto_sizing(true); |
1397 | 1395 |
1398 // Load contents into regular tabbed browser. | 1396 // Load contents into regular tabbed browser. |
1399 GURL url(ui_test_utils::GetTestUrl( | 1397 GURL url(ui_test_utils::GetTestUrl( |
1400 FilePath(kTestDir), | 1398 FilePath(kTestDir), |
1401 FilePath(FILE_PATH_LITERAL("update-preferred-size.html")))); | 1399 FilePath(FILE_PATH_LITERAL("update-preferred-size.html")))); |
1402 ui_test_utils::NavigateToURL(browser(), url); | 1400 ui_test_utils::NavigateToURL(browser(), url); |
1403 EXPECT_EQ(1, browser()->tab_count()); | 1401 EXPECT_EQ(1, browser()->tab_count()); |
1404 | 1402 |
1405 Profile* profile = browser()->profile(); | 1403 Profile* profile = browser()->profile(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1437 content::Source<Panel>(panel)); | 1435 content::Source<Panel>(panel)); |
1438 panel_browser->ConvertPopupToTabbedBrowser(); | 1436 panel_browser->ConvertPopupToTabbedBrowser(); |
1439 signal.Wait(); | 1437 signal.Wait(); |
1440 EXPECT_EQ(0, PanelManager::GetInstance()->num_panels()); | 1438 EXPECT_EQ(0, PanelManager::GetInstance()->num_panels()); |
1441 | 1439 |
1442 Browser* tabbed_browser = browser::FindTabbedBrowser(profile, false); | 1440 Browser* tabbed_browser = browser::FindTabbedBrowser(profile, false); |
1443 EXPECT_EQ(contents, tabbed_browser->GetSelectedTabContentsWrapper()); | 1441 EXPECT_EQ(contents, tabbed_browser->GetSelectedTabContentsWrapper()); |
1444 tabbed_browser->window()->Close(); | 1442 tabbed_browser->window()->Close(); |
1445 } | 1443 } |
1446 | 1444 |
1447 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, SizeClamping) { | 1445 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, SizeClamping) { |
1448 // Using '0' sizes is equivalent of not providing sizes in API and causes | 1446 // Using '0' sizes is equivalent of not providing sizes in API and causes |
1449 // minimum sizes to be applied to facilitate auto-sizing. | 1447 // minimum sizes to be applied to facilitate auto-sizing. |
1450 CreatePanelParams params("Panel", gfx::Rect(), SHOW_AS_ACTIVE); | 1448 CreatePanelParams params("Panel", gfx::Rect(), SHOW_AS_ACTIVE); |
1451 Panel* panel = CreatePanelWithParams(params); | 1449 Panel* panel = CreatePanelWithParams(params); |
1452 EXPECT_EQ(panel->min_size().width(), panel->GetBounds().width()); | 1450 EXPECT_EQ(panel->min_size().width(), panel->GetBounds().width()); |
1453 EXPECT_EQ(panel->min_size().height(), panel->GetBounds().height()); | 1451 EXPECT_EQ(panel->min_size().height(), panel->GetBounds().height()); |
1454 int reasonable_width = panel->min_size().width() + 10; | 1452 int reasonable_width = panel->min_size().width() + 10; |
1455 int reasonable_height = panel->min_size().height() + 20; | 1453 int reasonable_height = panel->min_size().height() + 20; |
1456 | 1454 |
1457 panel->Close(); | 1455 panel->Close(); |
(...skipping 11 matching lines...) Expand all Loading... |
1469 // Using just one size should auto-compute some reasonable other size. | 1467 // Using just one size should auto-compute some reasonable other size. |
1470 int given_height = 200; | 1468 int given_height = 200; |
1471 CreatePanelParams params2("Panel2", gfx::Rect(0, 0, 0, given_height), | 1469 CreatePanelParams params2("Panel2", gfx::Rect(0, 0, 0, given_height), |
1472 SHOW_AS_ACTIVE); | 1470 SHOW_AS_ACTIVE); |
1473 panel = CreatePanelWithParams(params2); | 1471 panel = CreatePanelWithParams(params2); |
1474 EXPECT_GT(panel->GetBounds().width(), 0); | 1472 EXPECT_GT(panel->GetBounds().width(), 0); |
1475 EXPECT_EQ(given_height, panel->GetBounds().height()); | 1473 EXPECT_EQ(given_height, panel->GetBounds().height()); |
1476 panel->Close(); | 1474 panel->Close(); |
1477 } | 1475 } |
1478 | 1476 |
1479 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, TightAutosizeAroundSingleLine) { | 1477 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, TightAutosizeAroundSingleLine) { |
1480 PanelManager::GetInstance()->enable_auto_sizing(true); | 1478 PanelManager::GetInstance()->enable_auto_sizing(true); |
1481 // Using 0 sizes triggers auto-sizing. | 1479 // Using 0 sizes triggers auto-sizing. |
1482 CreatePanelParams params("Panel", gfx::Rect(), SHOW_AS_ACTIVE); | 1480 CreatePanelParams params("Panel", gfx::Rect(), SHOW_AS_ACTIVE); |
1483 params.url = GURL("data:text/html;charset=utf-8,<!doctype html><body>"); | 1481 params.url = GURL("data:text/html;charset=utf-8,<!doctype html><body>"); |
1484 Panel* panel = CreatePanelWithParams(params); | 1482 Panel* panel = CreatePanelWithParams(params); |
1485 | 1483 |
1486 int initial_width = panel->GetBounds().width(); | 1484 int initial_width = panel->GetBounds().width(); |
1487 int initial_height = panel->GetBounds().height(); | 1485 int initial_height = panel->GetBounds().height(); |
1488 | 1486 |
1489 // Inject some HTML content into the panel. | 1487 // Inject some HTML content into the panel. |
1490 ui_test_utils::WindowedNotificationObserver enlarge( | 1488 ui_test_utils::WindowedNotificationObserver enlarge( |
1491 chrome::NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED, | 1489 chrome::NOTIFICATION_PANEL_BOUNDS_ANIMATIONS_FINISHED, |
1492 content::Source<Panel>(panel)); | 1490 content::Source<Panel>(panel)); |
1493 EXPECT_TRUE(ui_test_utils::ExecuteJavaScript( | 1491 EXPECT_TRUE(ui_test_utils::ExecuteJavaScript( |
1494 panel->WebContents()->GetRenderViewHost(), | 1492 panel->WebContents()->GetRenderViewHost(), |
1495 std::wstring(), | 1493 std::wstring(), |
1496 L"document.body.innerHTML =" | 1494 L"document.body.innerHTML =" |
1497 L"'<nobr>line of text and a <button>Button</button>';")); | 1495 L"'<nobr>line of text and a <button>Button</button>';")); |
1498 enlarge.Wait(); | 1496 enlarge.Wait(); |
1499 | 1497 |
1500 // The panel should have become larger in both dimensions (the minimums | 1498 // The panel should have become larger in both dimensions (the minimums |
1501 // has to be set to be smaller then a simple 1-line content, so the autosize | 1499 // has to be set to be smaller then a simple 1-line content, so the autosize |
1502 // can work correctly. | 1500 // can work correctly. |
1503 EXPECT_GT(panel->GetBounds().width(), initial_width); | 1501 EXPECT_GT(panel->GetBounds().width(), initial_width); |
1504 EXPECT_GT(panel->GetBounds().height(), initial_height); | 1502 EXPECT_GT(panel->GetBounds().height(), initial_height); |
1505 | 1503 |
1506 panel->Close(); | 1504 panel->Close(); |
1507 } | 1505 } |
1508 | 1506 |
1509 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1507 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1510 DefaultMaxSizeOnDisplaySettingsChange) { | 1508 DefaultMaxSizeOnDisplaySettingsChange) { |
1511 Panel* panel = CreatePanelWithBounds("1", gfx::Rect(0, 0, 240, 220)); | 1509 Panel* panel = CreatePanelWithBounds("1", gfx::Rect(0, 0, 240, 220)); |
1512 | 1510 |
1513 gfx::Size old_max_size = panel->max_size(); | 1511 gfx::Size old_max_size = panel->max_size(); |
1514 gfx::Size old_full_size = panel->full_size(); | 1512 gfx::Size old_full_size = panel->full_size(); |
1515 | 1513 |
1516 // Shrink the work area. Expect max size and full size become smaller. | 1514 // Shrink the work area. Expect max size and full size become smaller. |
1517 gfx::Size smaller_work_area_size = gfx::Size(500, 300); | 1515 gfx::Size smaller_work_area_size = gfx::Size(500, 300); |
1518 SetTestingAreas(gfx::Rect(gfx::Point(0, 0), smaller_work_area_size), | 1516 SetTestingAreas(gfx::Rect(gfx::Point(0, 0), smaller_work_area_size), |
1519 gfx::Rect()); | 1517 gfx::Rect()); |
1520 EXPECT_GT(old_max_size.width(), panel->max_size().width()); | 1518 EXPECT_GT(old_max_size.width(), panel->max_size().width()); |
1521 EXPECT_GT(old_max_size.height(), panel->max_size().height()); | 1519 EXPECT_GT(old_max_size.height(), panel->max_size().height()); |
1522 EXPECT_GT(smaller_work_area_size.width(), panel->max_size().width()); | 1520 EXPECT_GT(smaller_work_area_size.width(), panel->max_size().width()); |
1523 EXPECT_GT(smaller_work_area_size.height(), panel->max_size().height()); | 1521 EXPECT_GT(smaller_work_area_size.height(), panel->max_size().height()); |
1524 EXPECT_GT(old_full_size.width(), panel->full_size().width()); | 1522 EXPECT_GT(old_full_size.width(), panel->full_size().width()); |
1525 EXPECT_GT(old_full_size.height(), panel->full_size().height()); | 1523 EXPECT_GT(old_full_size.height(), panel->full_size().height()); |
1526 EXPECT_GE(panel->max_size().width(), panel->full_size().width()); | 1524 EXPECT_GE(panel->max_size().width(), panel->full_size().width()); |
1527 EXPECT_GE(panel->max_size().height(), panel->full_size().height()); | 1525 EXPECT_GE(panel->max_size().height(), panel->full_size().height()); |
1528 | 1526 |
1529 panel->Close(); | 1527 panel->Close(); |
1530 } | 1528 } |
1531 | 1529 |
1532 IN_PROC_BROWSER_TEST_F(OldPanelBrowserTest, | 1530 IN_PROC_BROWSER_TEST_F(PanelBrowserTest, |
1533 CustomMaxSizeOnDisplaySettingsChange) { | 1531 CustomMaxSizeOnDisplaySettingsChange) { |
1534 PanelManager* panel_manager = PanelManager::GetInstance(); | 1532 PanelManager* panel_manager = PanelManager::GetInstance(); |
1535 Panel* panel = CreatePanelWithBounds("1", gfx::Rect(0, 0, 240, 220)); | 1533 Panel* panel = CreatePanelWithBounds("1", gfx::Rect(0, 0, 240, 220)); |
1536 | 1534 |
1537 // Trigger custom max size by user resizing. | 1535 // Trigger custom max size by user resizing. |
1538 gfx::Size bigger_size = gfx::Size(550, 400); | 1536 gfx::Size bigger_size = gfx::Size(550, 400); |
1539 gfx::Point mouse_location = panel->GetBounds().origin(); | 1537 gfx::Point mouse_location = panel->GetBounds().origin(); |
1540 panel_manager->StartResizingByMouse(panel, | 1538 panel_manager->StartResizingByMouse(panel, |
1541 mouse_location, | 1539 mouse_location, |
1542 panel::RESIZE_TOP_LEFT); | 1540 panel::RESIZE_TOP_LEFT); |
(...skipping 17 matching lines...) Expand all Loading... |
1560 EXPECT_EQ(smaller_work_area_size.height(), panel->max_size().height()); | 1558 EXPECT_EQ(smaller_work_area_size.height(), panel->max_size().height()); |
1561 EXPECT_GT(old_full_size.width(), panel->full_size().width()); | 1559 EXPECT_GT(old_full_size.width(), panel->full_size().width()); |
1562 EXPECT_GT(old_full_size.height(), panel->full_size().height()); | 1560 EXPECT_GT(old_full_size.height(), panel->full_size().height()); |
1563 EXPECT_GE(panel->max_size().width(), panel->full_size().width()); | 1561 EXPECT_GE(panel->max_size().width(), panel->full_size().width()); |
1564 EXPECT_GE(panel->max_size().height(), panel->full_size().height()); | 1562 EXPECT_GE(panel->max_size().height(), panel->full_size().height()); |
1565 EXPECT_EQ(smaller_work_area_size.height(), panel->full_size().height()); | 1563 EXPECT_EQ(smaller_work_area_size.height(), panel->full_size().height()); |
1566 | 1564 |
1567 panel->Close(); | 1565 panel->Close(); |
1568 } | 1566 } |
1569 | 1567 |
1570 class OldPanelDownloadTest : public OldPanelBrowserTest { | 1568 class PanelDownloadTest : public PanelBrowserTest { |
1571 public: | 1569 public: |
1572 OldPanelDownloadTest() : OldPanelBrowserTest() { } | 1570 PanelDownloadTest() : PanelBrowserTest() { } |
1573 | 1571 |
1574 // Creates a temporary directory for downloads that is auto-deleted | 1572 // Creates a temporary directory for downloads that is auto-deleted |
1575 // on destruction. | 1573 // on destruction. |
1576 bool CreateDownloadDirectory(Profile* profile) { | 1574 bool CreateDownloadDirectory(Profile* profile) { |
1577 bool created = downloads_directory_.CreateUniqueTempDir(); | 1575 bool created = downloads_directory_.CreateUniqueTempDir(); |
1578 if (!created) | 1576 if (!created) |
1579 return false; | 1577 return false; |
1580 profile->GetPrefs()->SetFilePath( | 1578 profile->GetPrefs()->SetFilePath( |
1581 prefs::kDownloadDefaultDirectory, | 1579 prefs::kDownloadDefaultDirectory, |
1582 downloads_directory_.path()); | 1580 downloads_directory_.path()); |
1583 return true; | 1581 return true; |
1584 } | 1582 } |
1585 | 1583 |
1586 protected: | 1584 protected: |
1587 void SetUpOnMainThread() OVERRIDE { | 1585 void SetUpOnMainThread() OVERRIDE { |
1588 OldPanelBrowserTest::SetUpOnMainThread(); | 1586 PanelBrowserTest::SetUpOnMainThread(); |
1589 | 1587 |
1590 BrowserThread::PostTask( | 1588 BrowserThread::PostTask( |
1591 BrowserThread::IO, FROM_HERE, | 1589 BrowserThread::IO, FROM_HERE, |
1592 base::Bind(&chrome_browser_net::SetUrlRequestMocksEnabled, true)); | 1590 base::Bind(&chrome_browser_net::SetUrlRequestMocksEnabled, true)); |
1593 } | 1591 } |
1594 | 1592 |
1595 private: | 1593 private: |
1596 // Location of the downloads directory for download tests. | 1594 // Location of the downloads directory for download tests. |
1597 ScopedTempDir downloads_directory_; | 1595 ScopedTempDir downloads_directory_; |
1598 }; | 1596 }; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1638 } | 1636 } |
1639 | 1637 |
1640 private: | 1638 private: |
1641 DownloadManager* download_manager_; | 1639 DownloadManager* download_manager_; |
1642 bool saw_download_; | 1640 bool saw_download_; |
1643 bool waiting_; | 1641 bool waiting_; |
1644 }; | 1642 }; |
1645 | 1643 |
1646 // Verify that the download shelf is opened in the existing tabbed browser | 1644 // Verify that the download shelf is opened in the existing tabbed browser |
1647 // when a download is started in a Panel. | 1645 // when a download is started in a Panel. |
1648 IN_PROC_BROWSER_TEST_F(OldPanelDownloadTest, Download) { | 1646 IN_PROC_BROWSER_TEST_F(PanelDownloadTest, Download) { |
1649 Profile* profile = browser()->profile(); | 1647 Profile* profile = browser()->profile(); |
1650 ASSERT_TRUE(CreateDownloadDirectory(profile)); | 1648 ASSERT_TRUE(CreateDownloadDirectory(profile)); |
1651 Browser* panel_browser = Browser::CreateWithParams( | 1649 Browser* panel_browser = Browser::CreateWithParams( |
1652 Browser::CreateParams::CreateForApp( | 1650 Browser::CreateParams::CreateForApp( |
1653 Browser::TYPE_PANEL, "PanelTest", gfx::Rect(), profile)); | 1651 Browser::TYPE_PANEL, "PanelTest", gfx::Rect(), profile)); |
1654 EXPECT_EQ(2U, BrowserList::size()); | 1652 EXPECT_EQ(2U, BrowserList::size()); |
1655 ASSERT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 1653 ASSERT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
1656 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); | 1654 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); |
1657 | 1655 |
1658 scoped_ptr<DownloadObserver> observer(new DownloadObserver(profile)); | 1656 scoped_ptr<DownloadObserver> observer(new DownloadObserver(profile)); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1691 | 1689 |
1692 // See crbug 113779. | 1690 // See crbug 113779. |
1693 #if defined(OS_MACOSX) | 1691 #if defined(OS_MACOSX) |
1694 #define MAYBE_DownloadNoTabbedBrowser DISABLED_DownloadNoTabbedBrowser | 1692 #define MAYBE_DownloadNoTabbedBrowser DISABLED_DownloadNoTabbedBrowser |
1695 #else | 1693 #else |
1696 #define MAYBE_DownloadNoTabbedBrowser DownloadNoTabbedBrowser | 1694 #define MAYBE_DownloadNoTabbedBrowser DownloadNoTabbedBrowser |
1697 #endif | 1695 #endif |
1698 // Verify that a new tabbed browser is created to display a download | 1696 // Verify that a new tabbed browser is created to display a download |
1699 // shelf when a download is started in a Panel and there is no existing | 1697 // shelf when a download is started in a Panel and there is no existing |
1700 // tabbed browser. | 1698 // tabbed browser. |
1701 IN_PROC_BROWSER_TEST_F(OldPanelDownloadTest, MAYBE_DownloadNoTabbedBrowser) { | 1699 IN_PROC_BROWSER_TEST_F(PanelDownloadTest, MAYBE_DownloadNoTabbedBrowser) { |
1702 Profile* profile = browser()->profile(); | 1700 Profile* profile = browser()->profile(); |
1703 ASSERT_TRUE(CreateDownloadDirectory(profile)); | 1701 ASSERT_TRUE(CreateDownloadDirectory(profile)); |
1704 Browser* panel_browser = Browser::CreateWithParams( | 1702 Browser* panel_browser = Browser::CreateWithParams( |
1705 Browser::CreateParams::CreateForApp( | 1703 Browser::CreateParams::CreateForApp( |
1706 Browser::TYPE_PANEL, "PanelTest", gfx::Rect(), profile)); | 1704 Browser::TYPE_PANEL, "PanelTest", gfx::Rect(), profile)); |
1707 EXPECT_EQ(2U, BrowserList::size()); | 1705 EXPECT_EQ(2U, BrowserList::size()); |
1708 ASSERT_FALSE(browser()->window()->IsDownloadShelfVisible()); | 1706 ASSERT_FALSE(browser()->window()->IsDownloadShelfVisible()); |
1709 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); | 1707 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); |
1710 | 1708 |
1711 ui_test_utils::WindowedNotificationObserver signal( | 1709 ui_test_utils::WindowedNotificationObserver signal( |
(...skipping 19 matching lines...) Expand all Loading... |
1731 Browser* tabbed_browser = browser::FindTabbedBrowser(profile, false); | 1729 Browser* tabbed_browser = browser::FindTabbedBrowser(profile, false); |
1732 EXPECT_EQ(1, tabbed_browser->tab_count()); | 1730 EXPECT_EQ(1, tabbed_browser->tab_count()); |
1733 ASSERT_TRUE(tabbed_browser->window()->IsDownloadShelfVisible()); | 1731 ASSERT_TRUE(tabbed_browser->window()->IsDownloadShelfVisible()); |
1734 tabbed_browser->CloseWindow(); | 1732 tabbed_browser->CloseWindow(); |
1735 | 1733 |
1736 EXPECT_EQ(1, panel_browser->tab_count()); | 1734 EXPECT_EQ(1, panel_browser->tab_count()); |
1737 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); | 1735 ASSERT_FALSE(panel_browser->window()->IsDownloadShelfVisible()); |
1738 | 1736 |
1739 panel_browser->CloseWindow(); | 1737 panel_browser->CloseWindow(); |
1740 } | 1738 } |
OLD | NEW |