 Chromium Code Reviews
 Chromium Code Reviews Issue 242733008:
  Prevent Control+two-finger-scroll from zooming the page.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src
    
  
    Issue 242733008:
  Prevent Control+two-finger-scroll from zooming the page.  (Closed) 
  Base URL: svn://svn.chromium.org/chrome/trunk/src| Index: content/browser/web_contents/web_contents_impl_unittest.cc | 
| diff --git a/content/browser/web_contents/web_contents_impl_unittest.cc b/content/browser/web_contents/web_contents_impl_unittest.cc | 
| index 9cc1ac233d91e75feb6b317b7dbdcdb227822960..3d607c28c1428e3d7a8b8b3f0a23d61a16383387 100644 | 
| --- a/content/browser/web_contents/web_contents_impl_unittest.cc | 
| +++ b/content/browser/web_contents/web_contents_impl_unittest.cc | 
| @@ -2430,22 +2430,21 @@ TEST_F(WebContentsImplTest, HandleWheelEvent) { | 
| contents()->SetDelegate(delegate.get()); | 
| int modifiers = 0; | 
| - float dy = 1; | 
| 
Daniel Erat
2014/04/22 17:40:12
deleted this since i didn't see much point for it
 | 
| // Verify that normal mouse wheel events do nothing to change the zoom level. | 
| blink::WebMouseWheelEvent event = | 
| - SyntheticWebMouseWheelEventBuilder::Build(0, dy, modifiers, false); | 
| + SyntheticWebMouseWheelEventBuilder::Build(0, 1, modifiers, false); | 
| EXPECT_FALSE(contents()->HandleWheelEvent(event)); | 
| EXPECT_EQ(0, delegate->GetAndResetContentsZoomChangedCallCount()); | 
| modifiers = WebInputEvent::ShiftKey | WebInputEvent::AltKey; | 
| - event = SyntheticWebMouseWheelEventBuilder::Build(0, dy, modifiers, false); | 
| + event = SyntheticWebMouseWheelEventBuilder::Build(0, 1, modifiers, false); | 
| EXPECT_FALSE(contents()->HandleWheelEvent(event)); | 
| EXPECT_EQ(0, delegate->GetAndResetContentsZoomChangedCallCount()); | 
| // But whenever the ctrl modifier is applied, they can increase/decrease zoom. | 
| // Except on MacOS where we never want to adjust zoom with mousewheel. | 
| modifiers = WebInputEvent::ControlKey; | 
| - event = SyntheticWebMouseWheelEventBuilder::Build(0, dy, modifiers, false); | 
| + event = SyntheticWebMouseWheelEventBuilder::Build(0, 1, modifiers, false); | 
| bool handled = contents()->HandleWheelEvent(event); | 
| #if defined(OS_MACOSX) | 
| EXPECT_FALSE(handled); | 
| @@ -2458,8 +2457,7 @@ TEST_F(WebContentsImplTest, HandleWheelEvent) { | 
| modifiers = WebInputEvent::ControlKey | WebInputEvent::ShiftKey | | 
| WebInputEvent::AltKey; | 
| - dy = -5; | 
| - event = SyntheticWebMouseWheelEventBuilder::Build(2, dy, modifiers, false); | 
| + event = SyntheticWebMouseWheelEventBuilder::Build(2, -5, modifiers, false); | 
| handled = contents()->HandleWheelEvent(event); | 
| #if defined(OS_MACOSX) | 
| EXPECT_FALSE(handled); | 
| @@ -2471,12 +2469,19 @@ TEST_F(WebContentsImplTest, HandleWheelEvent) { | 
| #endif | 
| // Unless there is no vertical movement. | 
| - dy = 0; | 
| - event = SyntheticWebMouseWheelEventBuilder::Build(2, dy, modifiers, false); | 
| + event = SyntheticWebMouseWheelEventBuilder::Build(2, 0, modifiers, false); | 
| EXPECT_FALSE(contents()->HandleWheelEvent(event)); | 
| EXPECT_EQ(0, delegate->GetAndResetContentsZoomChangedCallCount()); | 
| - // Ensure pointers to the delegate aren't kept beyond it's lifetime. | 
| + // Events containing precise scrolling deltas also shouldn't result in the | 
| + // zoom being adjusted, to avoid accidental adjustments caused by | 
| + // two-finger-scrolling on a touchpad. | 
| + modifiers = WebInputEvent::ControlKey; | 
| + event = SyntheticWebMouseWheelEventBuilder::Build(0, 5, modifiers, true); | 
| + EXPECT_FALSE(contents()->HandleWheelEvent(event)); | 
| + EXPECT_EQ(0, delegate->GetAndResetContentsZoomChangedCallCount()); | 
| + | 
| + // Ensure pointers to the delegate aren't kept beyond its lifetime. | 
| contents()->SetDelegate(NULL); | 
| } |