Index: ash/mus/shell_delegate_mus.cc |
diff --git a/ash/mus/shell_delegate_mus.cc b/ash/mus/shell_delegate_mus.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d7db6813cac72aee984e62ce17f5c076221d5017 |
--- /dev/null |
+++ b/ash/mus/shell_delegate_mus.cc |
@@ -0,0 +1,204 @@ |
+// 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/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 { |
+ NOTIMPLEMENTED(); |
+ return false; |
+} |
+ |
+bool ShellDelegateMus::IsIncognitoAllowed() const { |
+ NOTIMPLEMENTED(); |
+ return false; |
+} |
+ |
+bool ShellDelegateMus::IsMultiProfilesEnabled() const { |
+ NOTIMPLEMENTED(); |
+ return false; |
+} |
+ |
+bool ShellDelegateMus::IsRunningInForcedAppMode() const { |
+ NOTIMPLEMENTED(); |
+ return false; |
+} |
+ |
+bool ShellDelegateMus::CanShowWindowForUser(aura::Window* window) const { |
+ NOTIMPLEMENTED(); |
+ return true; |
+} |
+ |
+bool ShellDelegateMus::IsForceMaximizeOnFirstRun() const { |
+ NOTIMPLEMENTED(); |
+ return false; |
+} |
+ |
+void ShellDelegateMus::PreInit() { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void ShellDelegateMus::PreShutdown() { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void ShellDelegateMus::Exit() { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+keyboard::KeyboardUI* ShellDelegateMus::CreateKeyboardUI() { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+void ShellDelegateMus::VirtualKeyboardActivated(bool activated) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void ShellDelegateMus::AddVirtualKeyboardStateObserver( |
+ VirtualKeyboardStateObserver* observer) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+void ShellDelegateMus::RemoveVirtualKeyboardStateObserver( |
+ VirtualKeyboardStateObserver* observer) { |
+ NOTIMPLEMENTED(); |
+} |
+ |
+app_list::AppListViewDelegate* ShellDelegateMus::GetAppListViewDelegate() { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+ShelfDelegate* ShellDelegateMus::CreateShelfDelegate(ShelfModel* model) { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+ash::SystemTrayDelegate* ShellDelegateMus::CreateSystemTrayDelegate() { |
+ NOTIMPLEMENTED() << " Using the default SystemTrayDelegate implementation"; |
+ return new DefaultSystemTrayDelegate; |
+} |
+ |
+ash::UserWallpaperDelegate* ShellDelegateMus::CreateUserWallpaperDelegate() { |
+ NOTIMPLEMENTED() << " Using the default UserWallpaperDelegate implementation"; |
+ return new DefaultUserWallpaperDelegate(); |
+} |
+ |
+ash::SessionStateDelegate* ShellDelegateMus::CreateSessionStateDelegate() { |
+ NOTIMPLEMENTED() << " Using a stub SessionStateDeleagte implementation"; |
+ return new SessionStateDelegateStub; |
+} |
+ |
+ash::AccessibilityDelegate* ShellDelegateMus::CreateAccessibilityDelegate() { |
+ NOTIMPLEMENTED() << " Using the default AccessibilityDelegate implementation"; |
+ return new DefaultAccessibilityDelegate; |
+} |
+ |
+ash::NewWindowDelegate* ShellDelegateMus::CreateNewWindowDelegate() { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+ash::MediaDelegate* ShellDelegateMus::CreateMediaDelegate() { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+ui::MenuModel* ShellDelegateMus::CreateContextMenu( |
+ aura::Window* root_window, |
+ ash::ShelfItemDelegate* item_delegate, |
+ ash::ShelfItem* item) { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+GPUSupport* ShellDelegateMus::CreateGPUSupport() { |
+ NOTIMPLEMENTED(); |
+ return nullptr; |
+} |
+ |
+base::string16 ShellDelegateMus::GetProductName() const { |
+ NOTIMPLEMENTED(); |
+ return base::string16(); |
+} |
+ |
+gfx::Image ShellDelegateMus::GetDeprecatedAcceleratorImage() const { |
+ NOTIMPLEMENTED(); |
+ return gfx::Image(); |
+} |
+ |
+} // namespace sysui |
+} // namespace ash |