diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-22 13:36:28 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-22 13:36:28 +0200 |
commit | c311cf639cc1d6570d67b0a80a8ba04dc992a658 (patch) | |
tree | 6e16fefc7ece11ce4ec1e475a58a537a7acebaf8 /Source/WebKit/chromium/src/WebLayerImpl.cpp | |
parent | 5ef7c8a6a70875d4430752d146bdcb069605d71d (diff) | |
download | qtwebkit-c311cf639cc1d6570d67b0a80a8ba04dc992a658.tar.gz |
Imported WebKit commit 35255d8c2fd37ba4359e75fe0ebe6aec87687f9c (http://svn.webkit.org/repository/webkit/trunk@126284)
New snapshot that includes MSVC 64-bit build fix
Diffstat (limited to 'Source/WebKit/chromium/src/WebLayerImpl.cpp')
-rw-r--r-- | Source/WebKit/chromium/src/WebLayerImpl.cpp | 367 |
1 files changed, 8 insertions, 359 deletions
diff --git a/Source/WebKit/chromium/src/WebLayerImpl.cpp b/Source/WebKit/chromium/src/WebLayerImpl.cpp index 40ced485d..16e1206ca 100644 --- a/Source/WebKit/chromium/src/WebLayerImpl.cpp +++ b/Source/WebKit/chromium/src/WebLayerImpl.cpp @@ -26,376 +26,25 @@ #include "config.h" #include "WebLayerImpl.h" -#include "CCActiveAnimation.h" -#include "LayerChromium.h" -#include "SkMatrix44.h" -#include "WebAnimationImpl.h" -#include <public/WebFloatPoint.h> -#include <public/WebFloatRect.h> -#include <public/WebSize.h> -#include <public/WebTransformationMatrix.h> - -using WebCore::CCActiveAnimation; -using WebCore::LayerChromium; +using namespace WebCore; namespace WebKit { -namespace { - -WebTransformationMatrix transformationMatrixFromSkMatrix44(const SkMatrix44& matrix) -{ - double data[16]; - matrix.asColMajord(data); - return WebTransformationMatrix(data[0], data[1], data[2], data[3], - data[4], data[5], data[6], data[7], - data[8], data[9], data[10], data[11], - data[12], data[13], data[14], data[15]); -} - -SkMatrix44 skMatrix44FromTransformationMatrix(const WebTransformationMatrix& matrix) -{ - SkMatrix44 skMatrix; - skMatrix.set(0, 0, SkDoubleToMScalar(matrix.m11())); - skMatrix.set(1, 0, SkDoubleToMScalar(matrix.m12())); - skMatrix.set(2, 0, SkDoubleToMScalar(matrix.m13())); - skMatrix.set(3, 0, SkDoubleToMScalar(matrix.m14())); - skMatrix.set(0, 1, SkDoubleToMScalar(matrix.m21())); - skMatrix.set(1, 1, SkDoubleToMScalar(matrix.m22())); - skMatrix.set(2, 1, SkDoubleToMScalar(matrix.m23())); - skMatrix.set(3, 1, SkDoubleToMScalar(matrix.m24())); - skMatrix.set(0, 2, SkDoubleToMScalar(matrix.m31())); - skMatrix.set(1, 2, SkDoubleToMScalar(matrix.m32())); - skMatrix.set(2, 2, SkDoubleToMScalar(matrix.m33())); - skMatrix.set(3, 2, SkDoubleToMScalar(matrix.m34())); - skMatrix.set(0, 3, SkDoubleToMScalar(matrix.m41())); - skMatrix.set(1, 3, SkDoubleToMScalar(matrix.m42())); - skMatrix.set(2, 3, SkDoubleToMScalar(matrix.m43())); - skMatrix.set(3, 3, SkDoubleToMScalar(matrix.m44())); - return skMatrix; -} - -} // anonymous namespace - - -WebLayer* WebLayer::create() +PassRefPtr<WebLayerImpl> WebLayerImpl::create() { - return new WebLayerImpl(LayerChromium::create()); + return adoptRef(new WebLayerImpl()); } -WebLayerImpl::WebLayerImpl(PassRefPtr<LayerChromium> layer) - : m_layer(layer) +WebLayerImpl::WebLayerImpl() + : LayerChromium() { + // Make sure that this layer does not draw content. This way we don't have to override + // the base class implementation of drawsContent(). + ASSERT(!drawsContent()); } WebLayerImpl::~WebLayerImpl() { - m_layer->clearRenderSurface(); - m_layer->setLayerAnimationDelegate(0); -} - -int WebLayerImpl::id() const -{ - return m_layer->id(); -} - -void WebLayerImpl::invalidateRect(const WebFloatRect& rect) -{ - m_layer->setNeedsDisplayRect(rect); -} - -void WebLayerImpl::invalidate() -{ - m_layer->setNeedsDisplay(); -} - -void WebLayerImpl::addChild(WebLayer* child) -{ - m_layer->addChild(static_cast<WebLayerImpl*>(child)->layer()); -} - -void WebLayerImpl::insertChild(WebLayer* child, size_t index) -{ - m_layer->insertChild(static_cast<WebLayerImpl*>(child)->layer(), index); -} - -void WebLayerImpl::replaceChild(WebLayer* reference, WebLayer* newLayer) -{ - m_layer->replaceChild(static_cast<WebLayerImpl*>(reference)->layer(), static_cast<WebLayerImpl*>(newLayer)->layer()); -} - -void WebLayerImpl::setChildren(const WebVector<WebLayer*>& webChildren) -{ - Vector<RefPtr<LayerChromium> > children(webChildren.size()); - for (size_t i = 0; i < webChildren.size(); ++i) - children[i] = static_cast<WebLayerImpl*>(webChildren[i])->layer(); - m_layer->setChildren(children); -} - -void WebLayerImpl::removeFromParent() -{ - m_layer->removeFromParent(); -} - -void WebLayerImpl::removeAllChildren() -{ - m_layer->removeAllChildren(); -} - -void WebLayerImpl::setAnchorPoint(const WebFloatPoint& anchorPoint) -{ - m_layer->setAnchorPoint(anchorPoint); -} - -WebFloatPoint WebLayerImpl::anchorPoint() const -{ - return WebFloatPoint(m_layer->anchorPoint()); -} - -void WebLayerImpl::setAnchorPointZ(float anchorPointZ) -{ - m_layer->setAnchorPointZ(anchorPointZ); -} - -float WebLayerImpl::anchorPointZ() const -{ - return m_layer->anchorPointZ(); -} - -void WebLayerImpl::setBounds(const WebSize& size) -{ - m_layer->setBounds(size); -} - -WebSize WebLayerImpl::bounds() const -{ - return WebSize(m_layer->bounds()); -} - -void WebLayerImpl::setMasksToBounds(bool masksToBounds) -{ - m_layer->setMasksToBounds(masksToBounds); -} - -bool WebLayerImpl::masksToBounds() const -{ - return m_layer->masksToBounds(); -} - -void WebLayerImpl::setMaskLayer(WebLayer* maskLayer) -{ - m_layer->setMaskLayer(maskLayer ? static_cast<WebLayerImpl*>(maskLayer)->layer() : 0); -} - -void WebLayerImpl::setReplicaLayer(WebLayer* replicaLayer) -{ - m_layer->setReplicaLayer(replicaLayer ? static_cast<WebLayerImpl*>(replicaLayer)->layer() : 0); -} - -void WebLayerImpl::setOpacity(float opacity) -{ - m_layer->setOpacity(opacity); -} - -float WebLayerImpl::opacity() const -{ - return m_layer->opacity(); -} - -void WebLayerImpl::setOpaque(bool opaque) -{ - m_layer->setOpaque(opaque); -} - -bool WebLayerImpl::opaque() const -{ - return m_layer->opaque(); -} - -void WebLayerImpl::setPosition(const WebFloatPoint& position) -{ - m_layer->setPosition(position); -} - -WebFloatPoint WebLayerImpl::position() const -{ - return WebFloatPoint(m_layer->position()); -} - -void WebLayerImpl::setSublayerTransform(const SkMatrix44& matrix) -{ - m_layer->setSublayerTransform(transformationMatrixFromSkMatrix44(matrix)); -} - -void WebLayerImpl::setSublayerTransform(const WebTransformationMatrix& matrix) -{ - m_layer->setSublayerTransform(matrix); -} - -SkMatrix44 WebLayerImpl::sublayerTransform() const -{ - return skMatrix44FromTransformationMatrix(m_layer->sublayerTransform()); -} - -void WebLayerImpl::setTransform(const SkMatrix44& matrix) -{ - m_layer->setTransform(transformationMatrixFromSkMatrix44(matrix)); -} - -void WebLayerImpl::setTransform(const WebTransformationMatrix& matrix) -{ - m_layer->setTransform(matrix); -} - -SkMatrix44 WebLayerImpl::transform() const -{ - return skMatrix44FromTransformationMatrix(m_layer->transform()); -} - -void WebLayerImpl::setDrawsContent(bool drawsContent) -{ - m_layer->setIsDrawable(drawsContent); -} - -bool WebLayerImpl::drawsContent() const -{ - return m_layer->drawsContent(); -} - -void WebLayerImpl::setPreserves3D(bool preserve3D) -{ - m_layer->setPreserves3D(preserve3D); -} - -void WebLayerImpl::setUseParentBackfaceVisibility(bool useParentBackfaceVisibility) -{ - m_layer->setUseParentBackfaceVisibility(useParentBackfaceVisibility); -} - -void WebLayerImpl::setBackgroundColor(WebColor color) -{ - m_layer->setBackgroundColor(color); -} - -void WebLayerImpl::setFilters(const WebFilterOperations& filters) -{ - m_layer->setFilters(filters); -} - -void WebLayerImpl::setBackgroundFilters(const WebFilterOperations& filters) -{ - m_layer->setBackgroundFilters(filters); -} - -void WebLayerImpl::setDebugBorderColor(const WebColor& color) -{ - m_layer->setDebugBorderColor(color); -} - -void WebLayerImpl::setDebugBorderWidth(float width) -{ - m_layer->setDebugBorderWidth(width); -} - -void WebLayerImpl::setDebugName(WebString name) -{ - m_layer->setDebugName(name); -} - -void WebLayerImpl::setAnimationDelegate(WebAnimationDelegate* delegate) -{ - m_layer->setLayerAnimationDelegate(delegate); -} - -bool WebLayerImpl::addAnimation(WebAnimation* animation) -{ - return m_layer->addAnimation(static_cast<WebAnimationImpl*>(animation)->cloneToCCAnimation()); -} - -void WebLayerImpl::removeAnimation(int animationId) -{ - m_layer->removeAnimation(animationId); -} - -void WebLayerImpl::removeAnimation(int animationId, WebAnimation::TargetProperty targetProperty) -{ - m_layer->layerAnimationController()->removeAnimation(animationId, static_cast<CCActiveAnimation::TargetProperty>(targetProperty)); -} - -void WebLayerImpl::pauseAnimation(int animationId, double timeOffset) -{ - m_layer->pauseAnimation(animationId, timeOffset); -} - -void WebLayerImpl::suspendAnimations(double monotonicTime) -{ - m_layer->suspendAnimations(monotonicTime); -} - -void WebLayerImpl::resumeAnimations(double monotonicTime) -{ - m_layer->resumeAnimations(monotonicTime); -} - -bool WebLayerImpl::hasActiveAnimation() -{ - return m_layer->hasActiveAnimation(); -} - -void WebLayerImpl::transferAnimationsTo(WebLayer* other) -{ - ASSERT(other); - static_cast<WebLayerImpl*>(other)->m_layer->setLayerAnimationController(m_layer->releaseLayerAnimationController()); -} - -void WebLayerImpl::setForceRenderSurface(bool forceRenderSurface) -{ - m_layer->setForceRenderSurface(forceRenderSurface); -} - -void WebLayerImpl::setScrollPosition(WebPoint position) -{ - m_layer->setScrollPosition(position); -} - -void WebLayerImpl::setScrollable(bool scrollable) -{ - m_layer->setScrollable(scrollable); -} - -void WebLayerImpl::setHaveWheelEventHandlers(bool haveWheelEventHandlers) -{ - m_layer->setHaveWheelEventHandlers(haveWheelEventHandlers); -} - -void WebLayerImpl::setShouldScrollOnMainThread(bool shouldScrollOnMainThread) -{ - m_layer->setShouldScrollOnMainThread(shouldScrollOnMainThread); -} - -void WebLayerImpl::setNonFastScrollableRegion(const WebVector<WebRect>& rects) -{ - WebCore::Region region; - for (size_t i = 0; i < rects.size(); ++i) { - WebCore::IntRect rect = rects[i]; - region.unite(rect); - } - m_layer->setNonFastScrollableRegion(region); - -} - -void WebLayerImpl::setIsContainerForFixedPositionLayers(bool enable) -{ - m_layer->setIsContainerForFixedPositionLayers(enable); -} - -void WebLayerImpl::setFixedToContainerLayer(bool enable) -{ - m_layer->setFixedToContainerLayer(enable); -} - -LayerChromium* WebLayerImpl::layer() const -{ - return m_layer.get(); } } // namespace WebKit |