Summary: | WK2: Programatic scroll requests during scroll or zoom animation to reveal focused element are ignored. | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Enrica Casucci <enrica> | ||||
Component: | WebKit2 | Assignee: | Enrica Casucci <enrica> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | cmarcelo, commit-queue, esprehn+autocc, kangil.han | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | iPhone / iPad | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
Enrica Casucci
2014-05-07 12:30:43 PDT
Created attachment 231018 [details]
Patch
Comment on attachment 231018 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=231018&action=review > Source/WebCore/dom/Element.cpp:1983 > - if (document().page()) > - document().page()->chrome().client().elementDidFocus(this); > - > RefPtr<FocusEvent> event = FocusEvent::create(eventNames().focusEvent, false, false, document().defaultView(), 0, oldFocusedElement); > EventDispatcher::dispatchEvent(this, event.release()); > + if (document().page()) > + document().page()->chrome().client().elementDidFocus(this); > } As discussed: let's move this on a separate patch, and handle the programmatic scroll. > Source/WebCore/platform/ScrollableArea.h:72 > + virtual bool inProgrammaticScroll() const { return false; } Please move this to ScrollView. You should also add override on FrameView's implementation. > Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:118 > + BOOL _isAnimatingScrollOrZoom; Let's try to remove this and stop the animations systematically. We will need a more generic heuristic to solve conflicts between user gesture and animation origination from WebProcess's requests. Committed revision 168447. |