Summary: | Expose some of WKView's WebViewImpl accessors through WKWebViewPrivate | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Alex Christensen <achristensen> | ||||||||
Component: | New Bugs | Assignee: | Alex Christensen <achristensen> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | jeffm, mitz, simon.fraser, thorton | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Alex Christensen
2017-10-12 15:52:07 PDT
Created attachment 323583 [details]
Patch
Can you add the immediate action methods as well? - (void)_prepareForImmediateActionAnimation; - (void)_cancelImmediateActionAnimation; - (void)_completeImmediateActionAnimation; These methods are overridden in Safari, so the fact that they are no-ops in WebKit is misleading. We need WebKit to invoke these methods at the right time in WKWebView, e.g.: - (void)_web_prepareForImmediateActionAnimation { [self _prepareForImmediateActionAnimation]; } Currently, _web_prepareForImmediateActionAnimation/_web_cancelImmediateActionAnimation/_web_completeImmediateActionAnimation do nothing in WKWebView, unlike WKView. Behavior equivalent to WKView can already be achieved by overriding _web_prepareForImmediateActionAnimation et al. in subclasses, so those are not blocking. We aren't going to add yet another layer of selectors that do nothing but call selectors because a subclass may have overridden it. Those will be added as WKUIDelegatePrivate callbacks when we decide to organize this in a sane way. Comment on attachment 323583 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=323583&action=review > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:403 > +@property (copy, nonatomic, setter=_setUnderlayColor:) NSColor *_underlayColor; Can we put the nonatomic first, like the others? Also would be nice to group this with the the properties below. (In reply to Alex Christensen from comment #4) > Behavior equivalent to WKView can already be achieved by overriding > _web_prepareForImmediateActionAnimation et al. in subclasses, so those are > not blocking. We aren't going to add yet another layer of selectors that do > nothing but call selectors because a subclass may have overridden it. Those > will be added as WKUIDelegatePrivate callbacks when we decide to organize > this in a sane way. I think we don't need these to be _web_ things, since they call self, not super -- we can just call the real thing (without the _web prefix) from WebViewImpl. Created attachment 323607 [details]
Patch
Created attachment 323608 [details]
Patch
Comment on attachment 323608 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=323608&action=review > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:408 > +@property (nonatomic, copy, setter=_setUnderlayColor:) NSColor *_underlayColor; Why is this one not annotated with availability? |