Title: [175980] trunk/Source
Revision
175980
Author
[email protected]
Date
2014-11-11 14:59:28 -0800 (Tue, 11 Nov 2014)

Log Message

[iOS] a page with video in optimized fullscreen is visible
https://bugs.webkit.org/show_bug.cgi?id=138632

Reviewed by Anders Carlsson.

Source/WebCore:

* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
(WebCore::WebVideoFullscreenInterfaceAVKit::mode): Expose fullscreen mode.

Source/WebKit2:

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isPlayingFullscreenOptimizedVideo]): New.

* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::isViewVisible): Return true if displaying optimized fullscreen
    video.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (175979 => 175980)


--- trunk/Source/WebCore/ChangeLog	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebCore/ChangeLog	2014-11-11 22:59:28 UTC (rev 175980)
@@ -1,3 +1,13 @@
+2014-11-11  Eric Carlson  <[email protected]>
+
+        [iOS] a page with video in optimized fullscreen is visible
+        https://bugs.webkit.org/show_bug.cgi?id=138632
+
+        Reviewed by Anders Carlsson.
+
+        * platform/ios/WebVideoFullscreenInterfaceAVKit.h:
+        (WebCore::WebVideoFullscreenInterfaceAVKit::mode): Expose fullscreen mode.
+
 2014-11-11  Myles C. Maxfield  <[email protected]>
 
         Mountain Lion build fix

Modified: trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h (175979 => 175980)


--- trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h	2014-11-11 22:59:28 UTC (rev 175980)
@@ -87,7 +87,9 @@
     WEBCORE_EXPORT virtual void cleanupFullscreen();
     WEBCORE_EXPORT virtual void invalidate();
     WEBCORE_EXPORT virtual void requestHideAndExitFullscreen();
-    
+
+    HTMLMediaElement::VideoFullscreenMode mode() const { return m_mode; }
+
 protected:
         
     RetainPtr<WebAVPlayerController> m_playerController;

Modified: trunk/Source/WebKit2/ChangeLog (175979 => 175980)


--- trunk/Source/WebKit2/ChangeLog	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebKit2/ChangeLog	2014-11-11 22:59:28 UTC (rev 175980)
@@ -1,3 +1,18 @@
+2014-11-11  Eric Carlson  <[email protected]>
+
+        [iOS] a page with video in optimized fullscreen is visible
+        https://bugs.webkit.org/show_bug.cgi?id=138632
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _isPlayingFullscreenOptimizedVideo]): New.
+
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::isViewVisible): Return true if displaying optimized fullscreen
+            video.
+
 2014-11-11  Tim Horton  <[email protected]>
 
         Occasional assertion failure under recommendedScrollbarStyleDidChange()

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (175979 => 175980)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-11-11 22:59:28 UTC (rev 175980)
@@ -90,6 +90,7 @@
 #import "WKScrollView.h"
 #import "WKWebViewContentProviderRegistry.h"
 #import "WebPageMessages.h"
+#import "WebVideoFullscreenManagerProxy.h"
 #import <CoreGraphics/CGFloat.h>
 #import <CoreGraphics/CGPDFDocumentPrivate.h>
 #import <UIKit/UIApplication.h>
@@ -237,6 +238,11 @@
 {
     return deviceOrientationForUIInterfaceOrientation([[UIApplication sharedApplication] statusBarOrientation]);
 }
+
+- (BOOL)_isPlayingFullscreenOptimizedVideo
+{
+    return _page->videoFullscreenManager() && _page->videoFullscreenManager()->mode() == WebCore::HTMLMediaElement::HTMLMediaElement::VideoFullscreenModeOptimized;
+}
 #endif
 
 - (instancetype)initWithFrame:(CGRect)frame configuration:(WKWebViewConfiguration *)configuration

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (175979 => 175980)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h	2014-11-11 22:59:28 UTC (rev 175980)
@@ -98,6 +98,8 @@
 
 - (void)_didSameDocumentNavigationForMainFrame:(WebKit::SameDocumentNavigationType)navigationType;
 
+- (BOOL)_isPlayingFullscreenOptimizedVideo;
+
 @property (nonatomic, readonly) UIEdgeInsets _computedContentInset;
 #else
 @property (nonatomic, setter=_setIgnoresNonWheelMouseEvents:) BOOL _ignoresNonWheelMouseEvents;

Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm (175979 => 175980)


--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm	2014-11-11 22:58:28 UTC (rev 175979)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm	2014-11-11 22:59:28 UTC (rev 175980)
@@ -179,7 +179,7 @@
 
 bool PageClientImpl::isViewVisible()
 {
-    return isViewInWindow() && !m_contentView.isBackground;
+    return isViewInWindow() && (!m_contentView.isBackground || [m_webView _isPlayingFullscreenOptimizedVideo]);
 }
 
 bool PageClientImpl::isViewInWindow()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to