https://bugs.webkit.org/show_bug.cgi?id=143593
Reviewed by David Kilzer.
Source/WebCore:
* page/Settings.h: Only defined setAVKitEnabled() if HAVE(AVKIT).
* platform/ios/WebVideoFullscreenControllerAVKit.mm: Only compiled if HAVE(AVKIT).
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Ditto.
Source/WebKit/mac:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Only set WebKitAVKitEnabled to YES if HAVE(AVKIT).
(-[WebPreferences setAVKitEnabled:]): Only set value for WebKitAVKitEnabled if HAVE(AVKIT).
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Only called Settings::setAVKitEnabled() if HAVE(AVKIT).
Source/WebKit2:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mayAutomaticallyShowVideoOptimized]): Returned false if !HAVE(AVKIT).
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy): Removed the check for < iOS 8.2.
(WebKit::WebPageProxy::reattachToWebProcess): Ditto.
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::create): Created a version of this function that returns nullptr if
the minimum required version of iOS is less than 8.2 or if !HAVE(AVKIT).
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences): Only called Settings::setAVKitEnabled(true) if HAVE(AVKIT).
Source/WTF:
* wtf/Platform.h: Defined HAVE(AVKIT) to be true on all Cocoa platforms except Watch OS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@182623
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2015-04-09 Andy Estes <aestes@apple.com>
+
+ [Cocoa] Add a HAVE(AVKIT) and use it
+ https://bugs.webkit.org/show_bug.cgi?id=143593
+
+ Reviewed by David Kilzer.
+
+ * wtf/Platform.h: Defined HAVE(AVKIT) to be true on all Cocoa platforms except Watch OS.
+
2015-04-09 Andy Estes <aestes@apple.com>
[Content Filtering] Add a HAVE(PARENTAL_CONTROLS) and use it
#define HAVE_DTRACE 1
#if !PLATFORM(WATCHOS)
+#define HAVE_AVKIT 1
#define HAVE_PARENTAL_CONTROLS 1
#endif
+2015-04-09 Andy Estes <aestes@apple.com>
+
+ [Cocoa] Add a HAVE(AVKIT) and use it
+ https://bugs.webkit.org/show_bug.cgi?id=143593
+
+ Reviewed by David Kilzer.
+
+ * page/Settings.h: Only defined setAVKitEnabled() if HAVE(AVKIT).
+ * platform/ios/WebVideoFullscreenControllerAVKit.mm: Only compiled if HAVE(AVKIT).
+ * platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Ditto.
+
2015-04-09 Simon Fraser <simon.fraser@apple.com>
Some CSS3 filters tests crash under iOS testing
WEBCORE_EXPORT static void setNetworkInterfaceName(const String&);
static const String& networkInterfaceName();
+#if HAVE(AVKIT)
static void setAVKitEnabled(bool flag) { gAVKitEnabled = flag; }
+#endif
static bool avKitEnabled() { return gAVKitEnabled; }
static void setShouldOptOutOfNetworkStateObservation(bool flag) { gShouldOptOutOfNetworkStateObservation = flag; }
using namespace WebCore;
-#if __IPHONE_OS_VERSION_MIN_REQUIRED <= 80200
+#if __IPHONE_OS_VERSION_MIN_REQUIRED <= 80200 || !HAVE(AVKIT)
@implementation WebVideoFullscreenController
- (void)setVideoElement:(WebCore::HTMLVideoElement*)videoElement
#import "config.h"
-#if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED > 80200
+#if PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED > 80200 && HAVE(AVKIT)
#import "WebVideoFullscreenInterfaceAVKit.h"
+2015-04-09 Andy Estes <aestes@apple.com>
+
+ [Cocoa] Add a HAVE(AVKIT) and use it
+ https://bugs.webkit.org/show_bug.cgi?id=143593
+
+ Reviewed by David Kilzer.
+
+ * WebView/WebPreferences.mm:
+ (+[WebPreferences initialize]): Only set WebKitAVKitEnabled to YES if HAVE(AVKIT).
+ (-[WebPreferences setAVKitEnabled:]): Only set value for WebKitAVKitEnabled if HAVE(AVKIT).
+ * WebView/WebView.mm:
+ (-[WebView _preferencesChanged:]): Only called Settings::setAVKitEnabled() if HAVE(AVKIT).
+
2015-04-09 Chris Dumez <cdumez@apple.com>
[WK2][iOS] editorState() should not cause a synchronous layout
[NSNumber numberWithBool:NO], WebKitMediaPlaybackAllowsInlinePreferenceKey,
[NSNumber numberWithBool:YES], WebKitMediaPlaybackAllowsAirPlayPreferenceKey,
[NSNumber numberWithUnsignedInt:AudioSession::None], WebKitAudioSessionCategoryOverride,
+#if HAVE(AVKIT)
[NSNumber numberWithBool:YES], WebKitAVKitEnabled,
+#endif
[NSNumber numberWithLongLong:WebCore::ApplicationCacheStorage::noQuota()], WebKitApplicationCacheTotalQuota,
// Per-Origin Quota on iOS is 25MB. When the quota is reached for a particular origin
- (void)setAVKitEnabled:(bool)flag
{
+#if HAVE(AVKIT)
[self _setBoolValue:flag forKey:WebKitAVKitEnabled];
+#endif
}
- (BOOL)networkDataUsageTrackingEnabled
settings.setAudioSessionCategoryOverride([preferences audioSessionCategoryOverride]);
settings.setNetworkDataUsageTrackingEnabled([preferences networkDataUsageTrackingEnabled]);
settings.setNetworkInterfaceName([preferences networkInterfaceName]);
+#if HAVE(AVKIT)
settings.setAVKitEnabled([preferences avKitEnabled]);
+#endif
settings.setShouldTransformsAffectOverflow(shouldTransformsAffectOverflow());
settings.setShouldDispatchJavaScriptWindowOnErrorEvents(shouldDispatchJavaScriptWindowOnErrorEvents());
+2015-04-09 Andy Estes <aestes@apple.com>
+
+ [Cocoa] Add a HAVE(AVKIT) and use it
+ https://bugs.webkit.org/show_bug.cgi?id=143593
+
+ Reviewed by David Kilzer.
+
+ * UIProcess/API/Cocoa/WKWebView.mm:
+ (-[WKWebView _mayAutomaticallyShowVideoOptimized]): Returned false if !HAVE(AVKIT).
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::WebPageProxy): Removed the check for < iOS 8.2.
+ (WebKit::WebPageProxy::reattachToWebProcess): Ditto.
+ * UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
+ (WebKit::WebVideoFullscreenManagerProxy::create): Created a version of this function that returns nullptr if
+ the minimum required version of iOS is less than 8.2 or if !HAVE(AVKIT).
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences): Only called Settings::setAVKitEnabled(true) if HAVE(AVKIT).
+
2015-04-09 Hunseop Jeong <hs85.jeong@samsung.com>
Use modern loops in WebProcess
- (BOOL)_mayAutomaticallyShowVideoOptimized
{
-#if (__IPHONE_OS_VERSION_MIN_REQUIRED <= 80200)
+#if (__IPHONE_OS_VERSION_MIN_REQUIRED <= 80200) || !HAVE(AVKIT)
return false;
#else
if (!_page || !_page->videoFullscreenManager())
#if ENABLE(FULLSCREEN_API)
m_fullScreenManager = WebFullScreenManagerProxy::create(*this, m_pageClient.fullScreenManagerProxyClient());
#endif
-#if PLATFORM(IOS) && (__IPHONE_OS_VERSION_MIN_REQUIRED > 80200)
+#if PLATFORM(IOS)
m_videoFullscreenManager = WebVideoFullscreenManagerProxy::create(*this);
#endif
#if ENABLE(VIBRATION)
#if ENABLE(FULLSCREEN_API)
m_fullScreenManager = WebFullScreenManagerProxy::create(*this, m_pageClient.fullScreenManagerProxyClient());
#endif
-#if PLATFORM(IOS) && (__IPHONE_OS_VERSION_MIN_REQUIRED > 80200)
+#if PLATFORM(IOS)
m_videoFullscreenManager = WebVideoFullscreenManagerProxy::create(*this);
#endif
namespace WebKit {
-#if __IPHONE_OS_VERSION_MIN_REQUIRED > 80200
+#if __IPHONE_OS_VERSION_MIN_REQUIRED <= 80200 || !HAVE(AVKIT)
+
+PassRefPtr<WebVideoFullscreenManagerProxy> WebVideoFullscreenManagerProxy::create(WebPageProxy&)
+{
+ return nullptr;
+}
+
+#else
PassRefPtr<WebVideoFullscreenManagerProxy> WebVideoFullscreenManagerProxy::create(WebPageProxy& page)
{
settings.setQTKitEnabled(store.getBoolValueForKey(WebPreferencesKey::isQTKitEnabledKey()));
#endif
-#if PLATFORM(IOS)
+#if PLATFORM(IOS) && HAVE(AVKIT)
settings.setAVKitEnabled(true);
#endif