summaryrefslogtreecommitdiffstats
path: root/ash/tooltips
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 21:00:03 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-28 21:00:03 +0000
commit5ebe610732ff3d41b2c288e332767ef56d67fcd3 (patch)
treead306d1d45b9dee174640ecbecb9e305220a42e0 /ash/tooltips
parent3e3f945d8a7b0305b5aaf7a31edb6bb23176229c (diff)
downloadchromium_src-5ebe610732ff3d41b2c288e332767ef56d67fcd3.zip
chromium_src-5ebe610732ff3d41b2c288e332767ef56d67fcd3.tar.gz
chromium_src-5ebe610732ff3d41b2c288e332767ef56d67fcd3.tar.bz2
Desktop aura: Break aura::Window::SetParent in two.
Previously, SetParent will query a global StackingClient object if NULL is passed to it. Since we want different behavior on the desktop and on ash, we need to break that. It has been replaced with two methods: - SetParentTo(), which takes an aura window and does the parenting. - SetDefaultParentByTargetRoot(), which takes a RootWindow as context and asks the StackingClient on said RootWindow where it should parent the window. The problem is that people have relied for a long time on what amounts to a global variable. This is the first of several patches that pass around a context RootWindow. This patch focuses on ash/ unittests mostly. Later patches will focus on threading context through Widget creation. The last patch in this series will pull out the global stacking client interface and add DCHECKs so NULL can't be passed to either of these methods on Window. BUG=161882 Review URL: https://chromiumcodereview.appspot.com/11421006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170049 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/tooltips')
-rw-r--r--ash/tooltips/tooltip_controller_unittest.cc28
1 files changed, 15 insertions, 13 deletions
diff --git a/ash/tooltips/tooltip_controller_unittest.cc b/ash/tooltips/tooltip_controller_unittest.cc
index 31c1a08..8a31c32 100644
--- a/ash/tooltips/tooltip_controller_unittest.cc
+++ b/ash/tooltips/tooltip_controller_unittest.cc
@@ -44,12 +44,14 @@ class TooltipTestView : public views::View {
DISALLOW_COPY_AND_ASSIGN(TooltipTestView);
};
-views::Widget* CreateNewWidgetWithBounds(const gfx::Rect& bounds) {
+views::Widget* CreateNewWidgetWithBoundsOn(int display,
+ const gfx::Rect& bounds) {
views::Widget* widget = new views::Widget;
views::Widget::InitParams params;
params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
params.accept_events = true;
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
+ params.context = Shell::GetAllRootWindows().at(display);
params.parent_widget = NULL;
params.child = true;
params.bounds = bounds;
@@ -58,8 +60,8 @@ views::Widget* CreateNewWidgetWithBounds(const gfx::Rect& bounds) {
return widget;
}
-views::Widget* CreateNewWidget() {
- return CreateNewWidgetWithBounds(gfx::Rect());
+views::Widget* CreateNewWidgetOn(int display) {
+ return CreateNewWidgetWithBoundsOn(display, gfx::Rect());
}
void AddViewToWidgetAndResize(views::Widget* widget, views::View* view) {
@@ -146,7 +148,7 @@ TEST_F(TooltipControllerTest, NonNullTooltipClient) {
}
TEST_F(TooltipControllerTest, ViewTooltip) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view);
view->set_tooltip_text(ASCIIToUTF16("Tooltip Text"));
@@ -176,7 +178,7 @@ TEST_F(TooltipControllerTest, ViewTooltip) {
}
TEST_F(TooltipControllerTest, TooltipsInMultipleViews) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view1 = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view1);
view1->set_tooltip_text(ASCIIToUTF16("Tooltip Text"));
@@ -219,7 +221,7 @@ TEST_F(TooltipControllerTest, TooltipsInMultipleViews) {
}
TEST_F(TooltipControllerTest, EnableOrDisableTooltips) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view);
view->set_tooltip_text(ASCIIToUTF16("Tooltip Text"));
@@ -249,7 +251,7 @@ TEST_F(TooltipControllerTest, EnableOrDisableTooltips) {
}
TEST_F(TooltipControllerTest, HideTooltipWhenCursorHidden) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view);
view->set_tooltip_text(ASCIIToUTF16("Tooltip Text"));
@@ -369,7 +371,7 @@ TEST_F(TooltipControllerTest, TrimTooltipToFitTests) {
}
TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view1 = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view1);
view1->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1"));
@@ -424,7 +426,7 @@ TEST_F(TooltipControllerTest, TooltipHidesOnKeyPressAndStaysHiddenUntilChange) {
}
TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) {
- scoped_ptr<views::Widget> widget(CreateNewWidget());
+ scoped_ptr<views::Widget> widget(CreateNewWidgetOn(0));
TooltipTestView* view1 = new TooltipTestView;
AddViewToWidgetAndResize(widget.get(), view1);
view1->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1"));
@@ -481,15 +483,15 @@ TEST_F(TooltipControllerTest, TooltipHidesOnTimeoutAndStaysHiddenUntilChange) {
TEST_F(TooltipControllerTest, TooltipsOnMultiDisplayShouldNotCrash) {
UpdateDisplay("1000x600,600x400");
Shell::RootWindowList root_windows = Shell::GetAllRootWindows();
- scoped_ptr<views::Widget> widget1(CreateNewWidgetWithBounds(
- gfx::Rect(10, 10, 100, 100)));
+ scoped_ptr<views::Widget> widget1(CreateNewWidgetWithBoundsOn(
+ 0, gfx::Rect(10, 10, 100, 100)));
TooltipTestView* view1 = new TooltipTestView;
AddViewToWidgetAndResize(widget1.get(), view1);
view1->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 1"));
EXPECT_EQ(widget1->GetNativeView()->GetRootWindow(), root_windows[0]);
- scoped_ptr<views::Widget> widget2(CreateNewWidgetWithBounds(
- gfx::Rect(1200, 10, 100, 100)));
+ scoped_ptr<views::Widget> widget2(CreateNewWidgetWithBoundsOn(
+ 1, gfx::Rect(1200, 10, 100, 100)));
TooltipTestView* view2 = new TooltipTestView;
AddViewToWidgetAndResize(widget2.get(), view2);
view2->set_tooltip_text(ASCIIToUTF16("Tooltip Text for view 2"));