[chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer...
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Apr 2012 02:00:47 +0000 (02:00 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 24 Apr 2012 02:00:47 +0000 (02:00 +0000)
commit513e288b1ab35b9950db9b3b8b7ee3a5bd0d6f12
tree24c33d54cdb879e378a2ad2f46915cb76225d187
parent901fb75ab6c9c1caa959d7bc62383e343a60bc4e
[chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
https://bugs.webkit.org/show_bug.cgi?id=84311

Reviewed by Adrienne Walker.

Source/Platform:

Remove some unused getters.

* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):

Source/WebCore:

WebGL content's interface with the compositor can be expressed in terms of two basic operations:
1.) Do some stuff
2.) Provide a texture ID for the compositor to use

This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
in TextureLayerChromium to handle the features WebGL needs.

* WebCore.gypi:
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBuffer::~DrawingBuffer):
(DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(WebCore):
(WebCore::DrawingBuffer::platformLayer):
* platform/graphics/chromium/LayerRendererChromium.cpp:
* platform/graphics/chromium/TextureLayerChromium.h:
(TextureLayerChromiumClient):
(WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
(WebCore):
(TextureLayerChromium):
(WebCore::TextureLayerChromium::clearClient):
* platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
* platform/graphics/chromium/WebGLLayerChromium.h: Removed.
* platform/graphics/gpu/DrawingBuffer.h:
(WebCore):
(WebCore::DrawingBuffer::graphicsContext3D):
(DrawingBuffer):

Source/WebKit/chromium:

* WebKit.gypi:
* src/WebExternalTextureLayer.cpp:
(WebKit::WebExternalTextureLayer::create):
* src/WebLayer.cpp:
* tests/WebGLLayerChromiumTest.cpp: Removed.
* tests/WebLayerTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@114983 268f45cc-cd09-0410-ab3c-d52691b4dbfc
21 files changed:
Source/Platform/ChangeLog
Source/Platform/chromium/public/WebExternalTextureLayer.h
Source/WebCore/ChangeLog
Source/WebCore/WebCore.gypi
Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp
Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp
Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h
Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp [deleted file]
Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.h [deleted file]
Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp
Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h
Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h
Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
Source/WebKit/chromium/ChangeLog
Source/WebKit/chromium/WebKit.gypi
Source/WebKit/chromium/src/WebExternalTextureLayer.cpp
Source/WebKit/chromium/src/WebLayer.cpp
Source/WebKit/chromium/tests/DrawingBufferChromiumTest.cpp [moved from Source/WebKit/chromium/tests/WebGLLayerChromiumTest.cpp with 95% similarity]
Source/WebKit/chromium/tests/WebLayerTest.cpp