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())); |