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 <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 30 matching lines...) Expand all Loading... |
41 #include "extensions/browser/event_router.h" | 41 #include "extensions/browser/event_router.h" |
42 #include "grit/components_strings.h" | 42 #include "grit/components_strings.h" |
43 #include "ui/base/l10n/l10n_util.h" | 43 #include "ui/base/l10n/l10n_util.h" |
44 #include "ui/base/webui/web_ui_util.h" | 44 #include "ui/base/webui/web_ui_util.h" |
45 #include "ui/strings/grit/app_locale_settings.h" | 45 #include "ui/strings/grit/app_locale_settings.h" |
46 #include "url/gurl.h" | 46 #include "url/gurl.h" |
47 | 47 |
48 using base::BinaryValue; | 48 using base::BinaryValue; |
49 using content::BrowserThread; | 49 using content::BrowserThread; |
50 | 50 |
| 51 namespace wallpaper_base = extensions::api::wallpaper; |
51 namespace wallpaper_private = extensions::api::wallpaper_private; | 52 namespace wallpaper_private = extensions::api::wallpaper_private; |
52 namespace set_wallpaper_if_exists = wallpaper_private::SetWallpaperIfExists; | 53 namespace set_wallpaper_if_exists = wallpaper_private::SetWallpaperIfExists; |
53 namespace set_wallpaper = wallpaper_private::SetWallpaper; | 54 namespace set_wallpaper = wallpaper_private::SetWallpaper; |
54 namespace set_custom_wallpaper = wallpaper_private::SetCustomWallpaper; | 55 namespace set_custom_wallpaper = wallpaper_private::SetCustomWallpaper; |
55 namespace set_custom_wallpaper_layout = | 56 namespace set_custom_wallpaper_layout = |
56 wallpaper_private::SetCustomWallpaperLayout; | 57 wallpaper_private::SetCustomWallpaperLayout; |
57 namespace get_thumbnail = wallpaper_private::GetThumbnail; | 58 namespace get_thumbnail = wallpaper_private::GetThumbnail; |
58 namespace save_thumbnail = wallpaper_private::SaveThumbnail; | 59 namespace save_thumbnail = wallpaper_private::SaveThumbnail; |
59 namespace get_offline_wallpaper_list = | 60 namespace get_offline_wallpaper_list = |
60 wallpaper_private::GetOfflineWallpaperList; | 61 wallpaper_private::GetOfflineWallpaperList; |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 | 355 |
355 base::FilePath wallpaper_path; | 356 base::FilePath wallpaper_path; |
356 base::FilePath fallback_path; | 357 base::FilePath fallback_path; |
357 chromeos::WallpaperManager::WallpaperResolution resolution = | 358 chromeos::WallpaperManager::WallpaperResolution resolution = |
358 chromeos::WallpaperManager::Get()->GetAppropriateResolution(); | 359 chromeos::WallpaperManager::Get()->GetAppropriateResolution(); |
359 | 360 |
360 std::string file_name = GURL(params->url).ExtractFileName(); | 361 std::string file_name = GURL(params->url).ExtractFileName(); |
361 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPERS, | 362 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPERS, |
362 &wallpaper_path)); | 363 &wallpaper_path)); |
363 fallback_path = wallpaper_path.Append(file_name); | 364 fallback_path = wallpaper_path.Append(file_name); |
364 if (params->layout != wallpaper_private::WALLPAPER_LAYOUT_STRETCH && | 365 if (params->layout != wallpaper_base::WALLPAPER_LAYOUT_STRETCH && |
365 resolution == chromeos::WallpaperManager::WALLPAPER_RESOLUTION_SMALL) { | 366 resolution == chromeos::WallpaperManager::WALLPAPER_RESOLUTION_SMALL) { |
366 file_name = base::FilePath(file_name) | 367 file_name = base::FilePath(file_name) |
367 .InsertBeforeExtension(wallpaper::kSmallWallpaperSuffix) | 368 .InsertBeforeExtension(wallpaper::kSmallWallpaperSuffix) |
368 .value(); | 369 .value(); |
369 } | 370 } |
370 wallpaper_path = wallpaper_path.Append(file_name); | 371 wallpaper_path = wallpaper_path.Append(file_name); |
371 | 372 |
372 sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( | 373 sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( |
373 wallpaper::kWallpaperSequenceTokenName); | 374 wallpaper::kWallpaperSequenceTokenName); |
374 scoped_refptr<base::SequencedTaskRunner> task_runner = | 375 scoped_refptr<base::SequencedTaskRunner> task_runner = |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
413 } | 414 } |
414 | 415 |
415 void WallpaperPrivateSetWallpaperIfExistsFunction::OnWallpaperDecoded( | 416 void WallpaperPrivateSetWallpaperIfExistsFunction::OnWallpaperDecoded( |
416 const gfx::ImageSkia& image) { | 417 const gfx::ImageSkia& image) { |
417 // Set unsafe_wallpaper_decoder_ to null since the decoding already finished. | 418 // Set unsafe_wallpaper_decoder_ to null since the decoding already finished. |
418 unsafe_wallpaper_decoder_ = NULL; | 419 unsafe_wallpaper_decoder_ = NULL; |
419 | 420 |
420 chromeos::WallpaperManager* wallpaper_manager = | 421 chromeos::WallpaperManager* wallpaper_manager = |
421 chromeos::WallpaperManager::Get(); | 422 chromeos::WallpaperManager::Get(); |
422 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( | 423 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( |
423 wallpaper_private::ToString(params->layout)); | 424 wallpaper_base::ToString(params->layout)); |
424 | 425 |
425 bool update_wallpaper = | 426 bool update_wallpaper = |
426 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); | 427 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); |
427 wallpaper_manager->SetWallpaperFromImageSkia( | 428 wallpaper_manager->SetWallpaperFromImageSkia( |
428 user_id_, image, layout, update_wallpaper); | 429 user_id_, image, layout, update_wallpaper); |
429 bool is_persistent = !user_manager::UserManager::Get() | 430 bool is_persistent = !user_manager::UserManager::Get() |
430 ->IsCurrentUserNonCryptohomeDataEphemeral(); | 431 ->IsCurrentUserNonCryptohomeDataEphemeral(); |
431 wallpaper::WallpaperInfo info = {params->url, | 432 wallpaper::WallpaperInfo info = {params->url, |
432 layout, | 433 layout, |
433 user_manager::User::ONLINE, | 434 user_manager::User::ONLINE, |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 this, error)); | 524 this, error)); |
524 } | 525 } |
525 } | 526 } |
526 | 527 |
527 void WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper( | 528 void WallpaperPrivateSetWallpaperFunction::SetDecodedWallpaper( |
528 scoped_ptr<gfx::ImageSkia> image) { | 529 scoped_ptr<gfx::ImageSkia> image) { |
529 chromeos::WallpaperManager* wallpaper_manager = | 530 chromeos::WallpaperManager* wallpaper_manager = |
530 chromeos::WallpaperManager::Get(); | 531 chromeos::WallpaperManager::Get(); |
531 | 532 |
532 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( | 533 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( |
533 wallpaper_private::ToString(params->layout)); | 534 wallpaper_base::ToString(params->layout)); |
534 | 535 |
535 bool update_wallpaper = | 536 bool update_wallpaper = |
536 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); | 537 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); |
537 wallpaper_manager->SetWallpaperFromImageSkia( | 538 wallpaper_manager->SetWallpaperFromImageSkia( |
538 user_id_, *image.get(), layout, update_wallpaper); | 539 user_id_, *image.get(), layout, update_wallpaper); |
539 | 540 |
540 bool is_persistent = !user_manager::UserManager::Get() | 541 bool is_persistent = !user_manager::UserManager::Get() |
541 ->IsCurrentUserNonCryptohomeDataEphemeral(); | 542 ->IsCurrentUserNonCryptohomeDataEphemeral(); |
542 wallpaper::WallpaperInfo info = {params->url, | 543 wallpaper::WallpaperInfo info = {params->url, |
543 layout, | 544 layout, |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 wallpaper::kThumbnailWallpaperSubDir, user_id_hash_, params->file_name); | 614 wallpaper::kThumbnailWallpaperSubDir, user_id_hash_, params->file_name); |
614 | 615 |
615 sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( | 616 sequence_token_ = BrowserThread::GetBlockingPool()->GetNamedSequenceToken( |
616 wallpaper::kWallpaperSequenceTokenName); | 617 wallpaper::kWallpaperSequenceTokenName); |
617 scoped_refptr<base::SequencedTaskRunner> task_runner = | 618 scoped_refptr<base::SequencedTaskRunner> task_runner = |
618 BrowserThread::GetBlockingPool()-> | 619 BrowserThread::GetBlockingPool()-> |
619 GetSequencedTaskRunnerWithShutdownBehavior(sequence_token_, | 620 GetSequencedTaskRunnerWithShutdownBehavior(sequence_token_, |
620 base::SequencedWorkerPool::BLOCK_SHUTDOWN); | 621 base::SequencedWorkerPool::BLOCK_SHUTDOWN); |
621 | 622 |
622 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( | 623 wallpaper::WallpaperLayout layout = wallpaper_api_util::GetLayoutEnum( |
623 wallpaper_private::ToString(params->layout)); | 624 wallpaper_base::ToString(params->layout)); |
624 | 625 |
625 bool update_wallpaper = | 626 bool update_wallpaper = |
626 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); | 627 user_id_ == user_manager::UserManager::Get()->GetActiveUser()->email(); |
627 wallpaper_manager->SetCustomWallpaper(user_id_, | 628 wallpaper_manager->SetCustomWallpaper(user_id_, |
628 user_id_hash_, | 629 user_id_hash_, |
629 params->file_name, | 630 params->file_name, |
630 layout, | 631 layout, |
631 user_manager::User::CUSTOMIZED, | 632 user_manager::User::CUSTOMIZED, |
632 image, | 633 image, |
633 update_wallpaper); | 634 update_wallpaper); |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 chromeos::WallpaperManager* wallpaper_manager = | 696 chromeos::WallpaperManager* wallpaper_manager = |
696 chromeos::WallpaperManager::Get(); | 697 chromeos::WallpaperManager::Get(); |
697 wallpaper::WallpaperInfo info; | 698 wallpaper::WallpaperInfo info; |
698 wallpaper_manager->GetLoggedInUserWallpaperInfo(&info); | 699 wallpaper_manager->GetLoggedInUserWallpaperInfo(&info); |
699 if (info.type != user_manager::User::CUSTOMIZED) { | 700 if (info.type != user_manager::User::CUSTOMIZED) { |
700 SetError("Only custom wallpaper can change layout."); | 701 SetError("Only custom wallpaper can change layout."); |
701 SendResponse(false); | 702 SendResponse(false); |
702 return false; | 703 return false; |
703 } | 704 } |
704 info.layout = wallpaper_api_util::GetLayoutEnum( | 705 info.layout = wallpaper_api_util::GetLayoutEnum( |
705 wallpaper_private::ToString(params->layout)); | 706 wallpaper_base::ToString(params->layout)); |
706 | 707 |
707 std::string email = | 708 std::string email = |
708 user_manager::UserManager::Get()->GetActiveUser()->email(); | 709 user_manager::UserManager::Get()->GetActiveUser()->email(); |
709 bool is_persistent = !user_manager::UserManager::Get() | 710 bool is_persistent = !user_manager::UserManager::Get() |
710 ->IsCurrentUserNonCryptohomeDataEphemeral(); | 711 ->IsCurrentUserNonCryptohomeDataEphemeral(); |
711 wallpaper_manager->SetUserWallpaperInfo(email, info, is_persistent); | 712 wallpaper_manager->SetUserWallpaperInfo(email, info, is_persistent); |
712 wallpaper_manager->UpdateWallpaper(false /* clear_cache */); | 713 wallpaper_manager->UpdateWallpaper(false /* clear_cache */); |
713 SendResponse(true); | 714 SendResponse(true); |
714 | 715 |
715 // Gets email address while at UI thread. | 716 // Gets email address while at UI thread. |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
751 } | 752 } |
752 | 753 |
753 bool WallpaperPrivateGetThumbnailFunction::RunAsync() { | 754 bool WallpaperPrivateGetThumbnailFunction::RunAsync() { |
754 scoped_ptr<get_thumbnail::Params> params( | 755 scoped_ptr<get_thumbnail::Params> params( |
755 get_thumbnail::Params::Create(*args_)); | 756 get_thumbnail::Params::Create(*args_)); |
756 EXTENSION_FUNCTION_VALIDATE(params); | 757 EXTENSION_FUNCTION_VALIDATE(params); |
757 | 758 |
758 base::FilePath thumbnail_path; | 759 base::FilePath thumbnail_path; |
759 std::string email = | 760 std::string email = |
760 user_manager::UserManager::Get()->GetActiveUser()->email(); | 761 user_manager::UserManager::Get()->GetActiveUser()->email(); |
761 if (params->source == get_thumbnail::Params::SOURCE_ONLINE) { | 762 if (params->source == wallpaper_private::WALLPAPER_SOURCE_ONLINE) { |
762 std::string file_name = GURL(params->url_or_file).ExtractFileName(); | 763 std::string file_name = GURL(params->url_or_file).ExtractFileName(); |
763 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPER_THUMBNAILS, | 764 CHECK(PathService::Get(chrome::DIR_CHROMEOS_WALLPAPER_THUMBNAILS, |
764 &thumbnail_path)); | 765 &thumbnail_path)); |
765 thumbnail_path = thumbnail_path.Append(file_name); | 766 thumbnail_path = thumbnail_path.Append(file_name); |
766 } else { | 767 } else { |
767 if (!IsOEMDefaultWallpaper()) { | 768 if (!IsOEMDefaultWallpaper()) { |
768 SetError("No OEM wallpaper."); | 769 SetError("No OEM wallpaper."); |
769 SendResponse(false); | 770 SendResponse(false); |
770 return false; | 771 return false; |
771 } | 772 } |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
928 this, file_list)); | 929 this, file_list)); |
929 } | 930 } |
930 | 931 |
931 void WallpaperPrivateGetOfflineWallpaperListFunction::OnComplete( | 932 void WallpaperPrivateGetOfflineWallpaperListFunction::OnComplete( |
932 const std::vector<std::string>& file_list) { | 933 const std::vector<std::string>& file_list) { |
933 base::ListValue* results = new base::ListValue(); | 934 base::ListValue* results = new base::ListValue(); |
934 results->AppendStrings(file_list); | 935 results->AppendStrings(file_list); |
935 SetResult(results); | 936 SetResult(results); |
936 SendResponse(true); | 937 SendResponse(true); |
937 } | 938 } |
OLD | NEW |