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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 cr.ui.decorate($('other-sessions-menu-button'), | 112 cr.ui.decorate($('other-sessions-menu-button'), |
113 ntp.OtherSessionsMenuButton); | 113 ntp.OtherSessionsMenuButton); |
114 chrome.send('getForeignSessions'); | 114 chrome.send('getForeignSessions'); |
115 } | 115 } |
116 | 116 |
117 newTabView.appendTilePage(new ntp.MostVisitedPage(), | 117 newTabView.appendTilePage(new ntp.MostVisitedPage(), |
118 localStrings.getString('mostvisited'), | 118 localStrings.getString('mostvisited'), |
119 false); | 119 false); |
120 chrome.send('getMostVisited'); | 120 chrome.send('getMostVisited'); |
121 | 121 |
| 122 if (templateData.isSuggestionsPageEnabled) { |
| 123 var suggestions_script = document.createElement('script'); |
| 124 suggestions_script.src = 'suggestions_page.js'; |
| 125 suggestions_script.onload = function() { |
| 126 newTabView.appendTilePage(new ntp.SuggestionsPage(), |
| 127 localStrings.getString('suggestions'), |
| 128 false, |
| 129 (newTabView.appsPages.length > 0) ? |
| 130 newTabView.appsPages[0] : null); |
| 131 chrome.send('getSuggestions'); |
| 132 }; |
| 133 document.querySelector('head').appendChild(suggestions_script); |
| 134 } |
| 135 |
122 var webstoreLink = localStrings.getString('webStoreLink'); | 136 var webstoreLink = localStrings.getString('webStoreLink'); |
123 if (templateData.isWebStoreExperimentEnabled) { | 137 if (templateData.isWebStoreExperimentEnabled) { |
124 var url = appendParam(webstoreLink, 'utm_source', 'chrome-ntp-launcher'); | 138 var url = appendParam(webstoreLink, 'utm_source', 'chrome-ntp-launcher'); |
125 $('chrome-web-store-href').href = url; | 139 $('chrome-web-store-href').href = url; |
126 $('chrome-web-store-href').addEventListener('click', | 140 $('chrome-web-store-href').addEventListener('click', |
127 onChromeWebStoreButtonClick); | 141 onChromeWebStoreButtonClick); |
128 | 142 |
129 $('footer-content').classList.add('enable-cws-experiment'); | 143 $('footer-content').classList.add('enable-cws-experiment'); |
130 } | 144 } |
131 | 145 |
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
431 | 445 |
432 function setRecentlyClosedTabs(dataItems) { | 446 function setRecentlyClosedTabs(dataItems) { |
433 $('recently-closed-menu-button').dataItems = dataItems; | 447 $('recently-closed-menu-button').dataItems = dataItems; |
434 } | 448 } |
435 | 449 |
436 function setMostVisitedPages(data, hasBlacklistedUrls) { | 450 function setMostVisitedPages(data, hasBlacklistedUrls) { |
437 newTabView.mostVisitedPage.data = data; | 451 newTabView.mostVisitedPage.data = data; |
438 cr.dispatchSimpleEvent(document, 'sectionready', true, true); | 452 cr.dispatchSimpleEvent(document, 'sectionready', true, true); |
439 } | 453 } |
440 | 454 |
| 455 function setSuggestionsPages(data, hasBlacklistedUrls) { |
| 456 newTabView.suggestionsPage.data = data; |
| 457 } |
| 458 |
| 459 function setSuggestionsPages(data, hasBlacklistedUrls) { |
| 460 newTabView.suggestionsPage.data = data; |
| 461 } |
| 462 |
441 /** | 463 /** |
442 * Set the dominant color for a node. This will be called in response to | 464 * Set the dominant color for a node. This will be called in response to |
443 * getFaviconDominantColor. The node represented by |id| better have a setter | 465 * getFaviconDominantColor. The node represented by |id| better have a setter |
444 * for stripeColor. | 466 * for stripeColor. |
445 * @param {string} id The ID of a node. | 467 * @param {string} id The ID of a node. |
446 * @param {string} color The color represented as a CSS string. | 468 * @param {string} color The color represented as a CSS string. |
447 */ | 469 */ |
448 function setStripeColor(id, color) { | 470 function setStripeColor(id, color) { |
449 var node = $(id); | 471 var node = $(id); |
450 if (node) | 472 if (node) |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
523 } | 545 } |
524 | 546 |
525 function getAppsPageIndex() { | 547 function getAppsPageIndex() { |
526 return newTabView.getAppsPageIndex.apply(newTabView, arguments); | 548 return newTabView.getAppsPageIndex.apply(newTabView, arguments); |
527 } | 549 } |
528 | 550 |
529 function getCardSlider() { | 551 function getCardSlider() { |
530 return newTabView.cardSlider; | 552 return newTabView.cardSlider; |
531 } | 553 } |
532 | 554 |
| 555 function getNewTabView() { |
| 556 return newTabView; |
| 557 } |
| 558 |
533 function leaveRearrangeMode() { | 559 function leaveRearrangeMode() { |
534 return newTabView.leaveRearrangeMode.apply(newTabView, arguments); | 560 return newTabView.leaveRearrangeMode.apply(newTabView, arguments); |
535 } | 561 } |
536 | 562 |
537 function saveAppPageName() { | 563 function saveAppPageName() { |
538 return newTabView.saveAppPageName.apply(newTabView, arguments); | 564 return newTabView.saveAppPageName.apply(newTabView, arguments); |
539 } | 565 } |
540 | 566 |
541 function setAppToBeHighlighted(appId) { | 567 function setAppToBeHighlighted(appId) { |
542 newTabView.highlightAppId = appId; | 568 newTabView.highlightAppId = appId; |
543 } | 569 } |
544 | 570 |
545 // Return an object with all the exports | 571 // Return an object with all the exports |
546 return { | 572 return { |
547 appAdded: appAdded, | 573 appAdded: appAdded, |
548 appMoved: appMoved, | 574 appMoved: appMoved, |
549 appRemoved: appRemoved, | 575 appRemoved: appRemoved, |
550 appsPrefChangeCallback: appsPrefChangeCallback, | 576 appsPrefChangeCallback: appsPrefChangeCallback, |
551 enterRearrangeMode: enterRearrangeMode, | 577 enterRearrangeMode: enterRearrangeMode, |
552 foreignSessions: foreignSessions, | 578 foreignSessions: foreignSessions, |
553 getAppsCallback: getAppsCallback, | 579 getAppsCallback: getAppsCallback, |
554 getAppsPageIndex: getAppsPageIndex, | 580 getAppsPageIndex: getAppsPageIndex, |
555 getCardSlider: getCardSlider, | 581 getCardSlider: getCardSlider, |
| 582 getNewTabView: getNewTabView, |
556 onLoad: onLoad, | 583 onLoad: onLoad, |
557 leaveRearrangeMode: leaveRearrangeMode, | 584 leaveRearrangeMode: leaveRearrangeMode, |
558 saveAppPageName: saveAppPageName, | 585 saveAppPageName: saveAppPageName, |
559 setAppToBeHighlighted: setAppToBeHighlighted, | 586 setAppToBeHighlighted: setAppToBeHighlighted, |
560 setBookmarkBarAttached: setBookmarkBarAttached, | 587 setBookmarkBarAttached: setBookmarkBarAttached, |
561 setMostVisitedPages: setMostVisitedPages, | 588 setMostVisitedPages: setMostVisitedPages, |
| 589 setSuggestionsPages: setSuggestionsPages, |
562 setRecentlyClosedTabs: setRecentlyClosedTabs, | 590 setRecentlyClosedTabs: setRecentlyClosedTabs, |
563 setStripeColor: setStripeColor, | 591 setStripeColor: setStripeColor, |
564 showNotification: showNotification, | 592 showNotification: showNotification, |
565 themeChanged: themeChanged, | 593 themeChanged: themeChanged, |
566 updateLogin: updateLogin | 594 updateLogin: updateLogin |
567 }; | 595 }; |
568 }); | 596 }); |
569 | 597 |
570 document.addEventListener('DOMContentLoaded', ntp.onLoad); | 598 document.addEventListener('DOMContentLoaded', ntp.onLoad); |
OLD | NEW |