Chromium Code Reviews| Index: ash/mus/sysui/shell_delegate_mus.cc |
| diff --git a/ash/mus/sysui/shell_delegate_mus.cc b/ash/mus/sysui/shell_delegate_mus.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..7f1d2fd7725a3940a1e0a0f4c6ae2e0ad8da22bd |
| --- /dev/null |
| +++ b/ash/mus/sysui/shell_delegate_mus.cc |
| @@ -0,0 +1,173 @@ |
| +// 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/mus/sysui/shell_delegate_mus.h" |
| + |
| +#include "ash/default_accessibility_delegate.h" |
| +#include "ash/default_user_wallpaper_delegate.h" |
| +#include "ash/session/session_state_delegate.h" |
| +#include "ash/system/tray/default_system_tray_delegate.h" |
| +#include "base/strings/string16.h" |
| +#include "components/user_manager/user_info_impl.h" |
| +#include "ui/gfx/image/image.h" |
| + |
| +namespace ash { |
| +namespace sysui { |
| + |
| +namespace { |
| + |
| +class SessionStateDelegateStub : public SessionStateDelegate { |
| + public: |
| + SessionStateDelegateStub() |
| + : screen_locked_(false), user_info_(new user_manager::UserInfoImpl()) {} |
| + |
| + ~SessionStateDelegateStub() override {} |
| + |
| + // SessionStateDelegate: |
| + int GetMaximumNumberOfLoggedInUsers() const override { return 3; } |
| + int NumberOfLoggedInUsers() const override { |
| + // ash_shell has 2 users. |
| + return 2; |
| + } |
| + bool IsActiveUserSessionStarted() const override { return true; } |
| + bool CanLockScreen() const override { return true; } |
| + bool IsScreenLocked() const override { return screen_locked_; } |
| + bool ShouldLockScreenBeforeSuspending() const override { return false; } |
| + void LockScreen() override { |
| + screen_locked_ = true; |
| + NOTIMPLEMENTED(); |
| + } |
| + void UnlockScreen() override { |
| + NOTIMPLEMENTED(); |
| + screen_locked_ = false; |
| + } |
| + bool IsUserSessionBlocked() const override { return false; } |
| + SessionState GetSessionState() const override { return SESSION_STATE_ACTIVE; } |
| + const user_manager::UserInfo* GetUserInfo(UserIndex index) const override { |
| + return user_info_.get(); |
| + } |
| + bool ShouldShowAvatar(aura::Window* window) const override { |
| + return !user_info_->GetImage().isNull(); |
| + } |
| + gfx::ImageSkia GetAvatarImageForWindow(aura::Window* window) const override { |
| + return gfx::ImageSkia(); |
| + } |
| + void SwitchActiveUser(const AccountId& account_id) override {} |
| + void CycleActiveUser(CycleUser cycle_user) override {} |
| + bool IsMultiProfileAllowedByPrimaryUserPolicy() const override { |
| + return true; |
| + } |
| + void AddSessionStateObserver(ash::SessionStateObserver* observer) override {} |
| + void RemoveSessionStateObserver( |
| + ash::SessionStateObserver* observer) override {} |
| + |
| + private: |
| + bool screen_locked_; |
| + |
| + // A pseudo user info. |
| + scoped_ptr<user_manager::UserInfo> user_info_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(SessionStateDelegateStub); |
| +}; |
| + |
| +} // namespace |
| + |
| +ShellDelegateMus::ShellDelegateMus() {} |
| +ShellDelegateMus::~ShellDelegateMus() {} |
| + |
| +bool ShellDelegateMus::IsFirstRunAfterBoot() const { |
| + return false; |
|
sky
2016/02/08 17:42:15
Is it worth NOTIMPLEMENTEDs for all of these?
sadrul
2016/02/08 18:33:24
Done.
|
| +} |
| + |
| +bool ShellDelegateMus::IsIncognitoAllowed() const { |
| + return false; |
| +} |
| + |
| +bool ShellDelegateMus::IsMultiProfilesEnabled() const { |
| + return false; |
| +} |
| + |
| +bool ShellDelegateMus::IsRunningInForcedAppMode() const { |
| + return false; |
| +} |
| + |
| +bool ShellDelegateMus::CanShowWindowForUser(aura::Window* window) const { |
| + return true; |
| +} |
| + |
| +bool ShellDelegateMus::IsForceMaximizeOnFirstRun() const { |
| + return false; |
| +} |
| + |
| +void ShellDelegateMus::PreInit() {} |
| + |
| +void ShellDelegateMus::PreShutdown() {} |
| + |
| +void ShellDelegateMus::Exit() {} |
| + |
| +keyboard::KeyboardUI* ShellDelegateMus::CreateKeyboardUI() { |
| + return nullptr; |
| +} |
| + |
| +void ShellDelegateMus::VirtualKeyboardActivated(bool activated) {} |
| + |
| +void ShellDelegateMus::AddVirtualKeyboardStateObserver( |
| + VirtualKeyboardStateObserver* observer) {} |
| + |
| +void ShellDelegateMus::RemoveVirtualKeyboardStateObserver( |
| + VirtualKeyboardStateObserver* observer) {} |
| + |
| +app_list::AppListViewDelegate* ShellDelegateMus::GetAppListViewDelegate() { |
| + return nullptr; |
| +} |
| + |
| +ShelfDelegate* ShellDelegateMus::CreateShelfDelegate(ShelfModel* model) { |
| + return nullptr; |
| +} |
| + |
| +ash::SystemTrayDelegate* ShellDelegateMus::CreateSystemTrayDelegate() { |
| + return new DefaultSystemTrayDelegate; |
| +} |
| + |
| +ash::UserWallpaperDelegate* ShellDelegateMus::CreateUserWallpaperDelegate() { |
| + return new DefaultUserWallpaperDelegate(); |
| +} |
| + |
| +ash::SessionStateDelegate* ShellDelegateMus::CreateSessionStateDelegate() { |
| + return new SessionStateDelegateStub; |
| +} |
| + |
| +ash::AccessibilityDelegate* ShellDelegateMus::CreateAccessibilityDelegate() { |
| + return new DefaultAccessibilityDelegate; |
| +} |
| + |
| +ash::NewWindowDelegate* ShellDelegateMus::CreateNewWindowDelegate() { |
| + return nullptr; |
| +} |
| + |
| +ash::MediaDelegate* ShellDelegateMus::CreateMediaDelegate() { |
| + return nullptr; |
| +} |
| + |
| +ui::MenuModel* ShellDelegateMus::CreateContextMenu( |
| + aura::Window* root_window, |
| + ash::ShelfItemDelegate* item_delegate, |
| + ash::ShelfItem* item) { |
| + return nullptr; |
| +} |
| + |
| +GPUSupport* ShellDelegateMus::CreateGPUSupport() { |
| + return nullptr; |
| +} |
| + |
| +base::string16 ShellDelegateMus::GetProductName() const { |
| + return base::string16(); |
| +} |
| + |
| +gfx::Image ShellDelegateMus::GetDeprecatedAcceleratorImage() const { |
| + return gfx::Image(); |
| +} |
| + |
| +} // namespace sysui |
| +} // namespace ash |