| Index: chrome/browser/dom_ui/app_launcher_handler.cc
|
| diff --git a/chrome/browser/dom_ui/app_launcher_handler.cc b/chrome/browser/dom_ui/app_launcher_handler.cc
|
| index 9c867d1b214c7d9016f07992c3d73e8dcb16ed46..e83475474796ff2d8331849681c45685c3a219f2 100644
|
| --- a/chrome/browser/dom_ui/app_launcher_handler.cc
|
| +++ b/chrome/browser/dom_ui/app_launcher_handler.cc
|
| @@ -12,9 +12,11 @@
|
| #include "chrome/browser/app_launched_animation.h"
|
| #include "chrome/browser/browser.h"
|
| #include "chrome/browser/browser_list.h"
|
| +#include "chrome/browser/extensions/default_apps.h"
|
| #include "chrome/browser/extensions/extension_prefs.h"
|
| #include "chrome/browser/extensions/extensions_service.h"
|
| #include "chrome/browser/platform_util.h"
|
| +#include "chrome/browser/profile.h"
|
| #include "chrome/browser/tab_contents/tab_contents.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/extensions/extension.h"
|
| @@ -73,6 +75,8 @@ void AppLauncherHandler::RegisterMessages() {
|
| NewCallback(this, &AppLauncherHandler::HandleSetLaunchType));
|
| dom_ui_->RegisterMessageCallback("uninstallApp",
|
| NewCallback(this, &AppLauncherHandler::HandleUninstallApp));
|
| + dom_ui_->RegisterMessageCallback("hideAppsPromo",
|
| + NewCallback(this, &AppLauncherHandler::HandleHideAppsPromo));
|
| }
|
|
|
| void AppLauncherHandler::Observe(NotificationType type,
|
| @@ -133,6 +137,14 @@ void AppLauncherHandler::FillAppDictionary(DictionaryValue* dictionary) {
|
| }
|
| }
|
| dictionary->Set("apps", list);
|
| +
|
| + DefaultApps* default_apps = extensions_service_->default_apps();
|
| + if (default_apps->ShouldShowPromo(extensions_service_->GetAppIds())) {
|
| + dictionary->SetBoolean("showPromo", true);
|
| + default_apps->DidShowPromo();
|
| + } else {
|
| + dictionary->SetBoolean("showPromo", false);
|
| + }
|
| }
|
|
|
| void AppLauncherHandler::HandleGetApps(const ListValue* args) {
|
| @@ -245,6 +257,10 @@ void AppLauncherHandler::HandleUninstallApp(const ListValue* args) {
|
| GetExtensionInstallUI()->ConfirmUninstall(this, extension);
|
| }
|
|
|
| +void AppLauncherHandler::HandleHideAppsPromo(const ListValue* args) {
|
| + extensions_service_->default_apps()->SetPromoHidden();
|
| +}
|
| +
|
| ExtensionInstallUI* AppLauncherHandler::GetExtensionInstallUI() {
|
| if (!install_ui_.get())
|
| install_ui_.reset(new ExtensionInstallUI(dom_ui_->GetProfile()));
|
|
|