Chromium Code Reviews| Index: chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| diff --git a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| index 168c632f511766e5a7433c295925a78d8a9b1ad1..4f2f5a8eb135caf7650c00831d39300915c1f4d1 100644 |
| --- a/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| +++ b/chrome/browser/ui/webui/chromeos/login/signin_screen_handler.cc |
| @@ -11,6 +11,7 @@ |
| #include "ash/public/interfaces/constants.mojom.h" |
| #include "ash/public/interfaces/tray_action.mojom.h" |
| +#include "ash/shelf/shelf_constants.h" |
| #include "ash/shell.h" |
| #include "ash/system/devicetype_utils.h" |
| #include "ash/wm/lock_state_controller.h" |
| @@ -51,7 +52,6 @@ |
| #include "chrome/browser/chromeos/login/ui/login_feedback.h" |
| #include "chrome/browser/chromeos/login/ui/webui_login_display.h" |
| #include "chrome/browser/chromeos/login/users/multi_profile_user_controller.h" |
| -#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
| #include "chrome/browser/chromeos/login/wizard_controller.h" |
| #include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
| #include "chrome/browser/chromeos/policy/device_local_account.h" |
| @@ -101,6 +101,7 @@ |
| #include "ui/base/ime/chromeos/input_method_manager.h" |
| #include "ui/base/ime/chromeos/input_method_util.h" |
| #include "ui/base/webui/web_ui_util.h" |
| +#include "ui/gfx/color_utils.h" |
| namespace { |
| @@ -352,6 +353,7 @@ SigninScreenHandler::SigninScreenHandler( |
| lock_screen_apps::StateController::IsEnabled()) { |
| lock_screen_apps_observer_.Add(lock_screen_apps::StateController::Get()); |
| } |
| + WallpaperManager::Get()->AddObserver(this); |
| } |
| SigninScreenHandler::~SigninScreenHandler() { |
| @@ -371,6 +373,7 @@ SigninScreenHandler::~SigninScreenHandler() { |
| network_state_informer_->RemoveObserver(this); |
| proximity_auth::ScreenlockBridge::Get()->SetLockHandler(nullptr); |
| proximity_auth::ScreenlockBridge::Get()->SetFocusedUser(EmptyAccountId()); |
| + WallpaperManager::Get()->RemoveObserver(this); |
| } |
| // static |
| @@ -977,6 +980,28 @@ void SigninScreenHandler::ReloadGaia(bool force_reload) { |
| gaia_screen_handler_->ReloadGaia(force_reload); |
| } |
| +void SigninScreenHandler::SetSigninScreenColors(const SkColor& dm_color) { |
|
jdufault
2017/06/12 21:37:28
Just pass a SkColor dm_color parameter and mutate
Wenzhao (Colin) Zang
2017/06/12 23:40:35
Done. Originally I wanted to prevent mistakenly ch
|
| + // The dark muted color should have 100% opacity. |
| + SkColor dm_sk_color = dm_color; |
|
jdufault
2017/06/12 21:37:29
avoid non-obvious acronyms (dm). It makes the code
Wenzhao (Colin) Zang
2017/06/12 23:40:34
Done.
|
| + dm_sk_color = SkColorSetA(dm_sk_color, 0xFF); |
|
jdufault
2017/06/12 21:37:29
FYI: naming here is confusing; what is the differe
Wenzhao (Colin) Zang
2017/06/12 23:40:35
Done.
|
| + SkColor base_sk_color = color_utils::GetResultingPaintColor( |
| + SkColorSetA(ash::kShelfDefaultBaseColor, |
| + ash::kShelfTranslucentColorDarkenAlpha), |
| + dm_sk_color); |
| + SkColor background_sk_color = |
|
jdufault
2017/06/12 21:37:29
background_sk_color -> background_color
Wenzhao (Colin) Zang
2017/06/12 23:40:34
Done.
|
| + SkColorSetA(base_sk_color, ash::kShelfTranslucentAlpha); |
| + // The alpha value for the signin screen background. This constant will be |
| + // moved to a separate file when views-based signin screen is being |
|
jdufault
2017/06/12 21:37:29
Add TODO and file a bug.
Wenzhao (Colin) Zang
2017/06/12 23:40:34
Done.
|
| + // developed. |
| + constexpr int kLoginTranslucentAlpha = 76; |
|
jdufault
2017/06/12 21:37:29
move to anonymous namespace
Wenzhao (Colin) Zang
2017/06/12 23:40:34
Done.
|
| + SkColor scroll_sk_color = SkColorSetA(base_sk_color, kLoginTranslucentAlpha); |
|
jdufault
2017/06/12 21:37:29
scroll_sk_color -> scroll_color
Wenzhao (Colin) Zang
2017/06/12 23:40:35
Done.
|
| + // Transform SkColor values to rgba strings. |
|
jdufault
2017/06/12 21:37:28
Remove comment, it is immediately obvious.
Wenzhao (Colin) Zang
2017/06/12 23:40:34
Done.
|
| + CallJS("login.AccountPickerScreen.setOverlayColors", |
| + color_utils::SkColorToRgbaString(dm_sk_color), |
| + color_utils::SkColorToRgbaString(scroll_sk_color), |
| + color_utils::SkColorToRgbaString(background_sk_color)); |
| +} |
| + |
| void SigninScreenHandler::Initialize() { |
| // Preload PIN keyboard if any of the users can authenticate via PIN. |
| if (user_manager::UserManager::IsInitialized()) { |
| @@ -1017,6 +1042,14 @@ void SigninScreenHandler::OnCurrentScreenChanged(OobeScreen current_screen, |
| } |
| } |
| +void SigninScreenHandler::OnColorCalculationComplete() { |
| + SkColor dm_color = WallpaperManager::Get()->prominent_color(); |
| + SetSigninScreenColors(dm_color); |
| +} |
| + |
| +void SigninScreenHandler::OnWallpaperAnimationFinished( |
| + const AccountId& account_id) {} |
| + |
| void SigninScreenHandler::ClearAndEnablePassword() { |
| core_oobe_view_->ResetSignInUI(false); |
| } |