RESOLVED FIXED 187739
-_beginAnimatedResizeWithUpdates: can leave view in bad state if called during an existing animation
https://bugs.webkit.org/show_bug.cgi?id=187739
Summary -_beginAnimatedResizeWithUpdates: can leave view in bad state if called durin...
Jer Noble
Reported 2018-07-17 14:44:35 PDT
-_beginAnimatedResizeWithUpdates: can leave view in bad state if called during an existing animation
Attachments
Patch (4.23 KB, patch)
2018-07-17 14:58 PDT, Jer Noble
no flags
Patch (5.68 KB, patch)
2018-07-17 16:07 PDT, Jer Noble
no flags
Patch (8.75 KB, patch)
2018-07-17 17:28 PDT, Jer Noble
no flags
Archive of layout-test-results from ews201 for win-future (13.09 MB, application/zip)
2018-07-18 01:41 PDT, EWS Watchlist
no flags
Jer Noble
Comment 1 2018-07-17 14:58:09 PDT
Radar WebKit Bug Importer
Comment 2 2018-07-17 14:59:18 PDT
Tim Horton
Comment 3 2018-07-17 15:27:04 PDT
Comment on attachment 345194 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345194&action=review > Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2906 > + [_resizeAnimationView removeFromSuperview]; resizeAnimationView has the WKContentView as its subview so you just tossed it. Look at the existing code that does this to see how to clean up correctly
Jer Noble
Comment 4 2018-07-17 16:07:17 PDT
Tim Horton
Comment 5 2018-07-17 16:17:34 PDT
Comment on attachment 345204 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345204&action=review > Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2925 > - _dynamicViewportUpdateMode = WebKit::DynamicViewportUpdateMode::NotResizing; > + [self _cancelAnimatedResize]; IIIIII don't know about this one. Does your code do anything even remotely acceptable if _resizeAnimationView is nil?
Jer Noble
Comment 6 2018-07-17 16:24:50 PDT
Comment on attachment 345204 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=345204&action=review >> Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:2925 >> + [self _cancelAnimatedResize]; > > IIIIII don't know about this one. Does your code do anything even remotely acceptable if _resizeAnimationView is nil? Hmm, -indexOfObject: will fail, and we may move _scrollView to the end. But yeah, that should probably be protected by: "if (!_customContentView && _resizeAnimationView)".
Tim Horton
Comment 7 2018-07-17 16:26:01 PDT
Other than that, it seems OK, but I am afraid. Also, this should be trivially API testable.
Tim Horton
Comment 8 2018-07-17 16:26:10 PDT
There's already a file full of them.
Jer Noble
Comment 9 2018-07-17 17:28:40 PDT
EWS Watchlist
Comment 10 2018-07-18 01:41:27 PDT
Comment on attachment 345212 [details] Patch Attachment 345212 [details] did not pass win-ews (win): Output: https://webkit-queues.webkit.org/results/8572226 New failing tests: http/tests/preload/onload_event.html
EWS Watchlist
Comment 11 2018-07-18 01:41:38 PDT
Created attachment 345233 [details] Archive of layout-test-results from ews201 for win-future The attached test failures were seen while running run-webkit-tests on the win-ews. Bot: ews201 Port: win-future Platform: CYGWIN_NT-6.1-2.9.0-0.318-5-3-x86_64-64bit
WebKit Commit Bot
Comment 12 2018-07-18 12:52:01 PDT
Comment on attachment 345212 [details] Patch Clearing flags on attachment: 345212 Committed r233927: <https://trac.webkit.org/changeset/233927>
WebKit Commit Bot
Comment 13 2018-07-18 12:52:02 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.