[chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl...
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Apr 2012 03:04:11 +0000 (03:04 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 17 Apr 2012 03:04:11 +0000 (03:04 +0000)
commitd3282f021ab9356c3642fc042d5d5ed4c1e09b74
treea767d4ec3136945cf84e0a70460d0400abf6db37
parent6733a9c1fef8795df6c34ff3abbd88fb82c91d88
[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
19 files changed:
Source/Platform/ChangeLog
Source/Platform/Platform.gypi
Source/Platform/chromium/public/WebContentLayer.h
Source/Platform/chromium/public/WebLayer.h
Source/Platform/chromium/public/WebVideoFrameProvider.h [moved from Source/WebCore/platform/graphics/chromium/VideoFrameProvider.h with 70% similarity]
Source/Platform/chromium/public/WebVideoLayer.h [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/VideoLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/VideoLayerChromium.h
Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gyp
Source/WebKit/chromium/src/WebContentLayer.cpp
Source/WebKit/chromium/src/WebLayer.cpp
Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
Source/WebKit/chromium/src/WebVideoLayer.cpp [new file with mode: 0644]