Title: [234239] branches/safari-606-branch/Source/WebKit
- Revision
- 234239
- Author
- [email protected]
- Date
- 2018-07-26 00:14:53 -0700 (Thu, 26 Jul 2018)
Log Message
Cherry-pick r234124. rdar://problem/42604550
Crash when loadViewIfRequired called while WKFullScreenViewController is being deallocated.
https://bugs.webkit.org/show_bug.cgi?id=187920
rdar://problem/41324023
Patch by Jeremy Jones <[email protected]> on 2018-07-23
Reviewed by Eric Carlson.
Clear dangling weak-ref.
Prevent async playback state calls from instantiating the interface.
Release WKFullScreenViewController when it is no longer needed.
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController dealloc]):
(-[WKFullScreenViewController setPlaying:]):
(-[WKFullScreenViewController setAnimating:]):
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _completedExitFullScreen]):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-606-branch/Source/WebKit/ChangeLog (234238 => 234239)
--- branches/safari-606-branch/Source/WebKit/ChangeLog 2018-07-26 07:14:50 UTC (rev 234238)
+++ branches/safari-606-branch/Source/WebKit/ChangeLog 2018-07-26 07:14:53 UTC (rev 234239)
@@ -1,5 +1,48 @@
2018-07-25 Babak Shafiei <[email protected]>
+ Cherry-pick r234124. rdar://problem/42604550
+
+ Crash when loadViewIfRequired called while WKFullScreenViewController is being deallocated.
+ https://bugs.webkit.org/show_bug.cgi?id=187920
+ rdar://problem/41324023
+
+ Patch by Jeremy Jones <[email protected]> on 2018-07-23
+ Reviewed by Eric Carlson.
+
+ Clear dangling weak-ref.
+ Prevent async playback state calls from instantiating the interface.
+ Release WKFullScreenViewController when it is no longer needed.
+
+ * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+ (-[WKFullScreenViewController dealloc]):
+ (-[WKFullScreenViewController setPlaying:]):
+ (-[WKFullScreenViewController setAnimating:]):
+ * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
+ (-[WKFullScreenWindowController _completedExitFullScreen]):
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234124 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2018-07-23 Jeremy Jones <[email protected]>
+
+ Crash when loadViewIfRequired called while WKFullScreenViewController is being deallocated.
+ https://bugs.webkit.org/show_bug.cgi?id=187920
+ rdar://problem/41324023
+
+ Reviewed by Eric Carlson.
+
+ Clear dangling weak-ref.
+ Prevent async playback state calls from instantiating the interface.
+ Release WKFullScreenViewController when it is no longer needed.
+
+ * UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
+ (-[WKFullScreenViewController dealloc]):
+ (-[WKFullScreenViewController setPlaying:]):
+ (-[WKFullScreenViewController setAnimating:]):
+ * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
+ (-[WKFullScreenWindowController _completedExitFullScreen]):
+
+2018-07-25 Babak Shafiei <[email protected]>
+
Cherry-pick r234111. rdar://problem/42604691
WebResourceLoadStatisticsStore fails to unregister itself as a MessageReceiver in its destructor
Modified: branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm (234238 => 234239)
--- branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm 2018-07-26 07:14:50 UTC (rev 234238)
+++ branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm 2018-07-26 07:14:53 UTC (rev 234239)
@@ -150,6 +150,7 @@
[NSObject cancelPreviousPerformRequestsWithTarget:self];
[[NSNotificationCenter defaultCenter] removeObserver:self];
+ _playbackClient.setParent(nullptr);
_playbackClient.setInterface(nullptr);
[_target release];
@@ -233,6 +234,10 @@
return;
_playing = isPlaying;
+
+ if (![self viewIfLoaded])
+ return;
+
if (!_playing)
[self showUI];
else {
@@ -256,6 +261,10 @@
if (_animating == animating)
return;
_animating = animating;
+
+ if (![self viewIfLoaded])
+ return
+
[self setNeedsStatusBarAppearanceUpdate];
if (_animating)
Modified: branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm (234238 => 234239)
--- branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm 2018-07-26 07:14:50 UTC (rev 234238)
+++ branches/safari-606-branch/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm 2018-07-26 07:14:53 UTC (rev 234239)
@@ -752,6 +752,7 @@
_repaintCallback->performCallback();
[_fullscreenViewController setPrefersStatusBarHidden:YES];
+ _fullscreenViewController = nil;
}
- (void)close
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes