Chromium Code Reviews| Index: chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| index 37776021fd2801686dd4a596748d8782ea1aff32..a7082f8b77e9eaac9a4ae4c51feeab217819bc7e 100644 |
| --- a/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| +++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.cc |
| @@ -14,6 +14,7 @@ |
| #include "base/metrics/histogram.h" |
| #include "base/utf_string_conversions.h" |
| #include "base/values.h" |
| +#include "chrome/browser/extensions/app_launcher.h" |
| #include "chrome/browser/extensions/app_notification.h" |
| #include "chrome/browser/extensions/app_notification_manager.h" |
| #include "chrome/browser/extensions/crx_installer.h" |
| @@ -63,6 +64,29 @@ using extensions::ExtensionPrefs; |
| const net::UnescapeRule::Type kUnescapeRules = |
| net::UnescapeRule::NORMAL | net::UnescapeRule::URL_SPECIAL_CHARS; |
| +AppsPagePresenceHandler::AppsPagePresenceHandler() {} |
| + |
| +AppsPagePresenceHandler::~AppsPagePresenceHandler() {} |
| + |
| +void AppsPagePresenceHandler::RegisterMessages() { |
| + web_ui()->RegisterMessageCallback("getShouldShowApps", |
| + base::Bind(&AppsPagePresenceHandler::HandleGetShouldShowApps, |
| + base::Unretained(this))); |
| +} |
| + |
| +void AppsPagePresenceHandler::HandleGetShouldShowApps(const ListValue* args) { |
| + extensions::GetIsAppLauncherEnabled( |
| + base::Bind(&AppsPagePresenceHandler::GotIsAppLauncherEnabled, |
| + base::Unretained(this))); |
| +} |
| + |
| +void AppsPagePresenceHandler::GotIsAppLauncherEnabled(bool is_enabled) { |
| + PrefService* prefs = Profile::FromWebUI(web_ui())->GetPrefs(); |
| + prefs->SetBoolean(prefs::kNtpShouldShowAppsPage, !is_enabled); |
| + base::FundamentalValue should_show_apps(!is_enabled); |
| + web_ui()->CallJavascriptFunction("ntp.gotShouldShowApps", should_show_apps); |
| +} |
| + |
| AppLauncherHandler::AppInstallInfo::AppInstallInfo() {} |
| AppLauncherHandler::AppInstallInfo::~AppInstallInfo() {} |
| @@ -779,6 +803,9 @@ void AppLauncherHandler::OnPreferenceChanged() { |
| void AppLauncherHandler::RegisterUserPrefs(PrefServiceSyncable* pref_service) { |
| pref_service->RegisterListPref(prefs::kNtpAppPageNames, |
| PrefServiceSyncable::SYNCABLE_PREF); |
| + pref_service->RegisterBooleanPref(prefs::kNtpShouldShowAppsPage, |
| + true, |
|
Evan Stade
2013/01/23 23:34:24
shouldn't this default to NewTabUI::ShouldShowApps
jeremya
2013/01/24 02:40:04
It should probably default to the result of just t
|
| + PrefServiceSyncable::UNSYNCABLE_PREF); |
| } |
| void AppLauncherHandler::CleanupAfterUninstall() { |