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

Unified Diff: chrome/browser/resources/ntp4/page_list_view.js

Issue 10092017: Mac: Prevent NTP mousewheel events from being suppressed on Lion. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix grammar & style. Created 8 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/ntp4/page_list_view.js
diff --git a/chrome/browser/resources/ntp4/page_list_view.js b/chrome/browser/resources/ntp4/page_list_view.js
index abe3e826560524b9caf20477d9d7d250cedb14ae..8b84d13a1a01dafc2f96ad8f52c3d4f52799a007 100644
--- a/chrome/browser/resources/ntp4/page_list_view.js
+++ b/chrome/browser/resources/ntp4/page_list_view.js
@@ -169,7 +169,7 @@ cr.define('ntp', function() {
}
document.addEventListener('keydown', this.onDocKeyDown_.bind(this));
- // Prevent touch events from triggering any sort of native scrolling
+ // Prevent touch events from triggering any sort of native scrolling.
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, true);
@@ -177,11 +177,25 @@ cr.define('ntp', function() {
this.tilePages = this.pageList.getElementsByClassName('tile-page');
this.appsPages = this.pageList.getElementsByClassName('apps-page');
- // Initialize the cardSlider without any cards at the moment
+ // Initialize the cardSlider without any cards at the moment.
this.sliderFrame = cardSliderFrame;
this.cardSlider = new cr.ui.CardSlider(this.sliderFrame, this.pageList,
this.sliderFrame.offsetWidth);
- this.cardSlider.initialize();
+
+ // Handle mousewheel events anywhere in the card slider, so that wheel
+ // events on the page switchers will still scroll the page.
+ // This listener must be added before the card slider is initialized,
+ // because it needs to be called before the card slider's handler.
+ var cardSlider = this.cardSlider;
+ cardSliderFrame.addEventListener('mousewheel', function(e) {
+ if (cardSlider.currentCardValue.handleMouseWheel(e)) {
+ e.preventDefault(); // Prevent default scroll behavior.
+ e.stopImmediatePropagation(); // Prevent horizontal card flipping.
+ }
+ });
+
+ this.cardSlider.initialize(
+ templateData.isSwipeTrackingFromScrollEventsEnabled);
// Handle events from the card slider.
this.pageList.addEventListener('cardSlider:card_changed',
@@ -191,7 +205,7 @@ cr.define('ntp', function() {
this.pageList.addEventListener('cardSlider:card_removed',
this.onCardRemoved_.bind(this));
- // Ensure the slider is resized appropriately with the window
+ // Ensure the slider is resized appropriately with the window.
window.addEventListener('resize', this.onWindowResize_.bind(this));
// Update apps when online state changes.

Powered by Google App Engine
This is Rietveld 408576698