Index: ui/views/test/widget_test.cc |
diff --git a/ui/views/test/widget_test.cc b/ui/views/test/widget_test.cc |
index a96a9db970a7e626486ba275afa1d43365fe2a1d..ec451068cd913fdf8cfdf95f42e56844a76f6000 100644 |
--- a/ui/views/test/widget_test.cc |
+++ b/ui/views/test/widget_test.cc |
@@ -186,10 +186,17 @@ WidgetClosingObserver::~WidgetClosingObserver() { |
widget_->RemoveObserver(this); |
} |
+void WidgetClosingObserver::Wait() { |
+ if (widget_) |
+ run_loop_.Run(); |
+} |
+ |
void WidgetClosingObserver::OnWidgetClosing(Widget* widget) { |
DCHECK_EQ(widget_, widget); |
widget_->RemoveObserver(this); |
widget_ = nullptr; |
+ if (run_loop_.running()) |
+ run_loop_.Quit(); |
} |
} // namespace test |