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

Unified Diff: chrome/browser/resources/ntp4/new_tab.js

Issue 7776001: ntp4: improved app install, try 2 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove #app-id altogether Created 9 years, 4 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/resources/ntp4/new_tab.js
diff --git a/chrome/browser/resources/ntp4/new_tab.js b/chrome/browser/resources/ntp4/new_tab.js
index df176032abc0cfbf2bcb33893f356f5d0b61b31e..f3faefb3f81e066b06372ade3555c6c9846ae887 100644
--- a/chrome/browser/resources/ntp4/new_tab.js
+++ b/chrome/browser/resources/ntp4/new_tab.js
@@ -137,10 +137,6 @@ cr.define('ntp4', function() {
shownPage = templateData['shown_page_type'];
shownPageIndex = templateData['shown_page_index'];
- // When a new app has been installed, we will be opened with a hash value
- // that corresponds to the new app ID.
- highlightAppId = getAndClearAppIDHash();
-
// Request data on the apps so we can fill them in.
// Note that this is kicked off asynchronously. 'getAppsCallback' will be
// invoked at some point after this function returns.
@@ -234,23 +230,6 @@ cr.define('ntp4', function() {
}
/**
- * Gets the app ID stored in the hash of the URL, and resets the hash to
- * empty. If there is not an app-id in the hash, does nothing.
- * @return {String} The value of the app-id query string parameter.
- */
- function getAndClearAppIDHash() {
- var hash = location.hash;
- if (hash.indexOf('#app-id=') == 0) {
- var appID = hash.split('=')[1];
- // Clear the hash so if the user bookmarks this page, they'll just get
- // chrome://newtab/.
- window.history.replaceState({}, '', '/');
- return appID;
- }
- return '';
- }
-
- /**
* Callback invoked by chrome with the apps available.
*
* Note that calls to this function can occur at any time, not just in
@@ -318,12 +297,10 @@ cr.define('ntp4', function() {
assert(appsPages.length == origPageCount + 1, 'expected new page');
}
- if (app.id == highlightAppId) {
+ if (app.id == highlightAppId)
highlightApp = app;
- highlightAppId = null;
- } else {
+ else
appsPages[pageIndex].appendApp(app);
- }
}
ntp4.AppsPage.setPromo(data.showPromo ? data : null);
@@ -347,11 +324,10 @@ cr.define('ntp4', function() {
* app.
*/
function appAdded(app, opt_highlight) {
- // If the page is already open when a new app is installed, the hash will
- // be set once again.
- var appID = getAndClearAppIDHash();
- if (appID == app.id)
+ if (app.id == highlightAppId) {
opt_highlight = true;
+ highlightAppId = null;
+ }
var pageIndex = app.page_index || 0;
@@ -363,9 +339,15 @@ cr.define('ntp4', function() {
}
var page = appsPages[pageIndex];
- if (opt_highlight)
- cardSlider.selectCardByValue(page);
- page.appendApp(app, true);
+ page.appendApp(app, opt_highlight);
+ }
+
+ /**
+ * Sets that an app should be highlighted if it is added. Called right before
+ * appAdded for new installs.
+ */
+ function setAppToBeHighlighted(appId) {
+ highlightAppId = appId;
}
/**
@@ -775,6 +757,7 @@ cr.define('ntp4', function() {
isRTL: isRTL,
leaveRearrangeMode: leaveRearrangeMode,
saveAppPageName: saveAppPageName,
+ setAppToBeHighlighted: setAppToBeHighlighted,
setBookmarksData: setBookmarksData,
setMostVisitedPages: setMostVisitedPages,
setRecentlyClosedTabs: setRecentlyClosedTabs,

Powered by Google App Engine
This is Rietveld 408576698