Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/wallpaper/wallpaper_manager_base.h" | 5 #include "components/wallpaper/wallpaper_manager_base.h" |
| 6 | 6 |
| 7 #include <numeric> | 7 #include <numeric> |
| 8 #include <vector> | 8 #include <vector> |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 892 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 903 delay = base::TimeDelta::FromMilliseconds(0); | 903 delay = base::TimeDelta::FromMilliseconds(0); |
| 904 else if (interval > base::TimeDelta::FromMilliseconds(0)) | 904 else if (interval > base::TimeDelta::FromMilliseconds(0)) |
| 905 delay -= interval; | 905 delay -= interval; |
| 906 } | 906 } |
| 907 return delay; | 907 return delay; |
| 908 } | 908 } |
| 909 | 909 |
| 910 void WallpaperManagerBase::OnCustomizedDefaultWallpaperDecoded( | 910 void WallpaperManagerBase::OnCustomizedDefaultWallpaperDecoded( |
| 911 const GURL& wallpaper_url, | 911 const GURL& wallpaper_url, |
| 912 scoped_ptr<CustomizedWallpaperRescaledFiles> rescaled_files, | 912 scoped_ptr<CustomizedWallpaperRescaledFiles> rescaled_files, |
| 913 const user_manager::UserImage& wallpaper) { | 913 scoped_ptr< user_manager::UserImage> wallpaper) { |
|
hashimoto
2016/03/15 08:39:27
nit: "< " -> "<"
satorux1
2016/03/16 02:01:30
Done.
| |
| 914 DCHECK(thread_checker_.CalledOnValidThread()); | 914 DCHECK(thread_checker_.CalledOnValidThread()); |
| 915 | 915 |
| 916 // If decoded wallpaper is empty, we have probably failed to decode the file. | 916 // If decoded wallpaper is empty, we have probably failed to decode the file. |
| 917 if (wallpaper.image().isNull()) { | 917 if (wallpaper->image().isNull()) { |
| 918 LOG(WARNING) << "Failed to decode customized wallpaper."; | 918 LOG(WARNING) << "Failed to decode customized wallpaper."; |
| 919 return; | 919 return; |
| 920 } | 920 } |
| 921 | 921 |
| 922 wallpaper.image().EnsureRepsForSupportedScales(); | 922 wallpaper->image().EnsureRepsForSupportedScales(); |
| 923 scoped_ptr<gfx::ImageSkia> deep_copy(wallpaper.image().DeepCopy()); | 923 scoped_ptr<gfx::ImageSkia> deep_copy(wallpaper->image().DeepCopy()); |
|
hashimoto
2016/03/15 08:39:27
Do we still need to deep copy the image here?
Can'
satorux1
2016/03/16 02:01:30
Good point. Wanted to test but this code path is h
| |
| 924 | 924 |
| 925 scoped_ptr<bool> success(new bool(false)); | 925 scoped_ptr<bool> success(new bool(false)); |
| 926 scoped_ptr<gfx::ImageSkia> small_wallpaper_image(new gfx::ImageSkia); | 926 scoped_ptr<gfx::ImageSkia> small_wallpaper_image(new gfx::ImageSkia); |
| 927 scoped_ptr<gfx::ImageSkia> large_wallpaper_image(new gfx::ImageSkia); | 927 scoped_ptr<gfx::ImageSkia> large_wallpaper_image(new gfx::ImageSkia); |
| 928 | 928 |
| 929 // TODO(bshe): This may break if Bytes becomes RefCountedMemory. | 929 // TODO(bshe): This may break if Bytes becomes RefCountedMemory. |
| 930 base::Closure resize_closure = base::Bind( | 930 base::Closure resize_closure = base::Bind( |
| 931 &WallpaperManagerBase::ResizeCustomizedDefaultWallpaper, | 931 &WallpaperManagerBase::ResizeCustomizedDefaultWallpaper, |
| 932 base::Passed(&deep_copy), wallpaper.image_bytes(), | 932 base::Passed(&deep_copy), wallpaper->image_bytes(), |
|
hashimoto
2016/03/15 08:39:27
This line still copies image bytes.
satorux1
2016/03/16 02:01:30
Added a TODO comment.
| |
| 933 base::Unretained(rescaled_files.get()), base::Unretained(success.get()), | 933 base::Unretained(rescaled_files.get()), base::Unretained(success.get()), |
| 934 base::Unretained(small_wallpaper_image.get()), | 934 base::Unretained(small_wallpaper_image.get()), |
| 935 base::Unretained(large_wallpaper_image.get())); | 935 base::Unretained(large_wallpaper_image.get())); |
| 936 base::Closure on_resized_closure = base::Bind( | 936 base::Closure on_resized_closure = base::Bind( |
| 937 &WallpaperManagerBase::OnCustomizedDefaultWallpaperResized, | 937 &WallpaperManagerBase::OnCustomizedDefaultWallpaperResized, |
| 938 weak_factory_.GetWeakPtr(), wallpaper_url, | 938 weak_factory_.GetWeakPtr(), wallpaper_url, |
| 939 base::Passed(std::move(rescaled_files)), base::Passed(std::move(success)), | 939 base::Passed(std::move(rescaled_files)), base::Passed(std::move(success)), |
| 940 base::Passed(std::move(small_wallpaper_image)), | 940 base::Passed(std::move(small_wallpaper_image)), |
| 941 base::Passed(std::move(large_wallpaper_image))); | 941 base::Passed(std::move(large_wallpaper_image))); |
| 942 | 942 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1006 void WallpaperManagerBase::CreateSolidDefaultWallpaper() { | 1006 void WallpaperManagerBase::CreateSolidDefaultWallpaper() { |
| 1007 loaded_wallpapers_for_test_++; | 1007 loaded_wallpapers_for_test_++; |
| 1008 SkBitmap bitmap; | 1008 SkBitmap bitmap; |
| 1009 bitmap.allocN32Pixels(1, 1); | 1009 bitmap.allocN32Pixels(1, 1); |
| 1010 bitmap.eraseColor(kDefaultWallpaperColor); | 1010 bitmap.eraseColor(kDefaultWallpaperColor); |
| 1011 const gfx::ImageSkia image = gfx::ImageSkia::CreateFrom1xBitmap(bitmap); | 1011 const gfx::ImageSkia image = gfx::ImageSkia::CreateFrom1xBitmap(bitmap); |
| 1012 default_wallpaper_image_.reset(new user_manager::UserImage(image)); | 1012 default_wallpaper_image_.reset(new user_manager::UserImage(image)); |
| 1013 } | 1013 } |
| 1014 | 1014 |
| 1015 } // namespace wallpaper | 1015 } // namespace wallpaper |
| OLD | NEW |