Chromium Code Reviews| Index: chrome/browser/ui/test/test_browser_dialog.cc |
| diff --git a/chrome/browser/ui/test/test_browser_dialog.cc b/chrome/browser/ui/test/test_browser_dialog.cc |
| index 5faa2fa206385a6c883b70d4f225e1dcb37158fa..60924f0326849d52cfb8ddbd7f18621f66d39a92 100644 |
| --- a/chrome/browser/ui/test/test_browser_dialog.cc |
| +++ b/chrome/browser/ui/test/test_browser_dialog.cc |
| @@ -13,9 +13,14 @@ |
| #include "ui/base/test/material_design_controller_test_api.h" |
| #include "ui/base/test/user_interactive_test_case.h" |
| #include "ui/base/ui_base_switches.h" |
| +#include "ui/views/test/widget_test.h" |
| #include "ui/views/widget/widget.h" |
| #include "ui/views/widget/widget_observer.h" |
| +#if defined(USE_ASH) |
|
sky
2017/01/30 17:07:04
USE_ASH is going to become OS_CHROMEOS, so you may
tapted
2017/01/30 23:36:31
Done.
|
| +#include "ash/shell.h" // nogncheck |
| +#endif |
| + |
| namespace { |
| // An automatic action for WidgetCloser to post to the RunLoop. |
| @@ -86,13 +91,22 @@ void TestBrowserDialog::RunDialog() { |
| md_test_api.SetSecondaryUiMaterial(true); |
| #endif |
| - gfx::NativeView parent = platform_util::GetViewForWindow(DialogParent()); |
| - views::Widget::Widgets widgets_before; |
| - views::Widget::GetAllChildWidgets(parent, &widgets_before); |
| + views::Widget::Widgets widgets_before = |
| + views::test::WidgetTest::GetAllWidgets(); |
| +#if defined(USE_ASH) |
| + // GetAllWidgets() uses AuraTestHelper to find the aura root window, but |
| + // that's not used on browser_tests, so ask ash. |
| + views::Widget::GetAllChildWidgets(ash::Shell::GetPrimaryRootWindow(), |
|
sky
2017/01/30 17:07:04
I assume only the primary display is ok for tests,
tapted
2017/01/30 23:36:31
Yes, I think it should be correct for these tests.
|
| + &widgets_before); |
| +#endif // USE_ASH |
| ShowDialog(NameFromTestCase()); |
| - views::Widget::Widgets widgets_after; |
| - views::Widget::GetAllChildWidgets(parent, &widgets_after); |
| + views::Widget::Widgets widgets_after = |
| + views::test::WidgetTest::GetAllWidgets(); |
| +#if defined(USE_ASH) |
| + views::Widget::GetAllChildWidgets(ash::Shell::GetPrimaryRootWindow(), |
| + &widgets_after); |
| +#endif // USE_ASH |
| auto added = base::STLSetDifference<std::vector<views::Widget*>>( |
| widgets_after, widgets_before); |