Chromium Code Reviews| Index: ash/desktop_background/desktop_background_controller.h |
| diff --git a/ash/desktop_background/desktop_background_controller.h b/ash/desktop_background/desktop_background_controller.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..dbb3cddb2450560345559201b950dac87f321838 |
| --- /dev/null |
| +++ b/ash/desktop_background/desktop_background_controller.h |
| @@ -0,0 +1,45 @@ |
| +// 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. |
| + |
| +#ifndef ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_CONTROLLER_H_ |
| +#define ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_CONTROLLER_H_ |
| +#pragma once |
| + |
| +#include "ash/ash_export.h" |
| +#include "base/basictypes.h" |
| +#include "content/public/browser/notification_observer.h" |
|
Ben Goodger (Google)
2012/03/08 16:35:01
Ash can't depend on content.
bshe
2012/03/08 19:55:48
I moved the observer code to chrome/browser/chrome
|
| +#include "content/public/browser/notification_registrar.h" |
| +#include "third_party/skia/include/core/SkBitmap.h" |
| + |
| +namespace ash { |
| + |
| +// A class to listen for login and desktop background change events and set the |
| +// corresponding default wallpaper in Aura shell. |
| +class ASH_EXPORT DesktopBackgroundController : |
| + public content::NotificationObserver { |
| + public: |
| + DesktopBackgroundController(); |
| + virtual ~DesktopBackgroundController(); |
| + |
| + // Change the desktop background image to |wallpaper|. |
| + void OnDesktopBackgroundChange(const SkBitmap& wallpaper); |
| + |
| + // Returns the preset default wallpaper. |
| + const SkBitmap& GetPresetWallpaper(); |
| + |
| + // Returns the user selected wallpaper from a default wallpaper list. |
| + const SkBitmap& GetUserWallpaper(); |
| + private: |
| + virtual void Observe(int type, |
| + const content::NotificationSource& source, |
| + const content::NotificationDetails& details) OVERRIDE; |
| + |
| + content::NotificationRegistrar registrar_; |
| + |
| + DISALLOW_COPY_AND_ASSIGN(DesktopBackgroundController); |
| +}; |
| + |
| +} // namespace ash |
| + |
| +#endif // ASH_DESKTOP_BACKGROUND_DESKTOP_BACKGROUND_CONTROLLER_H_ |