OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/ui/webui/ntp/app_launcher_handler.h" | 5 #include "chrome/browser/ui/webui/ntp/app_launcher_handler.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 NOTREACHED(); | 332 NOTREACHED(); |
333 } | 333 } |
334 } | 334 } |
335 | 335 |
336 void AppLauncherHandler::OnExtensionLoaded( | 336 void AppLauncherHandler::OnExtensionLoaded( |
337 content::BrowserContext* browser_context, | 337 content::BrowserContext* browser_context, |
338 const Extension* extension) { | 338 const Extension* extension) { |
339 if (!ShouldShow(extension)) | 339 if (!ShouldShow(extension)) |
340 return; | 340 return; |
341 | 341 |
342 scoped_ptr<base::DictionaryValue> app_info(GetAppInfo(extension)); | 342 std::unique_ptr<base::DictionaryValue> app_info(GetAppInfo(extension)); |
343 if (!app_info.get()) | 343 if (!app_info.get()) |
344 return; | 344 return; |
345 | 345 |
346 visible_apps_.insert(extension->id()); | 346 visible_apps_.insert(extension->id()); |
347 ExtensionPrefs* prefs = ExtensionPrefs::Get(extension_service_->profile()); | 347 ExtensionPrefs* prefs = ExtensionPrefs::Get(extension_service_->profile()); |
348 base::FundamentalValue highlight(prefs->IsFromBookmark(extension->id()) && | 348 base::FundamentalValue highlight(prefs->IsFromBookmark(extension->id()) && |
349 attempted_bookmark_app_install_); | 349 attempted_bookmark_app_install_); |
350 attempted_bookmark_app_install_ = false; | 350 attempted_bookmark_app_install_ = false; |
351 web_ui()->CallJavascriptFunction("ntp.appAdded", *app_info, highlight); | 351 web_ui()->CallJavascriptFunction("ntp.appAdded", *app_info, highlight); |
352 } | 352 } |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 | 712 |
713 Profile* profile = Profile::FromWebUI(web_ui()); | 713 Profile* profile = Profile::FromWebUI(web_ui()); |
714 favicon::FaviconService* favicon_service = | 714 favicon::FaviconService* favicon_service = |
715 FaviconServiceFactory::GetForProfile(profile, | 715 FaviconServiceFactory::GetForProfile(profile, |
716 ServiceAccessType::EXPLICIT_ACCESS); | 716 ServiceAccessType::EXPLICIT_ACCESS); |
717 if (!favicon_service) { | 717 if (!favicon_service) { |
718 LOG(ERROR) << "No favicon service"; | 718 LOG(ERROR) << "No favicon service"; |
719 return; | 719 return; |
720 } | 720 } |
721 | 721 |
722 scoped_ptr<AppInstallInfo> install_info(new AppInstallInfo()); | 722 std::unique_ptr<AppInstallInfo> install_info(new AppInstallInfo()); |
723 install_info->title = title; | 723 install_info->title = title; |
724 install_info->app_url = launch_url; | 724 install_info->app_url = launch_url; |
725 install_info->page_ordinal = page_ordinal; | 725 install_info->page_ordinal = page_ordinal; |
726 | 726 |
727 favicon_service->GetFaviconImageForPageURL( | 727 favicon_service->GetFaviconImageForPageURL( |
728 launch_url, | 728 launch_url, |
729 base::Bind(&AppLauncherHandler::OnFaviconForApp, | 729 base::Bind(&AppLauncherHandler::OnFaviconForApp, |
730 base::Unretained(this), | 730 base::Unretained(this), |
731 base::Passed(&install_info)), | 731 base::Passed(&install_info)), |
732 &cancelable_task_tracker_); | 732 &cancelable_task_tracker_); |
(...skipping 15 matching lines...) Expand all Loading... |
748 void AppLauncherHandler::HandlePageSelected(const base::ListValue* args) { | 748 void AppLauncherHandler::HandlePageSelected(const base::ListValue* args) { |
749 double index_double; | 749 double index_double; |
750 CHECK(args->GetDouble(0, &index_double)); | 750 CHECK(args->GetDouble(0, &index_double)); |
751 int index = static_cast<int>(index_double); | 751 int index = static_cast<int>(index_double); |
752 | 752 |
753 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); | 753 PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
754 prefs->SetInteger(prefs::kNtpShownPage, APPS_PAGE_ID | index); | 754 prefs->SetInteger(prefs::kNtpShownPage, APPS_PAGE_ID | index); |
755 } | 755 } |
756 | 756 |
757 void AppLauncherHandler::OnFaviconForApp( | 757 void AppLauncherHandler::OnFaviconForApp( |
758 scoped_ptr<AppInstallInfo> install_info, | 758 std::unique_ptr<AppInstallInfo> install_info, |
759 const favicon_base::FaviconImageResult& image_result) { | 759 const favicon_base::FaviconImageResult& image_result) { |
760 scoped_ptr<WebApplicationInfo> web_app(new WebApplicationInfo()); | 760 std::unique_ptr<WebApplicationInfo> web_app(new WebApplicationInfo()); |
761 web_app->title = install_info->title; | 761 web_app->title = install_info->title; |
762 web_app->app_url = install_info->app_url; | 762 web_app->app_url = install_info->app_url; |
763 | 763 |
764 if (!image_result.image.IsEmpty()) { | 764 if (!image_result.image.IsEmpty()) { |
765 WebApplicationInfo::IconInfo icon; | 765 WebApplicationInfo::IconInfo icon; |
766 icon.data = image_result.image.AsBitmap(); | 766 icon.data = image_result.image.AsBitmap(); |
767 icon.width = icon.data.width(); | 767 icon.width = icon.data.width(); |
768 icon.height = icon.data.height(); | 768 icon.height = icon.data.height(); |
769 web_app->icons.push_back(icon); | 769 web_app->icons.push_back(icon); |
770 } | 770 } |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
863 this)); | 863 this)); |
864 } | 864 } |
865 return extension_uninstall_dialog_.get(); | 865 return extension_uninstall_dialog_.get(); |
866 } | 866 } |
867 | 867 |
868 void AppLauncherHandler::AppRemoved(const Extension* extension, | 868 void AppLauncherHandler::AppRemoved(const Extension* extension, |
869 bool is_uninstall) { | 869 bool is_uninstall) { |
870 if (!ShouldShow(extension)) | 870 if (!ShouldShow(extension)) |
871 return; | 871 return; |
872 | 872 |
873 scoped_ptr<base::DictionaryValue> app_info(GetAppInfo(extension)); | 873 std::unique_ptr<base::DictionaryValue> app_info(GetAppInfo(extension)); |
874 if (!app_info.get()) | 874 if (!app_info.get()) |
875 return; | 875 return; |
876 | 876 |
877 web_ui()->CallJavascriptFunction( | 877 web_ui()->CallJavascriptFunction( |
878 "ntp.appRemoved", *app_info, base::FundamentalValue(is_uninstall), | 878 "ntp.appRemoved", *app_info, base::FundamentalValue(is_uninstall), |
879 base::FundamentalValue(!extension_id_prompting_.empty())); | 879 base::FundamentalValue(!extension_id_prompting_.empty())); |
880 } | 880 } |
881 | 881 |
882 bool AppLauncherHandler::ShouldShow(const Extension* extension) const { | 882 bool AppLauncherHandler::ShouldShow(const Extension* extension) const { |
883 if (ignore_changes_ || !has_loaded_apps_ || !extension->is_app()) | 883 if (ignore_changes_ || !has_loaded_apps_ || !extension->is_app()) |
884 return false; | 884 return false; |
885 | 885 |
886 Profile* profile = Profile::FromWebUI(web_ui()); | 886 Profile* profile = Profile::FromWebUI(web_ui()); |
887 return extensions::ui_util::ShouldDisplayInNewTabPage(extension, profile); | 887 return extensions::ui_util::ShouldDisplayInNewTabPage(extension, profile); |
888 } | 888 } |
OLD | NEW |