Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 May 2015 23:12:09 +0000 (23:12 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 20 May 2015 23:12:09 +0000 (23:12 +0000)
commit278f914c94a049b97b36a0d802cb4dff0ae19a7d
tree35f5362cf3a4426501314005a9419a9149b6be5b
parent529f705f9d0908ed787fea61961c8a19e1d948ea
Touching HTMLMediaElement.h or MediaPlayer.h causes a world rebuild.
https://bugs.webkit.org/show_bug.cgi?id=145193

Reviewed by Eric Carlson.

Source/WebCore:

HTMLMediaElement.h and MediaPlayer.h are included in a number of headers solely for access to the enums
defined within the classes contained within. Move these enums into their own--otherwise empty--classes.
Then add `using` declarations to pull those inherited enums back into the namespace of HTMLMediaElement
and MediaPlayer.

Classes and headers which do not need to directly include HTMLMediaElement.h can now include HTMLMediaElementEnums.h
instead; the same goes for MediaPlayer.h and MediaPlayerEnums.h.

* WebCore.xcodeproj/project.pbxproj: Add new files to project.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Move definition here from the header.
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::videoFullscreenGravity): MediaPlayer -> MediaPlayerEnums.
(WebCore::HTMLMediaElement::preloadValue): Ditto.
(WebCore::HTMLMediaElement::TrackGroup::TrackGroup): Deleted; moved to implementation file.
* html/HTMLMediaElementEnums.h: Added.
* html/MediaControllerInterface.h: Inherit from HTMLMediaElementEnums.
* page/ChromeClient.h: HTMLMediaElement -> HTMLMediaElementEnums.
* platform/graphics/MediaPlayer.h: MediaPlayer -> MediaPlayerEnums.
* platform/graphics/MediaPlayerEnums.h: Added.
* platform/ios/WebVideoFullscreenControllerAVKit.h:
* platform/ios/WebVideoFullscreenControllerAVKit.mm:
(-[WebVideoFullscreenController enterFullscreen:mode:]): HTMLMediaElement -> HTMLMediaElementEnums.
* platform/ios/WebVideoFullscreenInterfaceAVKit.h:
* platform/ios/WebVideoFullscreenInterfaceAVKit.mm:
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::enterFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::exitFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::cleanupFullscreenInternal): Ditto.
(WebVideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoOptimized): Ditto.
(WebVideoFullscreenInterfaceAVKit::willStartOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didStopOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::didCancelOptimizedFullscreen): Ditto.
(WebVideoFullscreenInterfaceAVKit::setMode): Ditto.
(WebVideoFullscreenInterfaceAVKit::clearMode): Ditto.
* platform/ios/WebVideoFullscreenModel.h:
* platform/ios/WebVideoFullscreenModelVideoElement.h:
* platform/ios/WebVideoFullscreenModelVideoElement.mm:
(WebVideoFullscreenModelVideoElement::setVideoElement): Ditto.
(WebVideoFullscreenModelVideoElement::fullscreenModeChanged): Ditto.

Source/WebKit/mac:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::enterVideoFullscreenForVideoElement): HTMLMediaElement -> HTMLMediaElementEnums.
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:mode:]): Ditto.
* WebView/WebViewInternal.h:

Source/WebKit2:

Use HTMLMediaElementEnums instead of HTMLMediaElement.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _isShowingVideoOptimized]): HTMLMediaElement -> HTMLMediaElementEnums.
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in:
* UIProcess/ios/WebVideoFullscreenManagerProxy.mm:
(WebKit::WebVideoFullscreenManagerProxy::hasMode): Ditto.
(WebKit::WebVideoFullscreenModelContext::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::setupFullscreenWithID): Ditto.
(WebKit::WebVideoFullscreenManagerProxy::fullscreenModeChanged): Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::enterVideoFullscreenForVideoElement): Ditto.
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/ios/WebVideoFullscreenManager.h:
(WebKit::WebVideoFullscreenInterfaceContext::fullscreenMode): Ditto.
(WebKit::WebVideoFullscreenInterfaceContext::setFullscreenMode): Ditto.
* WebProcess/ios/WebVideoFullscreenManager.messages.in:
* WebProcess/ios/WebVideoFullscreenManager.mm:
(WebKit::WebVideoFullscreenManager::enterVideoFullscreenForVideoElement): Ditto.
(WebKit::WebVideoFullscreenManager::fullscreenModeChanged): Ditto.
(WebKit::WebVideoFullscreenManager::didCleanupFullscreen): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
31 files changed:
Source/WebCore/ChangeLog
Source/WebCore/WebCore.xcodeproj/project.pbxproj
Source/WebCore/html/HTMLMediaElement.cpp
Source/WebCore/html/HTMLMediaElement.h
Source/WebCore/html/HTMLMediaElementEnums.h [new file with mode: 0644]
Source/WebCore/html/MediaControllerInterface.h
Source/WebCore/page/ChromeClient.h
Source/WebCore/platform/graphics/MediaPlayer.h
Source/WebCore/platform/graphics/MediaPlayerEnums.h [new file with mode: 0644]
Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.h
Source/WebCore/platform/ios/WebVideoFullscreenControllerAVKit.mm
Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.h
Source/WebCore/platform/ios/WebVideoFullscreenInterfaceAVKit.mm
Source/WebCore/platform/ios/WebVideoFullscreenModel.h
Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.h
Source/WebCore/platform/ios/WebVideoFullscreenModelVideoElement.mm
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebCoreSupport/WebChromeClient.h
Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
Source/WebKit/mac/WebView/WebView.mm
Source/WebKit/mac/WebView/WebViewInternal.h
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm
Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.h
Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.messages.in
Source/WebKit2/UIProcess/ios/WebVideoFullscreenManagerProxy.mm
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp
Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h
Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.h
Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.messages.in
Source/WebKit2/WebProcess/ios/WebVideoFullscreenManager.mm