| Summary: | WKWebView in a modal presentation dismisses its presenting view controller. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Tom Harrington <tph> | ||||
| Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | RESOLVED DUPLICATE | ||||||
| Severity: | Normal | CC: | joepeck, thorton, wenson_hsieh | ||||
| Priority: | P2 | ||||||
| Version: | Safari 11 | ||||||
| Hardware: | iPhone / iPad | ||||||
| OS: | iOS 11 | ||||||
| Attachments: |
|
||||||
|
Description
Tom Harrington
2018-07-23 14:39:11 PDT
Sorry, I pasted the same backtrace twice. The second one should be as follows.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1
* frame #0: 0x000000018f006130 UIKit`-[UIViewController dismissViewControllerAnimated:completion:]
frame #1: 0x0000000194eb2bd8 WebKit`-[WKActionSheet doneWithSheet:] + 56
frame #2: 0x0000000194eb62a8 WebKit`-[WKActionSheetAssistant cleanupSheet] + 128
frame #3: 0x000000018f006058 UIKit`-[UIAlertController _invokeHandlersForAction:] + 108
frame #4: 0x000000018f41dffc UIKit`__103-[UIAlertController _dismissAnimated:triggeringAction:triggeredByPopoverDimmingView:dismissCompletion:]_block_invoke.461 + 28
frame #5: 0x000000018f012364 UIKit`-[UIPresentationController transitionDidFinish:] + 1320
frame #6: 0x000000018f2a3c88 UIKit`__56-[UIPresentationController runTransitionForCurrentState]_block_invoke.436 + 188
frame #7: 0x000000018ee15b88 UIKit`-[_UIViewControllerTransitionContext completeTransition:] + 116
frame #8: 0x000000018ee15730 UIKit`-[UIViewAnimationBlockDelegate _didEndBlockAnimation:finished:context:] + 760
frame #9: 0x000000018ee150b8 UIKit`-[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 312
frame #10: 0x000000018eefefcc UIKit`-[UIViewAnimationState animationDidStop:finished:] + 296
frame #11: 0x000000018eeff06c UIKit`-[UIViewAnimationState animationDidStop:finished:] + 456
frame #12: 0x00000001893a5504 QuartzCore`CA::Layer::run_animation_callbacks(void*) + 284
frame #13: 0x000000010520d19c libdispatch.dylib`_dispatch_client_callout + 16
frame #14: 0x0000000105211d2c libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1180
frame #15: 0x00000001851b7070 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
frame #16: 0x00000001851b4bc8 CoreFoundation`__CFRunLoopRun + 2272
frame #17: 0x00000001850d4da8 CoreFoundation`CFRunLoopRunSpecific + 552
frame #18: 0x00000001870b9020 GraphicsServices`GSEventRunModal + 100
frame #19: 0x000000018f0f1758 UIKit`UIApplicationMain + 236
*** This bug has been marked as a duplicate of bug 183549 *** (In reply to Tom Harrington from comment #1) > Sorry, I pasted the same backtrace twice. The second one should be as > follows. > > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 4.1 > * frame #0: 0x000000018f006130 UIKit`-[UIViewController > dismissViewControllerAnimated:completion:] > frame #1: 0x0000000194eb2bd8 WebKit`-[WKActionSheet doneWithSheet:] + 56 > frame #2: 0x0000000194eb62a8 WebKit`-[WKActionSheetAssistant > cleanupSheet] + 128 > frame #3: 0x000000018f006058 UIKit`-[UIAlertController > _invokeHandlersForAction:] + 108 > frame #4: 0x000000018f41dffc UIKit`__103-[UIAlertController > _dismissAnimated:triggeringAction:triggeredByPopoverDimmingView: > dismissCompletion:]_block_invoke.461 + 28 > frame #5: 0x000000018f012364 UIKit`-[UIPresentationController > transitionDidFinish:] + 1320 > frame #6: 0x000000018f2a3c88 UIKit`__56-[UIPresentationController > runTransitionForCurrentState]_block_invoke.436 + 188 > frame #7: 0x000000018ee15b88 UIKit`-[_UIViewControllerTransitionContext > completeTransition:] + 116 > frame #8: 0x000000018ee15730 UIKit`-[UIViewAnimationBlockDelegate > _didEndBlockAnimation:finished:context:] + 760 > frame #9: 0x000000018ee150b8 UIKit`-[UIViewAnimationState > sendDelegateAnimationDidStop:finished:] + 312 > frame #10: 0x000000018eefefcc UIKit`-[UIViewAnimationState > animationDidStop:finished:] + 296 > frame #11: 0x000000018eeff06c UIKit`-[UIViewAnimationState > animationDidStop:finished:] + 456 > frame #12: 0x00000001893a5504 > QuartzCore`CA::Layer::run_animation_callbacks(void*) + 284 > frame #13: 0x000000010520d19c libdispatch.dylib`_dispatch_client_callout > + 16 > frame #14: 0x0000000105211d2c > libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1180 > frame #15: 0x00000001851b7070 > CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12 > frame #16: 0x00000001851b4bc8 CoreFoundation`__CFRunLoopRun + 2272 > frame #17: 0x00000001850d4da8 CoreFoundation`CFRunLoopRunSpecific + 552 > frame #18: 0x00000001870b9020 GraphicsServices`GSEventRunModal + 100 > frame #19: 0x000000018f0f1758 UIKit`UIApplicationMain + 236 Thanks for the information and test app, Tom! I believe I've fixed this in <https://bugs.webkit.org/show_bug.cgi?id=183549>, which first went into iOS 12. I installed the test app (DismissDemo) on my build of iOS 12, and could not reproduce; could you verify on any beta version of iOS 12? |