| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 cr.define('ntp4', function() { | 5 cr.define('ntp4', function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 var localStrings = new LocalStrings; | 8 var localStrings = new LocalStrings; |
| 9 | 9 |
| 10 var APP_LAUNCH = { | 10 var APP_LAUNCH = { |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 | 231 |
| 232 // This hack is here so that appContents.contextMenu will be the same as | 232 // This hack is here so that appContents.contextMenu will be the same as |
| 233 // this.contextMenu. | 233 // this.contextMenu. |
| 234 var self = this; | 234 var self = this; |
| 235 this.appContents_.__defineGetter__('contextMenu', function() { | 235 this.appContents_.__defineGetter__('contextMenu', function() { |
| 236 return self.contextMenu; | 236 return self.contextMenu; |
| 237 }); | 237 }); |
| 238 this.appContents_.addEventListener('contextmenu', | 238 this.appContents_.addEventListener('contextmenu', |
| 239 cr.ui.contextMenuHandler); | 239 cr.ui.contextMenuHandler); |
| 240 | 240 |
| 241 this.isStore_ = this.appData_.is_webstore; | 241 if (this.appData_.is_webstore) |
| 242 if (this.isStore_) | |
| 243 this.createAppsPromoExtras_(); | 242 this.createAppsPromoExtras_(); |
| 244 | 243 |
| 245 this.addEventListener('mousedown', this.onMousedown_, true); | 244 this.addEventListener('mousedown', this.onMousedown_, true); |
| 246 this.addEventListener('keydown', this.onKeydown_); | 245 this.addEventListener('keydown', this.onKeydown_); |
| 247 this.addEventListener('blur', this.onBlur_, true); | 246 this.addEventListener('blur', this.onBlur_, true); |
| 248 }, | 247 }, |
| 249 | 248 |
| 250 /** | 249 /** |
| 251 * Sets the color of the favicon dominant color bar. | 250 * Sets the color of the favicon dominant color bar. |
| 252 * @param {string} color The css-parsable value for the color. | 251 * @param {string} color The css-parsable value for the color. |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 428 this.style.right = x + 'px'; | 427 this.style.right = x + 'px'; |
| 429 this.style.top = y + 'px'; | 428 this.style.top = y + 'px'; |
| 430 }, | 429 }, |
| 431 | 430 |
| 432 /** | 431 /** |
| 433 * Invoked when an app is clicked. | 432 * Invoked when an app is clicked. |
| 434 * @param {Event} e The click event. | 433 * @param {Event} e The click event. |
| 435 * @private | 434 * @private |
| 436 */ | 435 */ |
| 437 onClick_: function(e) { | 436 onClick_: function(e) { |
| 437 var is_promo = this.appsPromoExtras_ && |
| 438 window.getComputedStyle(this.appsPromoExtras_).display != 'none'; |
| 439 var url = !this.appData_.is_webstore ? '' : |
| 440 is_promo ? appendParam(this.appsPromoLink_.href, |
| 441 'utm_source', |
| 442 'chrome-ntp-promo') : |
| 443 appendParam(this.appData_.url, |
| 444 'utm_source', |
| 445 'chrome-ntp-icon'); |
| 446 |
| 438 chrome.send('launchApp', | 447 chrome.send('launchApp', |
| 439 [this.appId, APP_LAUNCH.NTP_APPS_MAXIMIZED, | 448 [this.appId, APP_LAUNCH.NTP_APPS_MAXIMIZED, url, |
| 440 e.altKey, e.ctrlKey, e.metaKey, e.shiftKey, e.button]); | 449 e.altKey, e.ctrlKey, e.metaKey, e.shiftKey, e.button]); |
| 441 | 450 |
| 442 // Don't allow the click to trigger a link or anything | 451 // Don't allow the click to trigger a link or anything |
| 443 e.preventDefault(); | 452 e.preventDefault(); |
| 444 }, | 453 }, |
| 445 | 454 |
| 446 /** | 455 /** |
| 447 * Invoked when the user presses a key while the app is focused. | 456 * Invoked when the user presses a key while the app is focused. |
| 448 * @param {Event} e The key event. | 457 * @param {Event} e The key event. |
| 449 * @private | 458 * @private |
| 450 */ | 459 */ |
| 451 onKeydown_: function(e) { | 460 onKeydown_: function(e) { |
| 452 if (e.keyIdentifier == 'Enter') { | 461 if (e.keyIdentifier == 'Enter') { |
| 453 chrome.send('launchApp', | 462 chrome.send('launchApp', |
| 454 [this.appId, APP_LAUNCH.NTP_APPS_MAXIMIZED, | 463 [this.appId, APP_LAUNCH.NTP_APPS_MAXIMIZED, '', |
| 455 e.altKey, e.ctrlKey, e.metaKey, e.shiftKey, 0]); | 464 e.altKey, e.ctrlKey, e.metaKey, e.shiftKey, 0]); |
| 456 e.preventDefault(); | 465 e.preventDefault(); |
| 457 e.stopPropagation(); | 466 e.stopPropagation(); |
| 458 } | 467 } |
| 459 }, | 468 }, |
| 460 | 469 |
| 461 /** | 470 /** |
| 462 * Adds a node to the list of targets that will launch the app. This list | 471 * Adds a node to the list of targets that will launch the app. This list |
| 463 * is also used in onMousedown to determine whether the app contents should | 472 * is also used in onMousedown to determine whether the app contents should |
| 464 * be shown as active (if we don't do this, then clicking anywhere in | 473 * be shown as active (if we don't do this, then clicking anywhere in |
| (...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 792 appNotificationChanged: appNotificationChanged, | 801 appNotificationChanged: appNotificationChanged, |
| 793 AppsPage: AppsPage, | 802 AppsPage: AppsPage, |
| 794 launchAppAfterEnable: launchAppAfterEnable, | 803 launchAppAfterEnable: launchAppAfterEnable, |
| 795 }; | 804 }; |
| 796 }); | 805 }); |
| 797 | 806 |
| 798 // TODO(estade): update the content handlers to use ntp namespace instead of | 807 // TODO(estade): update the content handlers to use ntp namespace instead of |
| 799 // making these global. | 808 // making these global. |
| 800 var appNotificationChanged = ntp4.appNotificationChanged; | 809 var appNotificationChanged = ntp4.appNotificationChanged; |
| 801 var launchAppAfterEnable = ntp4.launchAppAfterEnable; | 810 var launchAppAfterEnable = ntp4.launchAppAfterEnable; |
| OLD | NEW |