RESOLVED FIXED Bug 209268
Implement support for cursor interactions on iPad
https://bugs.webkit.org/show_bug.cgi?id=209268
Summary Implement support for cursor interactions on iPad
Tim Horton
Reported 2020-03-18 19:46:22 PDT
Implement support for cursor interactions on iPad
Attachments
Patch (27.79 KB, patch)
2020-03-18 19:47 PDT, Tim Horton
no flags
Patch (30.85 KB, patch)
2020-03-19 12:06 PDT, Tim Horton
no flags
Patch (30.88 KB, patch)
2020-03-19 12:14 PDT, Tim Horton
no flags
Tim Horton
Comment 1 2020-03-18 19:47:18 PDT
Tim Horton
Comment 2 2020-03-18 19:54:06 PDT
(AFAIK the style bot complaint is only true for macOS, not iOS, so I'm ignoring it)
Darin Adler
Comment 3 2020-03-18 20:45:36 PDT
Comment on attachment 393938 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=393938&action=review > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8122 > + static dispatch_once_t onceToken; > + dispatch_once(&onceToken, ^{ > + // System apps will always be linked on the current OS, so > + // check them before the linked-on-or-after. > + > + // <rdar://problem/59521967> iAd Video does not respond to mouse events, only touch events > + if (WebCore::IOSApplication::isNews() || WebCore::IOSApplication::isStocks()) > + shouldUseMouseGestureRecognizer = NO; > + > + if (WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstThatSendsNativeMouseEvents)) > + return; > + > + // <rdar://problem/59155220> Some Feedly UI does not respond to mouse events, only touch events > + if (WebCore::IOSApplication::isFeedly()) > + shouldUseMouseGestureRecognizer = NO; > + }); Is the thread safety really needed here? Can it be called from more than one thread concurrently? - If so, is everything the dispatch_once block does safe to be called from any thread? - If not, I suggest instead writing this: static const BOOL shouldUseMouseGestureRecognizer = []() -> BOOL { ... code here ... }(); > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8127 > +- (void)setupMouseGestureRecognizer The verb "set up" is two words, not one. So I would name this setUpMouseGestureRecognizer. > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8154 > +- (void)setupCursorInteraction And name this setUpCursorInteraction.
Tim Horton
Comment 4 2020-03-19 11:35:06 PDT
(In reply to Darin Adler from comment #3) > Comment on attachment 393938 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=393938&action=review > > > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8122 > > + static dispatch_once_t onceToken; > > + dispatch_once(&onceToken, ^{ > > + // System apps will always be linked on the current OS, so > > + // check them before the linked-on-or-after. > > + > > + // <rdar://problem/59521967> iAd Video does not respond to mouse events, only touch events > > + if (WebCore::IOSApplication::isNews() || WebCore::IOSApplication::isStocks()) > > + shouldUseMouseGestureRecognizer = NO; > > + > > + if (WebKit::linkedOnOrAfter(WebKit::SDKVersion::FirstThatSendsNativeMouseEvents)) > > + return; > > + > > + // <rdar://problem/59155220> Some Feedly UI does not respond to mouse events, only touch events > > + if (WebCore::IOSApplication::isFeedly()) > > + shouldUseMouseGestureRecognizer = NO; > > + }); > > Is the thread safety really needed here? Can it be called from more than one > thread concurrently? > > - If so, is everything the dispatch_once block does safe to be called from > any thread? > > - If not, I suggest instead writing this: > > static const BOOL shouldUseMouseGestureRecognizer = []() -> BOOL { > ... code here ... > }(); ... good point. > > Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:8127 > > +- (void)setupMouseGestureRecognizer > > The verb "set up" is two words, not one. So I would name this > setUpMouseGestureRecognizer. This file is alllll mixed up about the capitalization of setUp, so I'll be bold and fix the whole thing :)
Tim Horton
Comment 5 2020-03-19 12:06:17 PDT
Tim Horton
Comment 6 2020-03-19 12:14:00 PDT
Tim Horton
Comment 7 2020-03-19 12:20:08 PDT
Radar WebKit Bug Importer
Comment 8 2020-03-19 12:21:15 PDT
Note You need to log in before you can comment on or make changes to this bug.