Title: [193950] branches/safari-601.1.46-branch/Source/WebCore
Revision
193950
Author
[email protected]
Date
2015-12-11 01:34:06 -0800 (Fri, 11 Dec 2015)

Log Message

Merge r193760. rdar://problem/23727535

Modified Paths

Diff

Modified: branches/safari-601.1.46-branch/Source/WebCore/ChangeLog (193949 => 193950)


--- branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2015-12-11 07:59:41 UTC (rev 193949)
+++ branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2015-12-11 09:34:06 UTC (rev 193950)
@@ -1,5 +1,24 @@
 2015-12-10  Matthew Hanson  <[email protected]>
 
+        Merge r193760. rdar://problem/23727535
+
+    2015-12-08  Jer Noble  <[email protected]>
+
+            [iOS] Adopt WebFullScreenVideoRootViewController.
+            https://bugs.webkit.org/show_bug.cgi?id=151996
+
+            Reviewed by Dan Bernstein.
+
+            Adopt WebFullScreenVideoRootViewController from WebKitAdditions. If it is not available, create and use
+            a generic UIViewController subclass.
+
+            * platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
+            (createFullScreenVideoRootViewControllerClass):
+            (allocWebFullScreenVideoRootViewControllerInstance):
+            (WebVideoFullscreenInterfaceAVKit::setupFullscreen):
+
+2015-12-10  Matthew Hanson  <[email protected]>
+
         Merge r190911. rdar://problem/23432368
 
     2015-10-12  Simon Fraser  <[email protected]>

Modified: branches/safari-601.1.46-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm (193949 => 193950)


--- branches/safari-601.1.46-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2015-12-11 07:59:41 UTC (rev 193949)
+++ branches/safari-601.1.46-branch/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm	2015-12-11 09:34:06 UTC (rev 193950)
@@ -77,7 +77,32 @@
 }
 #endif
 
+#if USE(APPLE_INTERNAL_SDK)
+#import <WebKitAdditions/WebFullScreenVideoRootViewController.m>
+#else
+@interface WebFullScreenVideoRootViewController : UIViewController
+- (instancetype)initWithSourceWindow:(UIWindow *)sourceWindow;
+@end
 
+static Class createFullScreenVideoRootViewControllerClass()
+{
+    Class newClass = objc_allocateClassPair(getUIViewControllerClass(), "WebFullScreenVideoRootViewController", 0);
+
+    class_addMethod(newClass, @selector(initWithSourceWindow:), imp_implementationWithBlock(^(id self, UIWindow*){
+        return [self init];
+    }), "@@:@");
+
+    objc_registerClassPair(newClass);
+    return newClass;
+}
+
+static WebFullScreenVideoRootViewController *allocWebFullScreenVideoRootViewControllerInstance()
+{
+    static Class fullScreenVideoRootViewControllerClass = createFullScreenVideoRootViewControllerClass();
+    return [fullScreenVideoRootViewControllerClass alloc];
+}
+#endif
+
 @class WebAVMediaSelectionOption;
 
 @interface WebAVPlayerController : NSObject <AVPlayerViewControllerDelegate> {
@@ -1070,7 +1095,7 @@
     if (![[parentView window] _isHostedInAnotherProcess]) {
         m_window = adoptNS([allocUIWindowInstance() initWithFrame:[[getUIScreenClass() mainScreen] bounds]]);
         [m_window setBackgroundColor:[getUIColorClass() clearColor]];
-        m_viewController = adoptNS([allocUIViewControllerInstance() init]);
+        m_viewController = adoptNS([allocWebFullScreenVideoRootViewControllerInstance() initWithSourceWindow:[parentView window]]);
         [[m_viewController view] setFrame:[m_window bounds]];
         [m_viewController _setIgnoreAppSupportedOrientations:YES];
         [m_window setRootViewController:m_viewController.get()];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to