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

Side by Side Diff: chrome/browser/chromeos/login/existing_user_controller.cc

Issue 3437026: Updating user count before unmapping user pod windows. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 2 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/login/existing_user_controller.h" 5 #include "chrome/browser/chromeos/login/existing_user_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <map> 9 #include <map>
10 10
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 delete_scheduled_instance_ = this; 349 delete_scheduled_instance_ = this;
350 delete_timer_.Start(base::TimeDelta::FromSeconds(1), this, 350 delete_timer_.Start(base::TimeDelta::FromSeconds(1), this,
351 &ExistingUserController::Delete); 351 &ExistingUserController::Delete);
352 } 352 }
353 353
354 void ExistingUserController::RemoveUser(UserController* source) { 354 void ExistingUserController::RemoveUser(UserController* source) {
355 ClearErrors(); 355 ClearErrors();
356 356
357 UserManager::Get()->RemoveUser(source->user().email()); 357 UserManager::Get()->RemoveUser(source->user().email());
358 358
359 // We need to unmap entry windows, the windows will be unmapped in destructor.
360 controllers_.erase(controllers_.begin() + source->user_index()); 359 controllers_.erase(controllers_.begin() + source->user_index());
361 delete source;
362 360
363 EnableTooltipsIfNeeded(controllers_); 361 EnableTooltipsIfNeeded(controllers_);
362
363 // Update user count before unmapping windows, otherwise window manager won't
364 // be in the right state.
364 int new_size = static_cast<int>(controllers_.size()); 365 int new_size = static_cast<int>(controllers_.size());
365 for (int i = 0; i < new_size; ++i) 366 for (int i = 0; i < new_size; ++i)
366 controllers_[i]->UpdateUserCount(i, new_size); 367 controllers_[i]->UpdateUserCount(i, new_size);
368
369 // We need to unmap entry windows, the windows will be unmapped in destructor.
370 delete source;
367 } 371 }
368 372
369 void ExistingUserController::SelectUser(int index) { 373 void ExistingUserController::SelectUser(int index) {
370 if (index >= 0 && index < static_cast<int>(controllers_.size()) && 374 if (index >= 0 && index < static_cast<int>(controllers_.size()) &&
371 index != static_cast<int>(selected_view_index_)) { 375 index != static_cast<int>(selected_view_index_)) {
372 WmIpc::Message message(WM_IPC_MESSAGE_WM_SELECT_LOGIN_USER); 376 WmIpc::Message message(WM_IPC_MESSAGE_WM_SELECT_LOGIN_USER);
373 message.set_param(0, index); 377 message.set_param(0, index);
374 WmIpc::instance()->SendMessage(message); 378 WmIpc::instance()->SendMessage(message);
375 } 379 }
376 } 380 }
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 void ExistingUserController::ResyncEncryptedData() { 569 void ExistingUserController::ResyncEncryptedData() {
566 ChromeThread::PostTask( 570 ChromeThread::PostTask(
567 ChromeThread::UI, FROM_HERE, 571 ChromeThread::UI, FROM_HERE,
568 NewRunnableMethod(authenticator_.get(), 572 NewRunnableMethod(authenticator_.get(),
569 &Authenticator::ResyncEncryptedData, 573 &Authenticator::ResyncEncryptedData,
570 cached_credentials_)); 574 cached_credentials_));
571 cached_credentials_ = GaiaAuthConsumer::ClientLoginResult(); 575 cached_credentials_ = GaiaAuthConsumer::ClientLoginResult();
572 } 576 }
573 577
574 } // namespace chromeos 578 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698