Summary: | doAfterNextPresentationUpdate should not be called while content is hidden due to animated resize | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Tim Horton <thorton> | ||||||||
Component: | New Bugs | Assignee: | Tim Horton <thorton> | ||||||||
Status: | RESOLVED FIXED | ||||||||||
Severity: | Normal | CC: | bdakin, commit-queue, ews-watchlist, simon.fraser, wenson_hsieh | ||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||
Version: | WebKit Nightly Build | ||||||||||
Hardware: | Unspecified | ||||||||||
OS: | Unspecified | ||||||||||
Attachments: |
|
Description
Tim Horton
2018-07-09 18:01:23 PDT
Created attachment 344649 [details]
Patch
Attachment 344649 [details] did not pass style-queue:
ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350: Extra space before ( in function call [whitespace/parens] [4]
Total errors found: 1 in 6 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 344649 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344649&action=review > Source/WebKit/ChangeLog:14 > + and asynchronously hide it when the resize/rotation is complete. This "asynchronously hide" -> "asynchronously show"? > Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6358 > +- (void)_internalDoAfterNextPresentationUpdate:(void (^)(void))updateBlock withoutWaitingForPainting:(BOOL)withoutWaitingForPainting withoutWaitingForAnimatedResize:(BOOL)withoutWaitingForAnimatedResize The "without" BOOLs lead to hard to read code (imagine withoutWaitingForPainting:NO which is a double negative). > Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6378 > + if (!withoutWaitingForAnimatedResize && strongSelf->_dynamicViewportUpdateMode != WebKit::DynamicViewportUpdateMode::NotResizing) { Now I have to think about what !withoutWaitingForAnimatedResize means > Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6394 > + [self _internalDoAfterNextPresentationUpdate:updateBlock withoutWaitingForPainting:NO withoutWaitingForAnimatedResize:NO]; Arg Comment on attachment 344649 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344649&action=review >> Source/WebKit/ChangeLog:14 >> + and asynchronously hide it when the resize/rotation is complete. This > > "asynchronously hide" -> "asynchronously show"? ... yes >> Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:6358 >> +- (void)_internalDoAfterNextPresentationUpdate:(void (^)(void))updateBlock withoutWaitingForPainting:(BOOL)withoutWaitingForPainting withoutWaitingForAnimatedResize:(BOOL)withoutWaitingForAnimatedResize > > The "without" BOOLs lead to hard to read code (imagine withoutWaitingForPainting:NO which is a double negative). I know, but withoutWaitingForPainting is the name of the existing and used SPI :( Created attachment 344668 [details]
Patch
Attachment 344668 [details] did not pass style-queue:
ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350: Extra space before ( in function call [whitespace/parens] [4]
Total errors found: 1 in 6 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 344649 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=344649&action=review > Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:456 > +- (void)_doAfterNextPresentationUpdateWithoutWaitingForAnimatedResize:(void (^)(void))updateBlock WK_API_AVAILABLE(macosx(WK_MAC_TBA), ios(WK_IOS_TBA)); For testing? Created attachment 344719 [details]
Patch
Attachment 344719 [details] did not pass style-queue:
ERROR: Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:350: Extra space before ( in function call [whitespace/parens] [4]
Total errors found: 1 in 6 files
If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 344719 [details] Patch Clearing flags on attachment: 344719 Committed r233698: <https://trac.webkit.org/changeset/233698> All reviewed patches have been landed. Closing bug. |