Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 used by touch-enabled Chrome | 7 * This is the main code for the new tab page used by touch-enabled Chrome |
| 8 * browsers. For now this is still a prototype. | 8 * browsers. For now this is still a prototype. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 106 'webkitTransitionEnd', onNotificationTransitionEnd); | 106 'webkitTransitionEnd', onNotificationTransitionEnd); |
| 107 | 107 |
| 108 cr.ui.decorate($('recently-closed-menu-button'), ntp4.RecentMenuButton); | 108 cr.ui.decorate($('recently-closed-menu-button'), ntp4.RecentMenuButton); |
| 109 chrome.send('getRecentlyClosedTabs'); | 109 chrome.send('getRecentlyClosedTabs'); |
| 110 | 110 |
| 111 newTabView.appendTilePage(new ntp4.MostVisitedPage(), | 111 newTabView.appendTilePage(new ntp4.MostVisitedPage(), |
| 112 localStrings.getString('mostvisited'), | 112 localStrings.getString('mostvisited'), |
| 113 false); | 113 false); |
| 114 chrome.send('getMostVisited'); | 114 chrome.send('getMostVisited'); |
| 115 | 115 |
| 116 if (templateData.isSuggestionsPageEnabled) { | |
| 117 var suggestions_script = document.createElement('script'); | |
| 118 suggestions_script.src = 'suggestions_page.js'; | |
| 119 document.querySelector('head').appendChild(suggestions_script); | |
| 120 } | |
|
Dan Beam
2012/02/28 20:14:24
Seems easier just to do this in i18n-values unless
GeorgeY
2012/02/28 21:17:42
?
This is the way it is done elsewhere. Not sure i
| |
| 121 | |
| 116 var webstoreLink = localStrings.getString('webStoreLink'); | 122 var webstoreLink = localStrings.getString('webStoreLink'); |
| 117 if (templateData.isWebStoreExperimentEnabled) { | 123 if (templateData.isWebStoreExperimentEnabled) { |
| 118 var url = appendParam(webstoreLink, 'utm_source', 'chrome-ntp-launcher'); | 124 var url = appendParam(webstoreLink, 'utm_source', 'chrome-ntp-launcher'); |
| 119 $('chrome-web-store-href').href = url; | 125 $('chrome-web-store-href').href = url; |
| 120 $('chrome-web-store-href').addEventListener('click', | 126 $('chrome-web-store-href').addEventListener('click', |
| 121 onChromeWebStoreButtonClick); | 127 onChromeWebStoreButtonClick); |
| 122 | 128 |
| 123 $('footer-content').classList.add('enable-cws-experiment'); | 129 $('footer-content').classList.add('enable-cws-experiment'); |
| 124 } | 130 } |
| 125 | 131 |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 418 | 424 |
| 419 function setRecentlyClosedTabs(dataItems) { | 425 function setRecentlyClosedTabs(dataItems) { |
| 420 $('recently-closed-menu-button').dataItems = dataItems; | 426 $('recently-closed-menu-button').dataItems = dataItems; |
| 421 } | 427 } |
| 422 | 428 |
| 423 function setMostVisitedPages(data, hasBlacklistedUrls) { | 429 function setMostVisitedPages(data, hasBlacklistedUrls) { |
| 424 newTabView.mostVisitedPage.data = data; | 430 newTabView.mostVisitedPage.data = data; |
| 425 cr.dispatchSimpleEvent(document, 'sectionready', true, true); | 431 cr.dispatchSimpleEvent(document, 'sectionready', true, true); |
| 426 } | 432 } |
| 427 | 433 |
| 434 function setSuggestionsPages(data, hasBlacklistedUrls) { | |
| 435 newTabView.suggestionsPage.data = data; | |
| 436 } | |
| 437 | |
| 428 /** | 438 /** |
| 429 * Set the dominant color for a node. This will be called in response to | 439 * Set the dominant color for a node. This will be called in response to |
| 430 * getFaviconDominantColor. The node represented by |id| better have a setter | 440 * getFaviconDominantColor. The node represented by |id| better have a setter |
| 431 * for stripeColor. | 441 * for stripeColor. |
| 432 * @param {string} id The ID of a node. | 442 * @param {string} id The ID of a node. |
| 433 * @param {string} color The color represented as a CSS string. | 443 * @param {string} color The color represented as a CSS string. |
| 434 */ | 444 */ |
| 435 function setStripeColor(id, color) { | 445 function setStripeColor(id, color) { |
| 436 var node = $(id); | 446 var node = $(id); |
| 437 if (node) | 447 if (node) |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 506 } | 516 } |
| 507 | 517 |
| 508 function getAppsPageIndex() { | 518 function getAppsPageIndex() { |
| 509 return newTabView.getAppsPageIndex.apply(newTabView, arguments); | 519 return newTabView.getAppsPageIndex.apply(newTabView, arguments); |
| 510 } | 520 } |
| 511 | 521 |
| 512 function getCardSlider() { | 522 function getCardSlider() { |
| 513 return newTabView.cardSlider; | 523 return newTabView.cardSlider; |
| 514 } | 524 } |
| 515 | 525 |
| 526 function getNewTabView() { | |
| 527 return newTabView; | |
| 528 } | |
|
Dan Beam
2012/02/28 20:14:24
this should not be required
GeorgeY
2012/02/28 21:17:42
It is. Either newTabView or getNewTabView needs to
Dan Beam
2012/02/28 22:30:12
It doesn't need to be exported if you just use onl
GeorgeY
2012/02/29 00:15:45
done.
| |
| 529 | |
| 516 function leaveRearrangeMode() { | 530 function leaveRearrangeMode() { |
| 517 return newTabView.leaveRearrangeMode.apply(newTabView, arguments); | 531 return newTabView.leaveRearrangeMode.apply(newTabView, arguments); |
| 518 } | 532 } |
| 519 | 533 |
| 520 function saveAppPageName() { | 534 function saveAppPageName() { |
| 521 return newTabView.saveAppPageName.apply(newTabView, arguments); | 535 return newTabView.saveAppPageName.apply(newTabView, arguments); |
| 522 } | 536 } |
| 523 | 537 |
| 524 function setAppToBeHighlighted(appId) { | 538 function setAppToBeHighlighted(appId) { |
| 525 newTabView.highlightAppId = appId; | 539 newTabView.highlightAppId = appId; |
| 526 } | 540 } |
| 527 | 541 |
| 528 // Return an object with all the exports | 542 // Return an object with all the exports |
| 529 return { | 543 return { |
| 530 appAdded: appAdded, | 544 appAdded: appAdded, |
| 531 appMoved: appMoved, | 545 appMoved: appMoved, |
| 532 appRemoved: appRemoved, | 546 appRemoved: appRemoved, |
| 533 appsPrefChangeCallback: appsPrefChangeCallback, | 547 appsPrefChangeCallback: appsPrefChangeCallback, |
| 534 enterRearrangeMode: enterRearrangeMode, | 548 enterRearrangeMode: enterRearrangeMode, |
| 535 getAppsCallback: getAppsCallback, | 549 getAppsCallback: getAppsCallback, |
| 536 getAppsPageIndex: getAppsPageIndex, | 550 getAppsPageIndex: getAppsPageIndex, |
| 537 getCardSlider: getCardSlider, | 551 getCardSlider: getCardSlider, |
| 552 getNewTabView: getNewTabView, | |
| 538 onLoad: onLoad, | 553 onLoad: onLoad, |
| 539 leaveRearrangeMode: leaveRearrangeMode, | 554 leaveRearrangeMode: leaveRearrangeMode, |
| 540 saveAppPageName: saveAppPageName, | 555 saveAppPageName: saveAppPageName, |
| 541 setAppToBeHighlighted: setAppToBeHighlighted, | 556 setAppToBeHighlighted: setAppToBeHighlighted, |
| 542 setMostVisitedPages: setMostVisitedPages, | 557 setMostVisitedPages: setMostVisitedPages, |
| 558 setSuggestionsPages: setSuggestionsPages, | |
| 543 setRecentlyClosedTabs: setRecentlyClosedTabs, | 559 setRecentlyClosedTabs: setRecentlyClosedTabs, |
| 544 setStripeColor: setStripeColor, | 560 setStripeColor: setStripeColor, |
| 545 showNotification: showNotification, | 561 showNotification: showNotification, |
| 546 themeChanged: themeChanged, | 562 themeChanged: themeChanged, |
| 547 updateLogin: updateLogin | 563 updateLogin: updateLogin |
| 548 }; | 564 }; |
| 549 }); | 565 }); |
| 550 | 566 |
| 551 // publish ntp globals | 567 // publish ntp globals |
| 552 // TODO(estade): update the content handlers to use ntp namespace instead of | 568 // TODO(estade): update the content handlers to use ntp namespace instead of |
| 553 // making these global. | 569 // making these global. |
| 554 var getAppsCallback = ntp4.getAppsCallback; | 570 var getAppsCallback = ntp4.getAppsCallback; |
| 555 var appsPrefChangeCallback = ntp4.appsPrefChangeCallback; | 571 var appsPrefChangeCallback = ntp4.appsPrefChangeCallback; |
| 556 var themeChanged = ntp4.themeChanged; | 572 var themeChanged = ntp4.themeChanged; |
| 557 var recentlyClosedTabs = ntp4.setRecentlyClosedTabs; | 573 var recentlyClosedTabs = ntp4.setRecentlyClosedTabs; |
| 558 var setMostVisitedPages = ntp4.setMostVisitedPages; | 574 var setMostVisitedPages = ntp4.setMostVisitedPages; |
| 559 var updateLogin = ntp4.updateLogin; | 575 var updateLogin = ntp4.updateLogin; |
| 560 | 576 |
| 561 document.addEventListener('DOMContentLoaded', ntp4.onLoad); | 577 document.addEventListener('DOMContentLoaded', ntp4.onLoad); |
| OLD | NEW |