| 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 75aff27f6ab391a12d30d0544041fe9b4b5f31e6..444af448a39dfdcb7f1352bead355014eb91e511 100644
|
| --- a/chrome/browser/ui/test/test_browser_dialog.cc
|
| +++ b/chrome/browser/ui/test/test_browser_dialog.cc
|
| @@ -6,6 +6,7 @@
|
|
|
| #include "base/command_line.h"
|
| #include "base/message_loop/message_loop.h"
|
| +#include "base/stl_util.h"
|
| #include "base/test/gtest_util.h"
|
| #include "base/threading/thread_task_runner_handle.h"
|
| #include "chrome/browser/platform_util.h"
|
| @@ -111,6 +112,14 @@ void TestBrowserDialog::RunDialog() {
|
| auto added = base::STLSetDifference<std::vector<views::Widget*>>(
|
| widgets_after, widgets_before);
|
|
|
| + if (added.size() > 1) {
|
| + // Some tests create a standalone window to anchor a dialog. In those cases,
|
| + // ignore added Widgets that are not dialogs.
|
| + base::EraseIf(added, [](views::Widget* widget) {
|
| + return !widget->widget_delegate()->AsDialogDelegate();
|
| + });
|
| + }
|
| +
|
| // This can fail if no dialog was shown, if the dialog shown wasn't a toolkit-
|
| // views dialog, or if more than one child dialog was shown.
|
| ASSERT_EQ(1u, added.size());
|
|
|