[Webkit-unassigned] [Bug 165225] UIViewController with WkWebView presented modally causes the presented UIViewController to be dismissed.
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Dec 1 17:01:03 PST 2016
https://bugs.webkit.org/show_bug.cgi?id=165225
--- Comment #7 from Brad Wright <bwright2 at apple.com> ---
(In reply to comment #6)
> (In reply to comment #5)
> > Comment on attachment 295877 [details]
> > Patch
> >
> > View in context:
> > https://bugs.webkit.org/attachment.cgi?id=295877&action=review
> >
> > > Source/WebKit2/ChangeLog:3
> > > + UIViewController with WkWebView presented modally causes the presented UIViewController to be dismissed.
> >
> > This title seems insufficient. It seems the issues is specific to File
> > Upload so that should be mentioned.
> >
> > Perhaps a better title would be:
> >
> > WKWebView file upload dialog may incorrectly dismiss unrelated modal
> > view controller
> >
> > Does that sound accurate to you?
> >
> > > Source/WebKit2/UIProcess/ios/forms/WKFileUploadPanel.mm:557
> > > - if (UICurrentUserInterfaceIdiomIsPad())
> > > + if (UICurrentUserInterfaceIdiomIsPad()) {
> > > [self _presentPopoverWithContentViewController:viewController animated:YES];
> > > - else
> > > - [self _presentFullscreenViewController:viewController animated:YES];
> > > + } else {
> >
> > Style: WebKit's Style guideline is to not use braces for single statement
> > conditional blocks. So these braces for the if should not be added. The
> > else, which is multiline should have braces.
> > https://webkit.org/code-style-guidelines/#braces-one-line
> >
> > > Source/WebKit2/UIProcess/ios/forms/WKFileUploadPanel.mm:560
> > > + _presentationViewController = nil;
> >
> > Hmm, this doesn't seem right.
> >
> > - The previous code attempts to dismiss the old view controller it
> > presented and is then presenting the new view controller.
> > - The new code ignores the old view controller and presents the new view
> > controller.
>
> You don't need to dismiss this view controller because it dismisses itself.
> By explicitly calling another dismiss, the code is a duplicate dismiss which
> then removes the modal view controller.
>
> This problem will never appear in Safari, because there are no modally
> presented views. If you run the same sample project that I uploaded on the iPad, you
> will see that the modal view controller is not dismissed. This is because
> the popup VC code path does not call dismissViewControllerAnimated. The
> problem only happens on a modal VC with a WkWebView and on the iPhone.
>
> >
> > Shouldn't we continue to dismiss the old view controller? if
> > _presentationViewController was the incorrect view controller to be
> > dismissing (an ancestor), then perhaps _presentationViewController's
> > presentedViewController would be the correct view controller to dismiss
> > instead of dismissing nothing.
> >
> > What do you think?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161202/51b22ea1/attachment.html>
More information about the webkit-unassigned
mailing list