OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 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 "chrome/browser/chromeos/extensions/wallpaper_private_api.h" | 5 #include "chrome/browser/chromeos/extensions/wallpaper_private_api.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "ash/shell.h" | 9 #include "ash/shell.h" |
10 #include "ash/wm/window_cycle_controller.h" | 10 #include "ash/wm/window_cycle_controller.h" |
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
76 // directory can not be found/created or failed to write file. | 76 // directory can not be found/created or failed to write file. |
77 bool SaveData(int key, const std::string& file_name, const std::string& data) { | 77 bool SaveData(int key, const std::string& file_name, const std::string& data) { |
78 base::FilePath data_dir; | 78 base::FilePath data_dir; |
79 CHECK(PathService::Get(key, &data_dir)); | 79 CHECK(PathService::Get(key, &data_dir)); |
80 if (!file_util::DirectoryExists(data_dir) && | 80 if (!file_util::DirectoryExists(data_dir) && |
81 !file_util::CreateDirectory(data_dir)) { | 81 !file_util::CreateDirectory(data_dir)) { |
82 return false; | 82 return false; |
83 } | 83 } |
84 base::FilePath file_path = data_dir.Append(file_name); | 84 base::FilePath file_path = data_dir.Append(file_name); |
85 | 85 |
86 return file_util::PathExists(file_path) || | 86 return base::PathExists(file_path) || |
87 (file_util::WriteFile(file_path, data.c_str(), | 87 (file_util::WriteFile(file_path, data.c_str(), |
88 data.size()) != -1); | 88 data.size()) != -1); |
89 } | 89 } |
90 | 90 |
91 // Gets |file_name| from directory with |key|. Return false if the directory can | 91 // Gets |file_name| from directory with |key|. Return false if the directory can |
92 // not be found or failed to read file to string |data|. Note if the |file_name| | 92 // not be found or failed to read file to string |data|. Note if the |file_name| |
93 // can not be found in the directory, return true with empty |data|. It is | 93 // can not be found in the directory, return true with empty |data|. It is |
94 // expected that we may try to access file which did not saved yet. | 94 // expected that we may try to access file which did not saved yet. |
95 bool GetData(const base::FilePath& path, std::string* data) { | 95 bool GetData(const base::FilePath& path, std::string* data) { |
96 base::FilePath data_dir = path.DirName(); | 96 base::FilePath data_dir = path.DirName(); |
97 if (!file_util::DirectoryExists(data_dir) && | 97 if (!file_util::DirectoryExists(data_dir) && |
98 !file_util::CreateDirectory(data_dir)) | 98 !file_util::CreateDirectory(data_dir)) |
99 return false; | 99 return false; |
100 | 100 |
101 return !file_util::PathExists(path) || | 101 return !base::PathExists(path) || |
102 file_util::ReadFileToString(path, data); | 102 file_util::ReadFileToString(path, data); |
103 } | 103 } |
104 | 104 |
105 class WindowStateManager; | 105 class WindowStateManager; |
106 | 106 |
107 // static | 107 // static |
108 WindowStateManager* g_window_state_manager = NULL; | 108 WindowStateManager* g_window_state_manager = NULL; |
109 | 109 |
110 // WindowStateManager remembers which windows have been minimized in order to | 110 // WindowStateManager remembers which windows have been minimized in order to |
111 // restore them when the wallpaper viewer is hidden. | 111 // restore them when the wallpaper viewer is hidden. |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 } | 375 } |
376 | 376 |
377 void WallpaperPrivateSetWallpaperIfExistsFunction:: | 377 void WallpaperPrivateSetWallpaperIfExistsFunction:: |
378 ReadFileAndInitiateStartDecode(const base::FilePath& file_path, | 378 ReadFileAndInitiateStartDecode(const base::FilePath& file_path, |
379 const base::FilePath& fallback_path) { | 379 const base::FilePath& fallback_path) { |
380 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( | 380 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( |
381 sequence_token_)); | 381 sequence_token_)); |
382 std::string data; | 382 std::string data; |
383 base::FilePath path = file_path; | 383 base::FilePath path = file_path; |
384 | 384 |
385 if (!file_util::PathExists(file_path)) | 385 if (!base::PathExists(file_path)) |
386 path = fallback_path; | 386 path = fallback_path; |
387 | 387 |
388 if (file_util::PathExists(path) && | 388 if (base::PathExists(path) && |
389 file_util::ReadFileToString(path, &data)) { | 389 file_util::ReadFileToString(path, &data)) { |
390 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, | 390 BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, |
391 base::Bind(&WallpaperPrivateSetWallpaperIfExistsFunction::StartDecode, | 391 base::Bind(&WallpaperPrivateSetWallpaperIfExistsFunction::StartDecode, |
392 this, data)); | 392 this, data)); |
393 return; | 393 return; |
394 } | 394 } |
395 std::string error = base::StringPrintf( | 395 std::string error = base::StringPrintf( |
396 "Failed to set wallpaper %s from file system.", | 396 "Failed to set wallpaper %s from file system.", |
397 path.BaseName().value().c_str()); | 397 path.BaseName().value().c_str()); |
398 BrowserThread::PostTask( | 398 BrowserThread::PostTask( |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 BrowserThread::PostTask( | 485 BrowserThread::PostTask( |
486 BrowserThread::UI, FROM_HERE, | 486 BrowserThread::UI, FROM_HERE, |
487 base::Bind(&WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper, | 487 base::Bind(&WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper, |
488 this, base::Passed(&deep_copy))); | 488 this, base::Passed(&deep_copy))); |
489 chromeos::UserImage wallpaper(wallpaper_); | 489 chromeos::UserImage wallpaper(wallpaper_); |
490 | 490 |
491 base::FilePath wallpaper_dir; | 491 base::FilePath wallpaper_dir; |
492 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPERS, &wallpaper_dir)); | 492 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPERS, &wallpaper_dir)); |
493 base::FilePath file_path = wallpaper_dir.Append( | 493 base::FilePath file_path = wallpaper_dir.Append( |
494 file_name).InsertBeforeExtension(chromeos::kSmallWallpaperSuffix); | 494 file_name).InsertBeforeExtension(chromeos::kSmallWallpaperSuffix); |
495 if (file_util::PathExists(file_path)) | 495 if (base::PathExists(file_path)) |
496 return; | 496 return; |
497 // Generates and saves small resolution wallpaper. Uses CENTER_CROPPED to | 497 // Generates and saves small resolution wallpaper. Uses CENTER_CROPPED to |
498 // maintain the aspect ratio after resize. | 498 // maintain the aspect ratio after resize. |
499 chromeos::WallpaperManager::Get()->ResizeAndSaveWallpaper( | 499 chromeos::WallpaperManager::Get()->ResizeAndSaveWallpaper( |
500 wallpaper, | 500 wallpaper, |
501 file_path, | 501 file_path, |
502 ash::WALLPAPER_LAYOUT_CENTER_CROPPED, | 502 ash::WALLPAPER_LAYOUT_CENTER_CROPPED, |
503 ash::kSmallWallpaperMaxWidth, | 503 ash::kSmallWallpaperMaxWidth, |
504 ash::kSmallWallpaperMaxHeight); | 504 ash::kSmallWallpaperMaxHeight); |
505 } else { | 505 } else { |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
621 } else { | 621 } else { |
622 SendResponse(true); | 622 SendResponse(true); |
623 } | 623 } |
624 } | 624 } |
625 | 625 |
626 void WallpaperPrivateSetCustomWallpaperFunction::GenerateThumbnail( | 626 void WallpaperPrivateSetCustomWallpaperFunction::GenerateThumbnail( |
627 const base::FilePath& thumbnail_path, scoped_ptr<gfx::ImageSkia> image) { | 627 const base::FilePath& thumbnail_path, scoped_ptr<gfx::ImageSkia> image) { |
628 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( | 628 DCHECK(BrowserThread::GetBlockingPool()->IsRunningSequenceOnCurrentThread( |
629 sequence_token_)); | 629 sequence_token_)); |
630 chromeos::UserImage wallpaper(*image.get()); | 630 chromeos::UserImage wallpaper(*image.get()); |
631 if (!file_util::PathExists(thumbnail_path.DirName())) | 631 if (!base::PathExists(thumbnail_path.DirName())) |
632 file_util::CreateDirectory(thumbnail_path.DirName()); | 632 file_util::CreateDirectory(thumbnail_path.DirName()); |
633 | 633 |
634 scoped_refptr<base::RefCountedBytes> data; | 634 scoped_refptr<base::RefCountedBytes> data; |
635 chromeos::WallpaperManager::Get()->ResizeWallpaper( | 635 chromeos::WallpaperManager::Get()->ResizeWallpaper( |
636 wallpaper, | 636 wallpaper, |
637 ash::WALLPAPER_LAYOUT_STRETCH, | 637 ash::WALLPAPER_LAYOUT_STRETCH, |
638 ash::kWallpaperThumbnailWidth, | 638 ash::kWallpaperThumbnailWidth, |
639 ash::kWallpaperThumbnailHeight, | 639 ash::kWallpaperThumbnailHeight, |
640 &data); | 640 &data); |
641 BrowserThread::PostTask( | 641 BrowserThread::PostTask( |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
911 this, file_list)); | 911 this, file_list)); |
912 } | 912 } |
913 | 913 |
914 void WallpaperPrivateGetOfflineWallpaperListFunction::OnComplete( | 914 void WallpaperPrivateGetOfflineWallpaperListFunction::OnComplete( |
915 const std::vector<std::string>& file_list) { | 915 const std::vector<std::string>& file_list) { |
916 ListValue* results = new ListValue(); | 916 ListValue* results = new ListValue(); |
917 results->AppendStrings(file_list); | 917 results->AppendStrings(file_list); |
918 SetResult(results); | 918 SetResult(results); |
919 SendResponse(true); | 919 SendResponse(true); |
920 } | 920 } |
OLD | NEW |