1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include "chrome/browser/chromeos/display/display_configuration_observer.h" 6 7#include "ash/display/display_controller.h" 8#include "ash/shell.h" 9#include "ash/shell_delegate.h" 10#include "chrome/browser/chromeos/display/display_preferences.h" 11 12namespace chromeos { 13 14DisplayConfigurationObserver::DisplayConfigurationObserver() { 15 ash::Shell::GetInstance()->display_controller()->AddObserver(this); 16} 17 18DisplayConfigurationObserver::~DisplayConfigurationObserver() { 19 ash::Shell::GetInstance()->display_controller()->RemoveObserver(this); 20} 21 22void DisplayConfigurationObserver::OnDisplaysInitialized() { 23 // Update the display pref with the initial power state. 24 if (ash::Shell::GetInstance()->delegate()->IsFirstRunAfterBoot()) 25 StoreDisplayPrefs(); 26} 27 28void DisplayConfigurationObserver::OnDisplayConfigurationChanged() { 29 StoreDisplayPrefs(); 30} 31 32} // namespace chromeos 33