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

Unified Diff: chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc

Issue 2271373002: mash: Port mojo:ash_sysui's ContextMenuMus to mojo:ash. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 4 years, 4 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/background/ash_user_wallpaper_delegate.cc
diff --git a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc b/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc
deleted file mode 100644
index fbc03aa6772c247e3110a78abf267e4a3a86fcdf..0000000000000000000000000000000000000000
--- a/chrome/browser/chromeos/background/ash_user_wallpaper_delegate.cc
+++ /dev/null
@@ -1,147 +0,0 @@
-// Copyright (c) 2012 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 "chrome/browser/chromeos/background/ash_user_wallpaper_delegate.h"
-
-#include "ash/common/wm/window_animation_types.h"
-#include "ash/desktop_background/user_wallpaper_delegate.h"
-#include "ash/shell.h"
-#include "ash/wm/window_animations.h"
-#include "base/command_line.h"
-#include "base/logging.h"
-#include "base/macros.h"
-#include "chrome/browser/chrome_notification_types.h"
-#include "chrome/browser/chromeos/extensions/wallpaper_manager_util.h"
-#include "chrome/browser/chromeos/login/startup_utils.h"
-#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
-#include "chrome/browser/chromeos/login/wizard_controller.h"
-#include "chromeos/chromeos_switches.h"
-#include "chromeos/login/login_state.h"
-#include "components/user_manager/user.h"
-#include "components/user_manager/user_manager.h"
-#include "content/public/browser/notification_service.h"
-
-namespace chromeos {
-
-namespace {
-
-bool IsNormalWallpaperChange() {
- if (chromeos::LoginState::Get()->IsUserLoggedIn() ||
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kFirstExecAfterBoot) ||
- WizardController::IsZeroDelayEnabled() ||
- !base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kLoginManager)) {
- return true;
- }
-
- return false;
-}
-
-class UserWallpaperDelegate : public ash::UserWallpaperDelegate {
- public:
- UserWallpaperDelegate()
- : boot_animation_finished_(false),
- animation_duration_override_in_ms_(0) {
- }
-
- ~UserWallpaperDelegate() override {}
-
- int GetAnimationType() override {
- return ShouldShowInitialAnimation()
- ? ash::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_BRIGHTNESS_GRAYSCALE
- : static_cast<int>(::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_FADE);
- }
-
- int GetAnimationDurationOverride() override {
- return animation_duration_override_in_ms_;
- }
-
- void SetAnimationDurationOverride(int animation_duration_in_ms) override {
- animation_duration_override_in_ms_ = animation_duration_in_ms;
- }
-
- bool ShouldShowInitialAnimation() override {
- if (IsNormalWallpaperChange() || boot_animation_finished_)
- return false;
-
- // It is a first boot case now. If kDisableBootAnimation flag
- // is passed, it only disables any transition after OOBE.
- bool is_registered = StartupUtils::IsDeviceRegistered();
- const base::CommandLine* command_line =
- base::CommandLine::ForCurrentProcess();
- bool disable_boot_animation = command_line->
- HasSwitch(switches::kDisableBootAnimation);
- if (is_registered && disable_boot_animation)
- return false;
-
- return true;
- }
-
- void UpdateWallpaper(bool clear_cache) override {
- chromeos::WallpaperManager::Get()->UpdateWallpaper(clear_cache);
- }
-
- void InitializeWallpaper() override {
- chromeos::WallpaperManager::Get()->InitializeWallpaper();
- }
-
- void OpenSetWallpaperPage() override {
- if (CanOpenSetWallpaperPage())
- wallpaper_manager_util::OpenWallpaperManager();
- }
-
- bool CanOpenSetWallpaperPage() override {
- const LoginState* login_state = LoginState::Get();
- const LoginState::LoggedInUserType user_type =
- login_state->GetLoggedInUserType();
- if (!login_state->IsUserLoggedIn())
- return false;
-
- // Whitelist user types that are allowed to change their wallpaper. (Guest
- // users are not, see crosbug 26900.)
- if (user_type != LoginState::LOGGED_IN_USER_REGULAR &&
- user_type != LoginState::LOGGED_IN_USER_OWNER &&
- user_type != LoginState::LOGGED_IN_USER_PUBLIC_ACCOUNT &&
- user_type != LoginState::LOGGED_IN_USER_SUPERVISED) {
- return false;
- }
- const user_manager::User* user =
- user_manager::UserManager::Get()->GetActiveUser();
- if (!user)
- return false;
- if (chromeos::WallpaperManager::Get()->IsPolicyControlled(
- user->GetAccountId()))
- return false;
- return true;
- }
-
- void OnWallpaperAnimationFinished() override {
- content::NotificationService::current()->Notify(
- chrome::NOTIFICATION_WALLPAPER_ANIMATION_FINISHED,
- content::NotificationService::AllSources(),
- content::NotificationService::NoDetails());
- }
-
- void OnWallpaperBootAnimationFinished() override {
- // Make sure that boot animation type is used only once.
- boot_animation_finished_ = true;
- }
-
- private:
- bool boot_animation_finished_;
-
- // The animation duration to show a new wallpaper if an animation is required.
- int animation_duration_override_in_ms_;
-
- DISALLOW_COPY_AND_ASSIGN(UserWallpaperDelegate);
-};
-
-} // namespace
-
-ash::UserWallpaperDelegate* CreateUserWallpaperDelegate() {
- return new chromeos::UserWallpaperDelegate();
-}
-
-} // namespace chromeos

Powered by Google App Engine
This is Rietveld 408576698