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

Unified Diff: chrome/browser/ui/test/test_browser_dialog.cc

Issue 2660813002: Add WidgetTest::GetAllWidgets() to find dialogs created by TestBrowserDialog. (Closed)
Patch Set: fix mac Created 3 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 side-by-side diff with in-line comments
Download patch
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);

Powered by Google App Engine
This is Rietveld 408576698