GraphicsLayerCARemote.h [plain text]
#pragma once
#include <WebCore/GraphicsLayerCA.h>
#include <WebCore/PlatformLayer.h>
namespace WebKit {
class RemoteLayerTreeContext;
class GraphicsLayerCARemote final : public WebCore::GraphicsLayerCA {
public:
GraphicsLayerCARemote(Type layerType, WebCore::GraphicsLayerClient&, RemoteLayerTreeContext&);
virtual ~GraphicsLayerCARemote();
bool filtersCanBeComposited(const WebCore::FilterOperations& filters) override;
void moveToContext(RemoteLayerTreeContext&);
void clearContext() { m_context = nullptr; }
private:
bool isGraphicsLayerCARemote() const override { return true; }
Ref<WebCore::PlatformCALayer> createPlatformCALayer(WebCore::PlatformCALayer::LayerType, WebCore::PlatformCALayerClient* owner) override;
Ref<WebCore::PlatformCALayer> createPlatformCALayer(PlatformLayer*, WebCore::PlatformCALayerClient* owner) override;
Ref<WebCore::PlatformCALayer> createPlatformCALayerForEmbeddedView(WebCore::PlatformCALayer::LayerType, GraphicsLayer::EmbeddedViewID, WebCore::PlatformCALayerClient* owner) override;
Ref<WebCore::PlatformCAAnimation> createPlatformCAAnimation(WebCore::PlatformCAAnimation::AnimationType, const String& keyPath) override;
bool shouldDirectlyCompositeImage(WebCore::Image*) const override { return false; }
RemoteLayerTreeContext* m_context;
};
}
SPECIALIZE_TYPE_TRAITS_GRAPHICSLAYER(WebKit::GraphicsLayerCARemote, isGraphicsLayerCARemote())