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

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: NTP5: Refactoring appData to use Tile's data implementation 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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 page.navigationDot = newDot; 361 page.navigationDot = newDot;
362 this.dotList.insertBefore(newDot, 362 this.dotList.insertBefore(newDot,
363 opt_refNode ? opt_refNode.navigationDot : null); 363 opt_refNode ? opt_refNode.navigationDot : null);
364 // Set a tab index on the first dot. 364 // Set a tab index on the first dot.
365 if (this.dotList.dots.length == 1) 365 if (this.dotList.dots.length == 1)
366 newDot.tabIndex = 3; 366 newDot.tabIndex = 3;
367 }, 367 },
368 368
369 /** 369 /**
370 * Called by chrome when an app has changed positions. 370 * Called by chrome when an app has changed positions.
371 * @param {Object} appData The data for the app. This contains page and 371 * @param {Object} data The data for the app. This contains page and
372 * position indices. 372 * position indices.
373 */ 373 */
374 appMoved: function(appData) { 374 appMoved: function(data) {
375 assert(loadTimeData.getBoolean('showApps')); 375 assert(loadTimeData.getBoolean('showApps'));
376 376
377 var app = $(appData.id); 377 var app = $(data.id);
378 assert(app, 'trying to move an app that doesn\'t exist'); 378 assert(app, 'trying to move an app that doesn\'t exist');
379 app.remove(false); 379 app.remove(false);
380 380
381 this.appsPage.insertApp(appData, false); 381 this.appsPage.insertApp(data, false);
382 }, 382 },
383 383
384 /** 384 /**
385 * Called by chrome when an existing app has been disabled or 385 * Called by chrome when an existing app has been disabled or
386 * removed/uninstalled from chrome. 386 * removed/uninstalled from chrome.
387 * @param {Object} appData A data structure full of relevant information for 387 * @param {Object} data A data structure full of relevant information for
388 * the app. 388 * the app.
389 * @param {boolean} isUninstall True if the app is being uninstalled; 389 * @param {boolean} isUninstall True if the app is being uninstalled;
390 * false if the app is being disabled. 390 * false if the app is being disabled.
391 * @param {boolean} fromPage True if the removal was from the current page. 391 * @param {boolean} fromPage True if the removal was from the current page.
392 */ 392 */
393 appRemoved: function(appData, isUninstall, fromPage) { 393 appRemoved: function(data, isUninstall, fromPage) {
394 assert(loadTimeData.getBoolean('showApps')); 394 assert(loadTimeData.getBoolean('showApps'));
395 395
396 var app = $(appData.id); 396 var app = $(data.id);
397 assert(app, 'trying to remove an app that doesn\'t exist'); 397 assert(app, 'trying to remove an app that doesn\'t exist');
398 398
399 if (!isUninstall) 399 if (!isUninstall)
400 app.replaceAppData(appData); 400 app.replaceAppData(data);
401 else 401 else
402 app.remove(!!fromPage); 402 app.remove(!!fromPage);
403 }, 403 },
404 404
405 /** 405 /**
406 * @return {boolean} If the page is still starting up. 406 * @return {boolean} If the page is still starting up.
407 * @private 407 * @private
408 */ 408 */
409 isStartingUp_: function() { 409 isStartingUp_: function() {
410 return document.documentElement.classList.contains('starting-up'); 410 return document.documentElement.classList.contains('starting-up');
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 481
482 if (!this.appsLoaded_) { 482 if (!this.appsLoaded_) {
483 this.appsLoaded_ = true; 483 this.appsLoaded_ = true;
484 cr.dispatchSimpleEvent(document, 'sectionready', true, true); 484 cr.dispatchSimpleEvent(document, 'sectionready', true, true);
485 } 485 }
486 }, 486 },
487 487
488 /** 488 /**
489 * Called by chrome when a new app has been added to chrome or has been 489 * Called by chrome when a new app has been added to chrome or has been
490 * enabled if previously disabled. 490 * enabled if previously disabled.
491 * @param {Object} appData A data structure full of relevant information for 491 * @param {Object} data A data structure full of relevant information for
492 * the app. 492 * the app.
493 * @param {boolean=} opt_highlight Whether the app about to be added should 493 * @param {boolean=} opt_highlight Whether the app about to be added should
494 * be highlighted. 494 * be highlighted.
495 */ 495 */
496 appAdded: function(appData, opt_highlight) { 496 appAdded: function(data, opt_highlight) {
497 assert(loadTimeData.getBoolean('showApps')); 497 assert(loadTimeData.getBoolean('showApps'));
498 498
499 if (appData.id == this.highlightAppId) { 499 if (data.id == this.highlightAppId) {
500 opt_highlight = true; 500 opt_highlight = true;
501 this.highlightAppId = null; 501 this.highlightAppId = null;
502 } 502 }
503 503
504 var pageIndex = appData.page_index || 0; 504 var pageIndex = data.page_index || 0;
505 505
506 var app = $(appData.id); 506 var app = $(data.id);
507 if (app) { 507 if (app) {
508 app.replaceAppData(appData); 508 app.replaceAppData(data);
509 } else if (opt_highlight) { 509 } else if (opt_highlight) {
510 this.appsPage.insertAndHighlightApp(appData); 510 this.appsPage.insertAndHighlightApp(data);
511 this.setShownPage_(loadTimeData.getInteger('apps_page_id'), 511 this.setShownPage_(loadTimeData.getInteger('apps_page_id'),
512 appData.page_index); 512 data.page_index);
513 } else { 513 } else {
514 this.appsPage.insertApp(appData, false); 514 this.appsPage.insertApp(data, false);
515 } 515 }
516 }, 516 },
517 517
518 /** 518 /**
519 * Callback invoked by chrome whenever an app preference changes. 519 * Callback invoked by chrome whenever an app preference changes.
520 * @param {Object} data An object with all the data on available 520 * @param {Object} data An object with all the data on available
521 * applications. 521 * applications.
522 */ 522 */
523 appsPrefChangedCallback: function(data) { 523 appsPrefChangedCallback: function(data) {
524 assert(loadTimeData.getBoolean('showApps')); 524 assert(loadTimeData.getBoolean('showApps'));
525 525
526 for (var i = 0; i < data.apps.length; ++i) { 526 for (var i = 0; i < data.apps.length; ++i) {
527 $(data.apps[i].id).appData = data.apps[i]; 527 $(data.apps[i].id).data = data.apps[i];
528 } 528 }
529 }, 529 },
530 530
531 /** 531 /**
532 * Invoked whenever the pages in page-list have changed so that the 532 * Invoked whenever the pages in page-list have changed so that the
533 * CardSlider knows about the new elements. 533 * CardSlider knows about the new elements.
534 */ 534 */
535 updateSliderCards: function() { 535 updateSliderCards: function() {
536 var pageNo = Math.max(0, Math.min(this.cardSlider.currentCard, 536 var pageNo = Math.max(0, Math.min(this.cardSlider.currentCard,
537 this.tilePages.length - 1)); 537 this.tilePages.length - 1));
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
665 }, 665 },
666 666
667 /** 667 /**
668 * Listener for offline status change events. Updates apps that are 668 * Listener for offline status change events. Updates apps that are
669 * not offline-enabled to be grayscale if the browser is offline. 669 * not offline-enabled to be grayscale if the browser is offline.
670 * @private 670 * @private
671 */ 671 */
672 updateOfflineEnabledApps_: function() { 672 updateOfflineEnabledApps_: function() {
673 var apps = document.querySelectorAll('.app'); 673 var apps = document.querySelectorAll('.app');
674 for (var i = 0; i < apps.length; ++i) { 674 for (var i = 0; i < apps.length; ++i) {
675 if (apps[i].appData.enabled && !apps[i].appData.offline_enabled) { 675 if (apps[i].data.enabled && !apps[i].data.offline_enabled) {
676 apps[i].setIcon(); 676 apps[i].setIcon();
677 apps[i].loadIcon(); 677 apps[i].loadIcon();
678 } 678 }
679 } 679 }
680 }, 680 },
681 681
682 /** 682 /**
683 * Returns the index of a given tile page. 683 * Returns the index of a given tile page.
684 * @param {TilePage} page The TilePage we wish to find. 684 * @param {TilePage} page The TilePage we wish to find.
685 * @return {number} The index of |page| or -1 if it is not in the 685 * @return {number} The index of |page| or -1 if it is not in the
(...skipping 471 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 setRecentlyClosedTabs: noop, 1157 setRecentlyClosedTabs: noop,
1158 showNotification: showNotification, 1158 showNotification: showNotification,
1159 themeChanged: themeChanged, 1159 themeChanged: themeChanged,
1160 updateLogin: noop, 1160 updateLogin: noop,
1161 }; 1161 };
1162 }); 1162 });
1163 1163
1164 document.addEventListener('DOMContentLoaded', ntp.onLoad); 1164 document.addEventListener('DOMContentLoaded', ntp.onLoad);
1165 1165
1166 var toCssPx = cr.ui.toCssPx; 1166 var toCssPx = cr.ui.toCssPx;
OLDNEW
« no previous file with comments | « chrome/browser/resources/ntp_search/most_visited_page.js ('k') | chrome/browser/resources/ntp_search/thumbnail_page.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698