Title: [234300] branches/safari-606-branch/Source/WebCore
- Revision
- 234300
- Author
- [email protected]
- Date
- 2018-07-26 23:02:07 -0700 (Thu, 26 Jul 2018)
Log Message
Cherry-pick r234051. rdar://problem/42451584
First Auto-PiP from Fullscreen too small & animation blocks
https://bugs.webkit.org/show_bug.cgi?id=187745
<rdar://problem/42316583>
Reviewed by Jon Lee.
1) When Auto-PiPing, we don't have the luxury of setting up the fullscreen state
ahead of time; we get notified that PiP has already started. The area of the code
which does this just-in-time setup needs to set the video layer's frame so that the
transform within the PiP window is correct.
2) We generate a placeholder image when going into fullscreen, but we need to do
so synchronously. Create the AVPlayerItemVideoOutput up front at AVPlayerItem creation
time wherever AVPIVO is available.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
* platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::doSetup):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-606-branch/Source/WebCore/ChangeLog (234299 => 234300)
--- branches/safari-606-branch/Source/WebCore/ChangeLog 2018-07-27 06:02:05 UTC (rev 234299)
+++ branches/safari-606-branch/Source/WebCore/ChangeLog 2018-07-27 06:02:07 UTC (rev 234300)
@@ -1,5 +1,54 @@
2018-07-26 Babak Shafiei <[email protected]>
+ Cherry-pick r234051. rdar://problem/42451584
+
+ First Auto-PiP from Fullscreen too small & animation blocks
+ https://bugs.webkit.org/show_bug.cgi?id=187745
+ <rdar://problem/42316583>
+
+ Reviewed by Jon Lee.
+
+ 1) When Auto-PiPing, we don't have the luxury of setting up the fullscreen state
+ ahead of time; we get notified that PiP has already started. The area of the code
+ which does this just-in-time setup needs to set the video layer's frame so that the
+ transform within the PiP window is correct.
+
+ 2) We generate a placeholder image when going into fullscreen, but we need to do
+ so synchronously. Create the AVPlayerItemVideoOutput up front at AVPlayerItem creation
+ time wherever AVPIVO is available.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
+ * platform/ios/VideoFullscreenInterfaceAVKit.mm:
+ (VideoFullscreenInterfaceAVKit::doSetup):
+
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@234051 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2018-07-20 Jer Noble <[email protected]>
+
+ First Auto-PiP from Fullscreen too small & animation blocks
+ https://bugs.webkit.org/show_bug.cgi?id=187745
+ <rdar://problem/42316583>
+
+ Reviewed by Jon Lee.
+
+ 1) When Auto-PiPing, we don't have the luxury of setting up the fullscreen state
+ ahead of time; we get notified that PiP has already started. The area of the code
+ which does this just-in-time setup needs to set the video layer's frame so that the
+ transform within the PiP window is correct.
+
+ 2) We generate a placeholder image when going into fullscreen, but we need to do
+ so synchronously. Create the AVPlayerItemVideoOutput up front at AVPlayerItem creation
+ time wherever AVPIVO is available.
+
+ * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+ (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
+ * platform/ios/VideoFullscreenInterfaceAVKit.mm:
+ (VideoFullscreenInterfaceAVKit::doSetup):
+
+2018-07-26 Babak Shafiei <[email protected]>
+
Cherry-pick r234044. rdar://problem/42433225
REGRESSION(r233969): ASSERT in -[WebAVPlayerLayer setVideoGravity:]
Modified: branches/safari-606-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm (234299 => 234300)
--- branches/safari-606-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2018-07-27 06:02:05 UTC (rev 234299)
+++ branches/safari-606-branch/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm 2018-07-27 06:02:07 UTC (rev 234300)
@@ -1096,7 +1096,7 @@
}
#endif
-#if PLATFORM(WATCHOS)
+#if HAVE(AVFOUNDATION_VIDEO_OUTPUT)
createVideoOutput();
#endif
Modified: branches/safari-606-branch/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm (234299 => 234300)
--- branches/safari-606-branch/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm 2018-07-27 06:02:05 UTC (rev 234299)
+++ branches/safari-606-branch/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm 2018-07-27 06:02:07 UTC (rev 234300)
@@ -1668,9 +1668,12 @@
WebAVPlayerLayer *playerLayer = (WebAVPlayerLayer *)[m_playerLayerView playerLayer];
- [playerLayer setModelVideoLayerFrame:CGRectMake(0, 0, m_inlineRect.width(), m_inlineRect.height())];
+ auto modelVideoLayerFrame = CGRectMake(0, 0, m_inlineRect.width(), m_inlineRect.height());
+ [playerLayer setModelVideoLayerFrame:modelVideoLayerFrame];
[playerLayer setVideoDimensions:[playerController() contentDimensions]];
playerLayer.fullscreenInterface = this;
+ if (m_videoFullscreenModel)
+ m_videoFullscreenModel->setVideoLayerFrame(modelVideoLayerFrame);
if (!m_playerViewController)
m_playerViewController = adoptNS([[WebAVPlayerViewController alloc] initWithFullscreenInterface:this]);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes