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

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

Issue 8637001: [NTP4] Auto-deletion of empty apps panes. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removing bits for refactor Created 8 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.h
diff --git a/chrome/browser/ui/webui/ntp/app_launcher_handler.h b/chrome/browser/ui/webui/ntp/app_launcher_handler.h
index 4f32ad9b377e8bdb907e9595fd112bf8036eaea5..2c619402e80fa9cfe5d7b1a9c2575cb32f254bb8 100644
--- a/chrome/browser/ui/webui/ntp/app_launcher_handler.h
+++ b/chrome/browser/ui/webui/ntp/app_launcher_handler.h
@@ -23,6 +23,7 @@
class AppNotification;
class ExtensionService;
+class ExtensionSet;
class PrefChangeRegistrar;
class Profile;
@@ -54,6 +55,9 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
+ // Remove ordinals or page indices from legacy profiles.
+ void RemoveNonAppExtensionOrdinals(const ExtensionSet* extensions);
+
// Populate the given dictionary with all installed app info.
void FillAppDictionary(base::DictionaryValue* value);
@@ -65,6 +69,10 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
// Populate the given dictionary with the web store promo content.
void FillPromoDictionary(base::DictionaryValue* value);
+ // Callback for the "deleteAppsPage" message. Takes a page index as the first
+ // and only argument.
+ void HandleDeleteEmptyAppsPage(const base::ListValue* args);
+
// Callback for the "getApps" message.
void HandleGetApps(const base::ListValue* args);
@@ -92,8 +100,8 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
// Callback for the "promoSeen" message.
void HandlePromoSeen(const base::ListValue* args);
- // Callback for the "saveAppPageName" message.
- void HandleSaveAppPageName(const base::ListValue* args);
+ // Callback for the "saveAppsPageName" message.
+ void HandleSaveAppsPageName(const base::ListValue* args);
// Callback for the "generateAppForLink" message.
void HandleGenerateAppForLink(const base::ListValue* args);
@@ -123,6 +131,9 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
StringOrdinal page_ordinal;
};
+ // Reset some instance flags we use to track the currently uninstalling app.
+ void CleanupAfterUninstall();
+
// Records a web store launch in the appropriate histograms. |promo_active|
// specifies if the web store promotion was active.
static void RecordWebStoreLaunch(bool promo_active);
@@ -163,9 +174,17 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
void OnFaviconForApp(FaviconService::Handle handle,
history::FaviconData data);
+ // Ask all the apps which page they're on and return a sorted, unique list.
+ std::vector<std::string>* PageOrdinalsFromApps();
+
// Sends |highlight_app_id_| to the js.
void SetAppToBeHighlighted();
+ // Go over the existing preference we read from the profile and make sure
+ // every page ordinal is in it (and remove possible extras). Returns a bool
+ // telling the caller whether any values were changed in this method.
+ bool SyncPageNamesToApps(DictionaryValue* page_names);
+
// The apps are represented in the extensions model, which
// outlives us since it's owned by our containing profile.
ExtensionService* const extension_service_;
@@ -202,6 +221,11 @@ class AppLauncherHandler : public content::WebUIMessageHandler,
// when the app is added to the page (via getAppsCallback or appAdded).
std::string highlight_app_id_;
+ // Used to determine if the current instance of AppLauncherHandler called
+ // ExtensionUninstallAccepted(). If the current one was the one that called
+ // this, we use this value to animate the removal on the attached NTP.
+ bool uninstall_from_page_;
+
// Hold state for favicon requests.
CancelableRequestConsumerTSimple<AppInstallInfo*> favicon_consumer_;
« no previous file with comments | « chrome/browser/resources/shared/js/cr/ui/card_slider.js ('k') | chrome/browser/ui/webui/ntp/app_launcher_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698