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