| Index: ash/common/session/session_controller.cc | 
| diff --git a/ash/common/session/session_controller.cc b/ash/common/session/session_controller.cc | 
| deleted file mode 100644 | 
| index cafed50edd36116302adf2756c53cc40af0bdafb..0000000000000000000000000000000000000000 | 
| --- a/ash/common/session/session_controller.cc | 
| +++ /dev/null | 
| @@ -1,166 +0,0 @@ | 
| -// Copyright 2016 The Chromium Authors. All rights reserved. | 
| -// Use of this source code is governed by a BSD-style license that can be | 
| -// found in the LICENSE file. | 
| - | 
| -#include "ash/common/session/session_controller.h" | 
| - | 
| -#include <algorithm> | 
| - | 
| -#include "ash/common/session/session_state_observer.h" | 
| -#include "base/bind.h" | 
| -#include "base/bind_helpers.h" | 
| -#include "components/signin/core/account_id/account_id.h" | 
| -#include "services/service_manager/public/cpp/connector.h" | 
| - | 
| -namespace ash { | 
| - | 
| -SessionController::SessionController() {} | 
| - | 
| -SessionController::~SessionController() {} | 
| - | 
| -void SessionController::BindRequest(mojom::SessionControllerRequest request) { | 
| -  bindings_.AddBinding(this, std::move(request)); | 
| -} | 
| - | 
| -int SessionController::GetMaximumNumberOfLoggedInUsers() const { | 
| -  return session_manager::kMaxmiumNumberOfUserSessions; | 
| -} | 
| - | 
| -int SessionController::NumberOfLoggedInUsers() const { | 
| -  return static_cast<int>(user_sessions_.size()); | 
| -} | 
| - | 
| -AddUserSessionPolicy SessionController::GetAddUserPolicy() const { | 
| -  return add_user_session_policy_; | 
| -} | 
| - | 
| -bool SessionController::IsActiveUserSessionStarted() const { | 
| -  return !user_sessions_.empty(); | 
| -} | 
| - | 
| -bool SessionController::CanLockScreen() const { | 
| -  return can_lock_; | 
| -} | 
| - | 
| -bool SessionController::IsScreenLocked() const { | 
| -  return state_ == session_manager::SessionState::LOCKED; | 
| -} | 
| - | 
| -bool SessionController::ShouldLockScreenAutomatically() const { | 
| -  return should_lock_screen_automatically_; | 
| -} | 
| - | 
| -bool SessionController::IsUserSessionBlocked() const { | 
| -  return state_ != session_manager::SessionState::ACTIVE; | 
| -} | 
| - | 
| -session_manager::SessionState SessionController::GetSessionState() const { | 
| -  return state_; | 
| -} | 
| - | 
| -const std::vector<mojom::UserSessionPtr>& SessionController::GetUserSessions() | 
| -    const { | 
| -  return user_sessions_; | 
| -} | 
| - | 
| -void SessionController::LockScreen() { | 
| -  if (client_) | 
| -    client_->RequestLockScreen(); | 
| -} | 
| - | 
| -void SessionController::SwitchActiveUser(const AccountId& account_id) { | 
| -  if (client_) | 
| -    client_->SwitchActiveUser(account_id); | 
| -} | 
| - | 
| -void SessionController::CycleActiveUser(CycleUserDirection direction) { | 
| -  if (client_) | 
| -    client_->CycleActiveUser(direction); | 
| -} | 
| - | 
| -void SessionController::AddSessionStateObserver( | 
| -    SessionStateObserver* observer) { | 
| -  observers_.AddObserver(observer); | 
| -} | 
| - | 
| -void SessionController::RemoveSessionStateObserver( | 
| -    SessionStateObserver* observer) { | 
| -  observers_.RemoveObserver(observer); | 
| -} | 
| - | 
| -void SessionController::SetClient(mojom::SessionControllerClientPtr client) { | 
| -  client_ = std::move(client); | 
| -} | 
| - | 
| -void SessionController::SetSessionInfo(mojom::SessionInfoPtr info) { | 
| -  can_lock_ = info->can_lock_screen; | 
| -  should_lock_screen_automatically_ = info->should_lock_screen_automatically; | 
| -  add_user_session_policy_ = info->add_user_session_policy; | 
| -  SetSessionState(info->state); | 
| -} | 
| - | 
| -void SessionController::UpdateUserSession(mojom::UserSessionPtr user_session) { | 
| -  auto it = | 
| -      std::find_if(user_sessions_.begin(), user_sessions_.end(), | 
| -                   [&user_session](const mojom::UserSessionPtr& session) { | 
| -                     return session->session_id == user_session->session_id; | 
| -                   }); | 
| -  if (it == user_sessions_.end()) { | 
| -    AddUserSession(std::move(user_session)); | 
| -    return; | 
| -  } | 
| - | 
| -  *it = std::move(user_session); | 
| -  // TODO(xiyuan): Notify observers about meta change to replace things such as | 
| -  //     NOTIFICATION_LOGIN_USER_IMAGE_CHANGED. http://crbug.com/670422 | 
| -} | 
| - | 
| -void SessionController::SetUserSessionOrder( | 
| -    const std::vector<uint32_t>& user_session_order) { | 
| -  DCHECK_EQ(user_sessions_.size(), user_session_order.size()); | 
| - | 
| -  // Adjusts |user_sessions_| to match the given order. | 
| -  std::vector<mojom::UserSessionPtr> sessions; | 
| -  for (const auto& session_id : user_session_order) { | 
| -    auto it = | 
| -        std::find_if(user_sessions_.begin(), user_sessions_.end(), | 
| -                     [session_id](const mojom::UserSessionPtr& session) { | 
| -                       return session && session->session_id == session_id; | 
| -                     }); | 
| -    if (it == user_sessions_.end()) { | 
| -      LOG(ERROR) << "Unknown session id =" << session_id; | 
| -      continue; | 
| -    } | 
| - | 
| -    sessions.push_back(std::move(*it)); | 
| -  } | 
| -  user_sessions_.swap(sessions); | 
| - | 
| -  // Check active user change and notifies observers. | 
| -  if (user_sessions_[0]->session_id != active_session_id_) { | 
| -    active_session_id_ = user_sessions_[0]->session_id; | 
| - | 
| -    for (auto& observer : observers_) | 
| -      observer.ActiveUserChanged(user_sessions_[0]->account_id); | 
| -  } | 
| -} | 
| - | 
| -void SessionController::SetSessionState(session_manager::SessionState state) { | 
| -  if (state_ == state) | 
| -    return; | 
| - | 
| -  state_ = state; | 
| -  for (auto& observer : observers_) | 
| -    observer.SessionStateChanged(state_); | 
| -} | 
| - | 
| -void SessionController::AddUserSession(mojom::UserSessionPtr user_session) { | 
| -  const AccountId account_id(user_session->account_id); | 
| - | 
| -  user_sessions_.push_back(std::move(user_session)); | 
| - | 
| -  for (auto& observer : observers_) | 
| -    observer.UserAddedToSession(account_id); | 
| -} | 
| - | 
| -}  // namespace ash | 
|  |