⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 185679 in webkit


Ignore:
Timestamp:
Jun 17, 2015, 5:03:42 PM (11 years ago)
Author:
timothy_horton@apple.com
Message:

Swipe gesture can get stuck, preventing scrolling and other gestures
https://bugs.webkit.org/show_bug.cgi?id=146088
<rdar://problem/16056087>

Reviewed by Darin Adler.

  • UIProcess/mac/ViewGestureControllerMac.mm:

(WebKit::ViewGestureController::trackSwipeGesture):
Ignore mouse events that come in while we're doing a swipe.
This prevents potentially problematic mouse events (especially context menus)
won't be processed during a swipe, avoiding situations that can cause
the swipe gesture to get stuck.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/spi/mac/NSEventSPI.h: Added.

Add an SPI header.

Location:
trunk/Source
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r185678 r185679  
     12015-06-17  Tim Horton  <timothy_horton@apple.com>
     2
     3        Swipe gesture can get stuck, preventing scrolling and other gestures
     4        https://bugs.webkit.org/show_bug.cgi?id=146088
     5        <rdar://problem/16056087>
     6
     7        Reviewed by Darin Adler.
     8
     9        * WebCore.xcodeproj/project.pbxproj:
     10        * platform/spi/mac/NSEventSPI.h: Added.
     11        Add an SPI header.
     12
    1132015-06-16  Matt Rajca  <mrajca@apple.com>
    214
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r185658 r185679  
    11461146                2D9A247615B9C2F400D34527 /* DOMDOMSecurityPolicy.h in Copy Generated Headers */ = {isa = PBXBuildFile; fileRef = 2D9A247015B9C29500D34527 /* DOMDOMSecurityPolicy.h */; };
    11471147                2D9F0E1314FF1CBF00BA0FF7 /* linearSRGB.icc in Resources */ = {isa = PBXBuildFile; fileRef = 2D9F0E1214FF1CBF00BA0FF7 /* linearSRGB.icc */; };
     1148                2DB9C4AA1B3231F40070F27F /* NSEventSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DB9C4A91B3231F40070F27F /* NSEventSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
    11481149                2DCB837919F99BBA00A7FBE4 /* NSSharingServicePickerSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCB837719F99BBA00A7FBE4 /* NSSharingServicePickerSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
    11491150                2DCB837A19F99BBA00A7FBE4 /* NSSharingServiceSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DCB837819F99BBA00A7FBE4 /* NSSharingServiceSPI.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    82988299                2DAAE32C19DCAF6000E002D2 /* MockPageOverlayClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MockPageOverlayClient.cpp; sourceTree = "<group>"; };
    82998300                2DAAE32D19DCAF6000E002D2 /* MockPageOverlayClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MockPageOverlayClient.h; sourceTree = "<group>"; };
     8301                2DB9C4A91B3231F40070F27F /* NSEventSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSEventSPI.h; sourceTree = "<group>"; };
    83008302                2DCB837719F99BBA00A7FBE4 /* NSSharingServicePickerSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSSharingServicePickerSPI.h; sourceTree = "<group>"; };
    83018303                2DCB837819F99BBA00A7FBE4 /* NSSharingServiceSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSSharingServiceSPI.h; sourceTree = "<group>"; };
     
    1797117973                                2D59F1BE1A0044C6001F3D29 /* DataDetectorsSPI.h */,
    1797217974                                2D413F601A187A3F0041A521 /* LookupSPI.h */,
     17975                                2DB9C4A91B3231F40070F27F /* NSEventSPI.h */,
    1797317976                                1C6466271A12C3F90094603C /* NSFontSPI.h */,
    1797417977                                9321D58F1A3906FA008052BE /* NSImmediateActionGestureRecognizerSPI.h */,
     
    2436524368                                85E711920AC5D5350053270F /* DOMCSSRuleListInternal.h in Headers */,
    2436624369                                85032DE50AA8C9BE007D3B7D /* DOMCSSStyleDeclaration.h in Headers */,
     24370                                2DB9C4AA1B3231F40070F27F /* NSEventSPI.h in Headers */,
    2436724371                                85E711930AC5D5350053270F /* DOMCSSStyleDeclarationInternal.h in Headers */,
    2436824372                                85032DE70AA8C9BE007D3B7D /* DOMCSSStyleRule.h in Headers */,
  • trunk/Source/WebKit2/ChangeLog

    r185677 r185679  
     12015-06-17  Tim Horton  <timothy_horton@apple.com>
     2
     3        Swipe gesture can get stuck, preventing scrolling and other gestures
     4        https://bugs.webkit.org/show_bug.cgi?id=146088
     5        <rdar://problem/16056087>
     6
     7        Reviewed by Darin Adler.
     8
     9        * UIProcess/mac/ViewGestureControllerMac.mm:
     10        (WebKit::ViewGestureController::trackSwipeGesture):
     11        Ignore mouse events that come in while we're doing a swipe.
     12        This prevents potentially problematic mouse events (especially context menus)
     13        won't be processed during a swipe, avoiding situations that can cause
     14        the swipe gesture to get stuck.
     15
    1162015-06-17  Sungmann Cho  <sungmann.cho@navercorp.com>
    217
  • trunk/Source/WebKit2/UIProcess/mac/ViewGestureControllerMac.mm

    r183349 r185679  
    4242#import <Cocoa/Cocoa.h>
    4343#import <WebCore/IOSurface.h>
     44#import <WebCore/NSEventSPI.h>
    4445#import <WebCore/QuartzCoreSPI.h>
    4546#import <WebCore/WebActionDisablingCALayerDelegate.h>
     
    408409    m_swipeCancellationTracker = swipeCancellationTracker;
    409410
    410     [event trackSwipeEventWithOptions:0 dampenAmountThresholdMin:minProgress max:maxProgress usingHandler:^(CGFloat progress, NSEventPhase phase, BOOL isComplete, BOOL *stop) {
     411    [event trackSwipeEventWithOptions:NSEventSwipeTrackingConsumeMouseEvents dampenAmountThresholdMin:minProgress max:maxProgress usingHandler:^(CGFloat progress, NSEventPhase phase, BOOL isComplete, BOOL *stop) {
    411412        if ([swipeCancellationTracker isCancelled]) {
    412413            *stop = YES;
Note: See TracChangeset for help on using the changeset viewer.