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

Unified Diff: chrome/browser/ui/panels/panel_browsertest.cc

Issue 8744005: Refactor PanelManager to create PanelStrip. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: address nits 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/ui/panels/panel.h ('k') | chrome/browser/ui/panels/panel_manager.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/panels/panel_browsertest.cc
diff --git a/chrome/browser/ui/panels/panel_browsertest.cc b/chrome/browser/ui/panels/panel_browsertest.cc
index e59743e921578c5fee10692b40de4a52fd84657f..b4292ac8b39ef126cda22f2dab1c082dc1dc1380 100644
--- a/chrome/browser/ui/panels/panel_browsertest.cc
+++ b/chrome/browser/ui/panels/panel_browsertest.cc
@@ -28,6 +28,7 @@
#include "chrome/browser/ui/panels/panel.h"
#include "chrome/browser/ui/panels/panel_manager.h"
#include "chrome/browser/ui/panels/panel_settings_menu_model.h"
+#include "chrome/browser/ui/panels/test_panel_mouse_watcher.h"
#include "chrome/browser/web_applications/web_app.h"
#include "chrome/common/chrome_notification_types.h"
#include "chrome/common/pref_names.h"
@@ -64,8 +65,8 @@ class PanelBrowserTest : public BasePanelBrowserTest {
EXPECT_EQ(browser_count - 1, BrowserList::size());
}
- void MoveMouse(gfx::Point position) {
- PanelManager::GetInstance()->OnMouseMove(position);
+ void MoveMouse(const gfx::Point& position) {
+ PanelManager::GetInstance()->mouse_watcher()->NotifyMouseMovement(position);
MessageLoopForUI::current()->RunAllPending();
}
@@ -513,12 +514,11 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreatePanel) {
}
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, CreateBigPanel) {
- PanelManager* panel_manager = PanelManager::GetInstance();
Panel* panel = CreatePanelWithBounds("BigPanel", testing_work_area());
gfx::Rect bounds = panel->GetBounds();
- EXPECT_EQ(panel_manager->GetMaxPanelWidth(), bounds.width());
+ EXPECT_EQ(panel->max_size().width(), bounds.width());
EXPECT_LT(bounds.width(), testing_work_area().width());
- EXPECT_EQ(panel_manager->GetMaxPanelHeight(), bounds.height());
+ EXPECT_EQ(panel->max_size().height(), bounds.height());
EXPECT_LT(bounds.height(), testing_work_area().height());
panel->Close();
}
@@ -885,7 +885,8 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MAYBE_AutoResize) {
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, RestoredBounds) {
// Disable mouse watcher. We don't care about mouse movements in this test.
PanelManager* panel_manager = PanelManager::GetInstance();
- panel_manager->disable_mouse_watching();
+ PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher();
+ panel_manager->set_mouse_watcher(mouse_watcher);
Panel* panel = CreatePanelWithBounds("PanelTest", gfx::Rect(0, 0, 100, 100));
EXPECT_EQ(Panel::EXPANDED, panel->expansion_state());
EXPECT_EQ(panel->GetBounds(), panel->GetRestoredBounds());
@@ -950,18 +951,38 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, RestoredBounds) {
}
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestore) {
- // Disable mouse watcher. We'll simulate mouse movements for test.
- PanelManager::GetInstance()->disable_mouse_watching();
+ // We'll simulate mouse movements for test.
+ PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher();
+ PanelManager::GetInstance()->set_mouse_watcher(mouse_watcher);
// Test with one panel.
CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100));
TestMinimizeRestore();
+ PanelManager::GetInstance()->RemoveAll();
+}
+
+IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestoreTwoPanels) {
+ // We'll simulate mouse movements for test.
+ PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher();
+ PanelManager::GetInstance()->set_mouse_watcher(mouse_watcher);
+
// Test with two panels.
+ CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100));
CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110));
TestMinimizeRestore();
+ PanelManager::GetInstance()->RemoveAll();
+}
+
+IN_PROC_BROWSER_TEST_F(PanelBrowserTest, MinimizeRestoreThreePanels) {
+ // We'll simulate mouse movements for test.
+ PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher();
+ PanelManager::GetInstance()->set_mouse_watcher(mouse_watcher);
+
// Test with three panels.
+ CreatePanelWithBounds("PanelTest1", gfx::Rect(0, 0, 100, 100));
+ CreatePanelWithBounds("PanelTest2", gfx::Rect(0, 0, 110, 110));
CreatePanelWithBounds("PanelTest3", gfx::Rect(0, 0, 120, 120));
TestMinimizeRestore();
@@ -1119,6 +1140,10 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionBasic) {
}
IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionWhileMinimized) {
+ // We'll simulate mouse movements for test.
+ PanelMouseWatcher* mouse_watcher = new TestPanelMouseWatcher();
+ PanelManager::GetInstance()->set_mouse_watcher(mouse_watcher);
+
CreatePanelParams params("Initially Active", gfx::Rect(), SHOW_AS_ACTIVE);
Panel* panel = CreatePanelWithParams(params);
NativePanel* native_panel = panel->native_panel();
@@ -1138,11 +1163,13 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, DrawAttentionWhileMinimized) {
// Test that we cannot bring up other minimized panel if the mouse is over
// the panel that draws attension.
- EXPECT_FALSE(PanelManager::GetInstance()->
- ShouldBringUpTitlebars(panel->GetBounds().x(), panel->GetBounds().y()));
+ gfx::Point hover_point(panel->GetBounds().origin());
+ MoveMouse(hover_point);
+ EXPECT_EQ(Panel::TITLE_ONLY, panel->expansion_state());
// Test that we cannot bring down the panel that is drawing the attention.
- PanelManager::GetInstance()->BringUpOrDownTitlebars(false);
+ hover_point.set_y(hover_point.y() - 200);
+ MoveMouse(hover_point);
EXPECT_EQ(Panel::TITLE_ONLY, panel->expansion_state());
// Test that the attention is cleared when activated.
@@ -1505,13 +1532,14 @@ IN_PROC_BROWSER_TEST_F(PanelBrowserTest, SizeClamping) {
// minimum sizes to be applied to facilitate auto-sizing.
CreatePanelParams params("Panel", gfx::Rect(), SHOW_AS_ACTIVE);
Panel* panel = CreatePanelWithParams(params);
- EXPECT_EQ(PanelManager::kPanelMinWidth, panel->GetBounds().width());
- EXPECT_EQ(PanelManager::kPanelMinHeight, panel->GetBounds().height());
+ EXPECT_EQ(panel->min_size().width(), panel->GetBounds().width());
+ EXPECT_EQ(panel->min_size().height(), panel->GetBounds().height());
+ int reasonable_width = panel->min_size().width() + 10;
+ int reasonable_height = panel->min_size().height() + 20;
+
panel->Close();
// Using reasonable actual sizes should avoid clamping.
- int reasonable_width = PanelManager::kPanelMinWidth + 10;
- int reasonable_height = PanelManager::kPanelMinHeight + 20;
CreatePanelParams params1("Panel1",
gfx::Rect(0, 0,
reasonable_width, reasonable_height),
« no previous file with comments | « chrome/browser/ui/panels/panel.h ('k') | chrome/browser/ui/panels/panel_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698