Index: ash/desktop_background/desktop_background_view.cc |
diff --git a/ash/desktop_background/desktop_background_view.cc b/ash/desktop_background/desktop_background_view.cc |
index dbf256f0499df461eccbaff9cee46a3b78ca9305..96c4a6ee6808cde8c8b2ff5a39d3ff2882ea199e 100644 |
--- a/ash/desktop_background/desktop_background_view.cc |
+++ b/ash/desktop_background/desktop_background_view.cc |
@@ -28,15 +28,20 @@ static int RoundPositive(double x) { |
//////////////////////////////////////////////////////////////////////////////// |
// DesktopBackgroundView, public: |
-DesktopBackgroundView::DesktopBackgroundView() { |
- wallpaper_ = *ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
- IDR_AURA_WALLPAPER_1).ToSkBitmap(); |
+DesktopBackgroundView::DesktopBackgroundView(const SkBitmap& wallpaper) { |
+ wallpaper_ = wallpaper; |
wallpaper_.buildMipMap(false); |
} |
DesktopBackgroundView::~DesktopBackgroundView() { |
} |
+void DesktopBackgroundView::SetWallpaper(const SkBitmap& wallpaper) { |
+ wallpaper_ = wallpaper; |
+ wallpaper_.buildMipMap(false); |
+ SchedulePaint(); |
+} |
+ |
//////////////////////////////////////////////////////////////////////////////// |
// DesktopBackgroundView, views::View overrides: |
@@ -88,11 +93,11 @@ void DesktopBackgroundView::OnMouseReleased(const views::MouseEvent& event) { |
Shell::GetInstance()->ShowBackgroundMenu(GetWidget(), event.location()); |
} |
-views::Widget* CreateDesktopBackground() { |
+views::Widget* CreateDesktopBackground(const SkBitmap& wallpaper) { |
views::Widget* desktop_widget = new views::Widget; |
views::Widget::InitParams params( |
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); |
- DesktopBackgroundView* view = new DesktopBackgroundView; |
+ DesktopBackgroundView* view = new DesktopBackgroundView(wallpaper); |
params.delegate = view; |
params.parent = |
Shell::GetInstance()->GetContainer( |