WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
213867
Crash in +[UIViewController _viewControllerForFullScreenPresentationFromView:] when WKContentView is deallocated
https://bugs.webkit.org/show_bug.cgi?id=213867
Summary
Crash in +[UIViewController _viewControllerForFullScreenPresentationFromView:...
Austin
Reported
2020-07-01 16:02:05 PDT
Crash in +[UIViewController _viewControllerForFullScreenPresentationFromView:] when WKContentView is deallocated
Attachments
Patch
(1.82 KB, patch)
2020-07-01 16:02 PDT
,
Austin
no flags
Details
Formatted Diff
Diff
Patch
(2.19 KB, patch)
2020-07-02 09:50 PDT
,
Austin
no flags
Details
Formatted Diff
Diff
Patch
(2.16 KB, patch)
2020-07-02 14:12 PDT
,
Austin
no flags
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Austin
Comment 1
2020-07-01 16:02:48 PDT
Created
attachment 403326
[details]
Patch
Darin Adler
Comment 2
2020-07-01 16:27:03 PDT
Comment on
attachment 403326
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=403326&action=review
> Source/WebKit/ChangeLog:8 > + No new tests (OOPS!).
Can’t land a patch with this line. Need to delete it.
> Source/WebKit/ChangeLog:11 > + (-[WKFileUploadPanel dismiss]):
Should have a comment here. Even a simple one like "Add a null check." would do.
> Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:288 > - [[UIViewController _viewControllerForFullScreenPresentationFromView:_view.getAutoreleased()] dismissViewControllerAnimated:NO completion:nil]; > + UIView *autoreleasedView = _view.getAutoreleased(); > + if (autoreleasedView) > + [[UIViewController _viewControllerForFullScreenPresentationFromView:autoreleasedView] dismissViewControllerAnimated:NO completion:nil];
It’s wasteful and unnecessary to use getAutoreleased here; you didn’t add it, but it was wrong. Should just be get(). Autoreleased is only needed when the value is returned from an Objective-C function, not when it’s passed into one. Also there is no reason for the local variable. Should just be: if (_view) [[UIViewController _viewControllerForFullScreenPresentationFromView:_view.get()] dismissViewControllerAnimated:NO completion:nil];
Austin
Comment 3
2020-07-02 09:50:13 PDT
Created
attachment 403374
[details]
Patch
Darin Adler
Comment 4
2020-07-02 11:26:51 PDT
Comment on
attachment 403374
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=403374&action=review
> Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:287 > + RetainPtr<WKContentView> view = _view.get(); > + if (view)
OK as is. But could write this: if (RetainPtr<WKContentView> view = _view.get()) or this: if (auto view = retainPtr(_view.get()))
Austin
Comment 5
2020-07-02 14:12:16 PDT
Created
attachment 403394
[details]
Patch
EWS
Comment 6
2020-07-02 15:40:29 PDT
ablackwood@apple.com
does not have committer permissions according to
https://svn.webkit.org/repository/webkit/trunk/Tools/Scripts/webkitpy/common/config/contributors.json
. Rejecting
attachment 403394
[details]
from commit queue.
EWS
Comment 7
2020-07-02 15:44:04 PDT
Committed
r263869
: <
https://trac.webkit.org/changeset/263869
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 403394
[details]
.
Radar WebKit Bug Importer
Comment 8
2020-07-02 15:45:20 PDT
<
rdar://problem/65053840
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug