[chromium] Add CompositorSupport interface for constructing compositor classes
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2012 19:52:42 +0000 (19:52 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2012 19:52:42 +0000 (19:52 +0000)
commit6e6c6c4a1e52333c3a73f787968f15e597609c1f
tree2257f0e310e847678d1df70734c0d079270db894
parent7c8cbed9160abbfa6d7e1bc852771c90b8215863
[chromium] Add CompositorSupport interface for constructing compositor classes
https://bugs.webkit.org/show_bug.cgi?id=95040

Reviewed by Darin Fisher.

Source/Platform:

Adds a WebCompositorSupport interface as a tear-off of PlatformSupport so the embedder can handle provide
implementations of compositor interfaces.

Adds a new WebPassOwnPtr<> type for use when the caller of an API must take ownership of the provided parameter.

* Platform.gypi:
* chromium/public/Platform.h:
(WebKit):
(WebKit::Platform::compositorSupport):
(Platform):
* chromium/public/WebCompositorSupport.h: Added.
(WebKit):
(WebCompositorSupport):
(WebKit::WebCompositorSupport::~WebCompositorSupport):

Source/WebCore:

Uses WebCompositorSupport interfaces where appropriate to construct compositor types.

* platform/graphics/chromium/AnimationTranslationUtil.cpp:
(WebCore::createWebAnimation):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):

Source/WebKit/chromium:

* src/LinkHighlight.cpp:
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::startHighlightAnimation):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
* src/WebMediaPlayerClientImpl.h:
(WebKit):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
* src/WebPluginContainerImpl.h:
(WebKit):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@127172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
16 files changed:
Source/Platform/ChangeLog
Source/Platform/Platform.gypi
Source/Platform/chromium/public/Platform.h
Source/Platform/chromium/public/WebCompositorSupport.h [new file with mode: 0644]
Source/Platform/chromium/public/WebPassOwnPtr.h [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp
Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp
Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/src/LinkHighlight.cpp
Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
Source/WebKit/chromium/src/WebPluginContainerImpl.h