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

Unified Diff: chrome/browser/chromeos/login/ui/login_display_host_impl.cc

Issue 332243002: Network connectivity errors handling (incl. CP) for enrollment flow (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed nits Created 6 years, 5 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/chromeos/login/ui/login_display_host_impl.cc
diff --git a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
index 4df0338cb5fc0f7092d489db7db1dc79bd333354..dd1ecb2bf31281b76c0ff7f6e4f6b82f3812e550 100644
--- a/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
+++ b/chrome/browser/chromeos/login/ui/login_display_host_impl.cc
@@ -411,6 +411,9 @@ LoginDisplayHostImpl::~LoginDisplayHostImpl() {
RemoveVirtualKeyboardStateObserver(this);
ash::Shell::GetScreen()->RemoveObserver(this);
+ if (login_view_ && login_window_)
+ login_window_->RemoveRemovalsObserver(this);
+
if (login::LoginScrollIntoViewEnabled())
ResetKeyboardOverscrollOverride();
@@ -905,6 +908,16 @@ void LoginDisplayHostImpl::OnDisplayMetricsChanged(const gfx::Display& display,
}
////////////////////////////////////////////////////////////////////////////////
+// LoginDisplayHostImpl, views::WidgetRemovalsObserver implementation:
+void LoginDisplayHostImpl::OnWillRemoveView(views::Widget* widget,
+ views::View* view) {
+ if (view != static_cast<views::View*>(login_view_))
+ return;
+ login_view_ = NULL;
+ widget->RemoveRemovalsObserver(this);
+}
+
+////////////////////////////////////////////////////////////////////////////////
// LoginDisplayHostImpl, private
void LoginDisplayHostImpl::ShutdownDisplayHost(bool post_quit_task) {
@@ -1062,6 +1075,7 @@ void LoginDisplayHostImpl::InitLoginWindowAndView() {
login_window_->GetNativeView(),
wm::ANIMATE_HIDE);
+ login_window_->AddRemovalsObserver(this);
login_window_->SetContentsView(login_view_);
// If WebUI is initialized in hidden state, show it only if we're no
« no previous file with comments | « chrome/browser/chromeos/login/ui/login_display_host_impl.h ('k') | chrome/browser/chromeos/login/ui/webui_login_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698