[chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
https://bugs.webkit.org/show_bug.cgi?id=83963
Reviewed by Adrienne Walker.
Source/Platform:
Adds a compositor layer type for video, WebVideoLayer, and a WebVideoProvider interface.
* Platform.gypi:
* chromium/public/WebContentLayer.h:
(WebContentLayer):
* chromium/public/WebLayer.h:
(WebLayer):
(WebKit::WebLayer::unwrap):
* chromium/public/WebVideoFrameProvider.h: Renamed from Source/WebCore/platform/graphics/chromium/VideoFrameProvider.h.
(WebKit):
(WebVideoFrameProvider):
(WebKit::WebVideoFrameProvider::~WebVideoFrameProvider):
(Client):
* chromium/public/WebVideoLayer.h: Copied from Source/WebKit/chromium/src/WebContentLayer.cpp.
(WebCore):
(WebKit):
(WebVideoLayer):
(WebKit::WebVideoLayer::WebVideoLayer):
(WebKit::WebVideoLayer::~WebVideoLayer):
Source/WebCore:
Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
WebCore VideoFrameProvider.
* WebCore.gypi:
* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::create):
(WebCore::VideoLayerChromium::VideoLayerChromium):
* platform/graphics/chromium/VideoLayerChromium.h:
(WebKit):
(WebCore):
(VideoLayerChromium):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(WebCore::CCVideoLayerImpl::create):
(CCVideoLayerImpl):
Source/WebKit/chromium:
Adds implementation of WebVideoLayer and ports WebMediaPlayerClientImpl over to using it.
WebMediaPlayerClientImpl still exposes a WebCore::VideoLayerChromium* to the compositor via the platformLayer()
interface, but this is temporary until we can change the PlatformLayer typedef over to WebLayer.
* WebKit.gyp:
* src/WebContentLayer.cpp:
* src/WebLayer.cpp:
(WebKit::WebLayer::invalidate):
(WebKit):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
(WebKit::WebMediaPlayerClientImpl::supportsType):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebVideoLayer.cpp: Copied from Source/WebKit/chromium/src/WebContentLayer.cpp.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayer::WebVideoLayer):
(WebKit::WebVideoLayer::active):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114335
268f45cc-cd09-0410-ab3c-
d52691b4dbfc