Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6413)

Unified Diff: chrome/browser/ui/webui/ntp/app_launcher_handler.cc

Issue 11953021: Don't show the apps page on the NTP if the app launcher is installed. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make shouldShowApps a pref Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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() {

Powered by Google App Engine
This is Rietveld 408576698