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

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

Issue 8423055: [Aura] Initial app list webui. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix chromeos bot compilation error Created 9 years, 1 month 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
« no previous file with comments | « chrome/browser/resources/ntp4/new_tab.html ('k') | chrome/browser/resources/ntp4/new_tab_init.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 981476b0de196da0602a2ae280859b4947626b68..039e3c83954f18519c875c51d1d081c1de68818a 100644
--- a/chrome/browser/resources/ntp4/new_tab.js
+++ b/chrome/browser/resources/ntp4/new_tab.js
@@ -146,9 +146,10 @@ cr.define('ntp4', function() {
var DEFAULT_TRANSITION_TIME = 500;
/**
- * Invoked at startup once the DOM is available to initialize the app.
+ * Sets up the app using given config.
+ * @param {Object} config Config object.
*/
- function initialize() {
+ function setup(config) {
cr.enablePlatformSpecificCSSRules();
// Load the current theme colors.
@@ -162,8 +163,8 @@ cr.define('ntp4', function() {
trash = getRequiredElement('trash');
new ntp4.Trash(trash);
- shownPage = templateData['shown_page_type'];
- shownPageIndex = templateData['shown_page_index'];
+ shownPage = config.shownPage;
+ shownPageIndex = config.shownPageIndex;
// Request data on the apps so we can fill them in.
// Note that this is kicked off asynchronously. 'getAppsCallback' will be
@@ -179,14 +180,18 @@ cr.define('ntp4', function() {
tilePages = pageList.getElementsByClassName('tile-page');
appsPages = pageList.getElementsByClassName('apps-page');
- pageSwitcherStart = getRequiredElement('page-switcher-start');
- ntp4.initializePageSwitcher(pageSwitcherStart);
- pageSwitcherEnd = getRequiredElement('page-switcher-end');
- ntp4.initializePageSwitcher(pageSwitcherEnd);
+ if (config.supportsPageSwitchers) {
Evan Stade 2011/11/03 16:42:14 this seems like a heck of a lot of if configs, esp
+ pageSwitcherStart = getRequiredElement('page-switcher-start');
+ ntp4.initializePageSwitcher(pageSwitcherStart);
+ pageSwitcherEnd = getRequiredElement('page-switcher-end');
+ ntp4.initializePageSwitcher(pageSwitcherEnd);
+ }
- notificationContainer = getRequiredElement('notification-container');
- notificationContainer.addEventListener(
- 'webkitTransitionEnd', onNotificationTransitionEnd);
+ if (config.supportsNotification) {
+ notificationContainer = getRequiredElement('notification-container');
+ notificationContainer.addEventListener(
+ 'webkitTransitionEnd', onNotificationTransitionEnd);
+ }
// Initialize the cardSlider without any cards at the moment
var sliderFrame = getRequiredElement('card-slider-frame');
@@ -204,13 +209,17 @@ cr.define('ntp4', function() {
CardSlider.EventType.CARD_CHANGED,
cardChangedHandler);
- cr.ui.decorate($('recently-closed-menu-button'), ntp4.RecentMenuButton);
- chrome.send('getRecentlyClosedTabs');
+ if (config.supportsRecentlyClosed) {
+ cr.ui.decorate($('recently-closed-menu-button'), ntp4.RecentMenuButton);
+ chrome.send('getRecentlyClosedTabs');
+ }
- mostVisitedPage = new ntp4.MostVisitedPage();
- appendTilePage(mostVisitedPage, localStrings.getString('mostvisited'),
- false);
- chrome.send('getMostVisited');
+ if (config.supportsMostVisited) {
+ mostVisitedPage = new ntp4.MostVisitedPage();
+ appendTilePage(mostVisitedPage, localStrings.getString('mostvisited'),
+ false);
+ chrome.send('getMostVisited');
+ }
if (localStrings.getString('login_status_message')) {
Evan Stade 2011/11/03 16:42:14 seems this should also be toggled by supportsSyncL
loginBubble = new cr.ui.Bubble;
@@ -260,8 +269,7 @@ cr.define('ntp4', function() {
infoBubble.show();
}
- var bookmarkFeatures = localStrings.getString('bookmark_features');
- if (bookmarkFeatures == 'true') {
+ if (config.supportsBookmarks) {
bookmarksPage = new ntp4.BookmarksPage();
appendTilePage(bookmarksPage, localStrings.getString('bookmarksPage'),
false);
@@ -276,13 +284,15 @@ cr.define('ntp4', function() {
chrome.send('notificationPromoViewed');
}
- var loginContainer = getRequiredElement('login-container');
- loginContainer.addEventListener('click', function() {
- var rect = loginContainer.getBoundingClientRect();
- chrome.send('showSyncLoginUI',
- [rect.left, rect.top, rect.width, rect.height]);
- });
- chrome.send('initializeSyncLogin');
+ if (config.supportsSyncLogin) {
+ var loginContainer = getRequiredElement('login-container');
+ loginContainer.addEventListener('click', function() {
+ var rect = loginContainer.getBoundingClientRect();
+ chrome.send('showSyncLoginUI',
+ [rect.left, rect.top, rect.width, rect.height]);
+ });
+ chrome.send('initializeSyncLogin');
+ }
}
/**
@@ -711,6 +721,9 @@ cr.define('ntp4', function() {
* layout of the current card.
*/
function updatePageSwitchers() {
+ if (!pageSwitcherStart || !pageSwitcherEnd)
+ return;
+
var page = cardSlider.currentCardValue;
pageSwitcherStart.hidden = !page || (cardSlider.currentCard == 0);
@@ -748,7 +761,11 @@ cr.define('ntp4', function() {
// TODO(estade): rename newtab.css to new_tab_theme.css
function themeChanged(hasAttribution) {
- $('themecss').href = 'chrome://theme/css/newtab.css?' + Date.now();
+ var themecss = $('themecss');
+ if (!themecss)
+ return;
+
+ themecss.href = 'chrome://theme/css/newtab.css?' + Date.now();
if (typeof hasAttribution != 'undefined')
document.documentElement.setAttribute('hasattribution', hasAttribution);
updateLogo();
@@ -998,7 +1015,6 @@ cr.define('ntp4', function() {
getAppsCallback: getAppsCallback,
getAppsPageIndex: getAppsPageIndex,
getCardSlider: getCardSlider,
- initialize: initialize,
isRTL: isRTL,
leaveRearrangeMode: leaveRearrangeMode,
saveAppPageName: saveAppPageName,
@@ -1007,6 +1023,7 @@ cr.define('ntp4', function() {
setMostVisitedPages: setMostVisitedPages,
setRecentlyClosedTabs: setRecentlyClosedTabs,
setStripeColor: setStripeColor,
+ setup: setup,
showNotification: showNotification,
themeChanged: themeChanged,
updateLogin: updateLogin,
@@ -1025,6 +1042,5 @@ var recentlyClosedTabs = ntp4.setRecentlyClosedTabs;
var setMostVisitedPages = ntp4.setMostVisitedPages;
var updateLogin = ntp4.updateLogin;
-document.addEventListener('DOMContentLoaded', ntp4.initialize);
window.addEventListener('online', ntp4.updateOfflineEnabledApps);
window.addEventListener('offline', ntp4.updateOfflineEnabledApps);
« no previous file with comments | « chrome/browser/resources/ntp4/new_tab.html ('k') | chrome/browser/resources/ntp4/new_tab_init.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698