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

Side by Side Diff: chrome/browser/resources/ntp_search/new_tab.js

Issue 11438009: NTP5: Refactoring appData to use Tile's data implementation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressing Dan's comments Created 8 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview New tab page 6 * @fileoverview New tab page
7 * This is the main code for the new tab page. NewTabView manages page list, 7 * This is the main code for the new tab page. NewTabView manages page list,
8 * dot list and handles apps pages callbacks from backend. It also handles 8 * dot list and handles apps pages callbacks from backend. It also handles
9 * the layout of the Bottom Panel and the global UI states of the New Tab Page. 9 * the layout of the Bottom Panel and the global UI states of the New Tab Page.
10 */ 10 */
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 page.navigationDot = newDot; 359 page.navigationDot = newDot;
360 this.dotList.insertBefore(newDot, 360 this.dotList.insertBefore(newDot,
361 opt_refNode ? opt_refNode.navigationDot : null); 361 opt_refNode ? opt_refNode.navigationDot : null);
362 // Set a tab index on the first dot. 362 // Set a tab index on the first dot.
363 if (this.dotList.dots.length == 1) 363 if (this.dotList.dots.length == 1)
364 newDot.tabIndex = 3; 364 newDot.tabIndex = 3;
365 }, 365 },
366 366
367 /** 367 /**
368 * Called by chrome when an app has changed positions. 368 * Called by chrome when an app has changed positions.
369 * @param {Object} appData The data for the app. This contains page and 369 * @param {Object} data The data for the app. This contains page and
370 * position indices. 370 * position indices.
371 */ 371 */
372 appMoved: function(appData) { 372 appMoved: function(data) {
373 assert(loadTimeData.getBoolean('showApps')); 373 assert(loadTimeData.getBoolean('showApps'));
374 374
375 var app = $(appData.id); 375 var app = $(data.id);
376 assert(app, 'trying to move an app that doesn\'t exist'); 376 assert(app, 'trying to move an app that doesn\'t exist');
377 app.remove(false); 377 app.remove(false);
378 378
379 this.appsPage.insertApp(appData, false); 379 this.appsPage.insertApp(data, false);
380 }, 380 },
381 381
382 /** 382 /**
383 * Called by chrome when an existing app has been disabled or 383 * Called by chrome when an existing app has been disabled or
384 * removed/uninstalled from chrome. 384 * removed/uninstalled from chrome.
385 * @param {Object} appData A data structure full of relevant information for 385 * @param {Object} data A data structure full of relevant information for
386 * the app. 386 * the app.
387 * @param {boolean} isUninstall True if the app is being uninstalled; 387 * @param {boolean} isUninstall True if the app is being uninstalled;
388 * false if the app is being disabled. 388 * false if the app is being disabled.
389 * @param {boolean} fromPage True if the removal was from the current page. 389 * @param {boolean} fromPage True if the removal was from the current page.
390 */ 390 */
391 appRemoved: function(appData, isUninstall, fromPage) { 391 appRemoved: function(data, isUninstall, fromPage) {
392 assert(loadTimeData.getBoolean('showApps')); 392 assert(loadTimeData.getBoolean('showApps'));
393 393
394 var app = $(appData.id); 394 var app = $(data.id);
395 assert(app, 'trying to remove an app that doesn\'t exist'); 395 assert(app, 'trying to remove an app that doesn\'t exist');
396 396
397 if (!isUninstall) 397 if (!isUninstall)
398 app.replaceAppData(appData); 398 app.replaceAppData(data);
399 else 399 else
400 app.remove(!!fromPage); 400 app.remove(!!fromPage);
401 }, 401 },
402 402
403 /** 403 /**
404 * @return {boolean} If the page is still starting up. 404 * @return {boolean} If the page is still starting up.
405 * @private 405 * @private
406 */ 406 */
407 isStartingUp_: function() { 407 isStartingUp_: function() {
408 return document.documentElement.classList.contains('starting-up'); 408 return document.documentElement.classList.contains('starting-up');
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 477
478 if (!this.appsLoaded_) { 478 if (!this.appsLoaded_) {
479 this.appsLoaded_ = true; 479 this.appsLoaded_ = true;
480 cr.dispatchSimpleEvent(document, 'sectionready', true, true); 480 cr.dispatchSimpleEvent(document, 'sectionready', true, true);
481 } 481 }
482 }, 482 },
483 483
484 /** 484 /**
485 * Called by chrome when a new app has been added to chrome or has been 485 * Called by chrome when a new app has been added to chrome or has been
486 * enabled if previously disabled. 486 * enabled if previously disabled.
487 * @param {Object} appData A data structure full of relevant information for 487 * @param {Object} data A data structure full of relevant information for
488 * the app. 488 * the app.
489 * @param {boolean=} opt_highlight Whether the app about to be added should 489 * @param {boolean=} opt_highlight Whether the app about to be added should
490 * be highlighted. 490 * be highlighted.
491 */ 491 */
492 appAdded: function(appData, opt_highlight) { 492 appAdded: function(data, opt_highlight) {
493 assert(loadTimeData.getBoolean('showApps')); 493 assert(loadTimeData.getBoolean('showApps'));
494 494
495 if (appData.id == this.highlightAppId) { 495 if (data.id == this.highlightAppId) {
496 opt_highlight = true; 496 opt_highlight = true;
497 this.highlightAppId = null; 497 this.highlightAppId = null;
498 } 498 }
499 499
500 var pageIndex = appData.page_index || 0; 500 var pageIndex = data.page_index || 0;
501 501
502 var app = $(appData.id); 502 var app = $(data.id);
503 if (app) { 503 if (app) {
504 app.replaceAppData(appData); 504 app.replaceAppData(data);
505 } else if (opt_highlight) { 505 } else if (opt_highlight) {
506 this.appsPage.insertAndHighlightApp(appData); 506 this.appsPage.insertAndHighlightApp(data);
507 this.setShownPage_(loadTimeData.getInteger('apps_page_id'), 507 this.setShownPage_(loadTimeData.getInteger('apps_page_id'),
508 appData.page_index); 508 data.page_index);
509 } else { 509 } else {
510 this.appsPage.insertApp(appData, false); 510 this.appsPage.insertApp(data, false);
511 } 511 }
512 }, 512 },
513 513
514 /** 514 /**
515 * Callback invoked by chrome whenever an app preference changes. 515 * Callback invoked by chrome whenever an app preference changes.
516 * @param {Object} data An object with all the data on available 516 * @param {Object} data An object with all the data on available
517 * applications. 517 * applications.
518 */ 518 */
519 appsPrefChangedCallback: function(data) { 519 appsPrefChangedCallback: function(data) {
520 assert(loadTimeData.getBoolean('showApps')); 520 assert(loadTimeData.getBoolean('showApps'));
521 521
522 for (var i = 0; i < data.apps.length; ++i) { 522 for (var i = 0; i < data.apps.length; ++i) {
523 $(data.apps[i].id).appData = data.apps[i]; 523 $(data.apps[i].id).data = data.apps[i];
524 } 524 }
525 }, 525 },
526 526
527 /** 527 /**
528 * Invoked whenever the pages in page-list have changed so that the 528 * Invoked whenever the pages in page-list have changed so that the
529 * CardSlider knows about the new elements. 529 * CardSlider knows about the new elements.
530 */ 530 */
531 updateSliderCards: function() { 531 updateSliderCards: function() {
532 var pageNo = Math.max(0, Math.min(this.cardSlider.currentCard, 532 var pageNo = Math.max(0, Math.min(this.cardSlider.currentCard,
533 this.tilePages.length - 1)); 533 this.tilePages.length - 1));
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
661 }, 661 },
662 662
663 /** 663 /**
664 * Listener for offline status change events. Updates apps that are 664 * Listener for offline status change events. Updates apps that are
665 * not offline-enabled to be grayscale if the browser is offline. 665 * not offline-enabled to be grayscale if the browser is offline.
666 * @private 666 * @private
667 */ 667 */
668 updateOfflineEnabledApps_: function() { 668 updateOfflineEnabledApps_: function() {
669 var apps = document.querySelectorAll('.app'); 669 var apps = document.querySelectorAll('.app');
670 for (var i = 0; i < apps.length; ++i) { 670 for (var i = 0; i < apps.length; ++i) {
671 if (apps[i].appData.enabled && !apps[i].appData.offline_enabled) { 671 if (apps[i].data.enabled && !apps[i].data.offline_enabled) {
672 apps[i].setIcon(); 672 apps[i].setIcon();
673 apps[i].loadIcon(); 673 apps[i].loadIcon();
674 } 674 }
675 } 675 }
676 }, 676 },
677 677
678 /** 678 /**
679 * Returns the index of a given tile page. 679 * Returns the index of a given tile page.
680 * @param {TilePage} page The TilePage we wish to find. 680 * @param {TilePage} page The TilePage we wish to find.
681 * @return {number} The index of |page| or -1 if it is not in the 681 * @return {number} The index of |page| or -1 if it is not in the
(...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after
1156 setMostVisitedPages: setMostVisitedPages, 1156 setMostVisitedPages: setMostVisitedPages,
1157 setRecentlyClosedTabs: setRecentlyClosedTabs, 1157 setRecentlyClosedTabs: setRecentlyClosedTabs,
1158 showNotification: showNotification, 1158 showNotification: showNotification,
1159 themeChanged: themeChanged, 1159 themeChanged: themeChanged,
1160 }; 1160 };
1161 }); 1161 });
1162 1162
1163 document.addEventListener('DOMContentLoaded', ntp.onLoad); 1163 document.addEventListener('DOMContentLoaded', ntp.onLoad);
1164 1164
1165 var toCssPx = cr.ui.toCssPx; 1165 var toCssPx = cr.ui.toCssPx;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698