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

Unified Diff: ui/views/test/widget_test.cc

Issue 2871073002: cros: Bind hangup red button on remote controller to close web dialog (Closed)
Patch Set: added test coverage Created 3 years, 7 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: 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

Powered by Google App Engine
This is Rietveld 408576698