Chromium Code Reviews| 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..43072b11d2b22692b920b7decc7f2fe2c56846f9 100644 |
| --- a/ui/views/test/widget_test.cc |
| +++ b/ui/views/test/widget_test.cc |
| @@ -178,6 +178,8 @@ void WidgetActivationWaiter::OnWidgetActivationChanged(Widget* widget, |
| } |
| WidgetClosingObserver::WidgetClosingObserver(Widget* widget) : widget_(widget) { |
| + if (!widget) |
| + return; |
|
xiyuan
2017/05/12 22:29:57
DCHECK(widget) or just get rid of it to let it cra
Qiang(Joe) Xu
2017/05/12 22:39:33
done by removing
|
| widget_->AddObserver(this); |
| } |
| @@ -186,10 +188,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 |