[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-10851-g50815da

cmarrin at apple.com cmarrin at apple.com
Wed Dec 22 17:56:48 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit cd27c75b96dd7889489991b47f5c13dc957df7d9
Author: cmarrin at apple.com <cmarrin at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Dec 3 02:24:27 2010 +0000

    2010-12-02  Chris Marrin  <cmarrin at apple.com>
    
            Reviewed by Simon Fraser.
    
            Fix Leopard build broken by http://trac.webkit.org/changeset/73217
    
            * platform/graphics/ca/GraphicsLayerCA.cpp:
            (WebCore::getTransformFunctionValue):
            (WebCore::GraphicsLayerCA::updateContentsTransform):
            * platform/graphics/ca/PlatformCALayer.h:
            * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
            (PlatformCAAnimation::valueFunction):
            (PlatformCAAnimation::setValueFunction):
            * platform/graphics/ca/mac/PlatformCALayerMac.mm:
            (PlatformCALayer::PlatformCALayer):
            (PlatformCALayer::anchorPoint):
            (PlatformCALayer::setAnchorPoint):
            (PlatformCALayer::contentsTransform):
            (PlatformCALayer::setContentsTransform):
            (PlatformCALayer::isGeometryFlipped):
            (PlatformCALayer::setGeometryFlipped):
            (PlatformCALayer::setMinificationFilter):
            (PlatformCALayer::setMagnificationFilter):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73227 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index f0b2b99..28d5eb8 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,27 @@
+2010-12-02  Chris Marrin  <cmarrin at apple.com>
+
+        Reviewed by Simon Fraser.
+
+        Fix Leopard build broken by http://trac.webkit.org/changeset/73217
+
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::getTransformFunctionValue):
+        (WebCore::GraphicsLayerCA::updateContentsTransform):
+        * platform/graphics/ca/PlatformCALayer.h:
+        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
+        (PlatformCAAnimation::valueFunction):
+        (PlatformCAAnimation::setValueFunction):
+        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
+        (PlatformCALayer::PlatformCALayer):
+        (PlatformCALayer::anchorPoint):
+        (PlatformCALayer::setAnchorPoint):
+        (PlatformCALayer::contentsTransform):
+        (PlatformCALayer::setContentsTransform):
+        (PlatformCALayer::isGeometryFlipped):
+        (PlatformCALayer::setGeometryFlipped):
+        (PlatformCALayer::setMinificationFilter):
+        (PlatformCALayer::setMagnificationFilter):
+
 2010-12-02  Dan Bernstein  <mitz at apple.com>
 
         Reviewed by Dave Hyatt.
diff --git a/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp b/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
index 133f1e2..6a425a7 100644
--- a/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
+++ b/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
@@ -109,25 +109,25 @@ static void getTransformFunctionValue(const TransformOperation* transformOp, Tra
     case TransformOperation::ROTATE:
     case TransformOperation::ROTATE_X:
     case TransformOperation::ROTATE_Y:
-        value = transformOp ? deg2rad(static_cast<const RotateTransformOperation*>(transformOp)->angle()) : 0;
+        value = transformOp ? narrowPrecisionToFloat(deg2rad(static_cast<const RotateTransformOperation*>(transformOp)->angle())) : 0;
         break;
     case TransformOperation::SCALE_X:
-        value = transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->x() : 1;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->x()) : 1;
         break;
     case TransformOperation::SCALE_Y:
-        value = transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->y() : 1;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->y()) : 1;
         break;
     case TransformOperation::SCALE_Z:
-        value = transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->z() : 1;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->z()) : 1;
         break;
     case TransformOperation::TRANSLATE_X:
-        value = transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->x(size) : 0;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->x(size)) : 0;
         break;
     case TransformOperation::TRANSLATE_Y:
-        value = transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->y(size) : 0;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->y(size)) : 0;
         break;
     case TransformOperation::TRANSLATE_Z:
-        value = transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->z(size) : 0;
+        value = transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->z(size)) : 0;
         break;
     default:
         break;
@@ -139,15 +139,15 @@ static void getTransformFunctionValue(const TransformOperation* transformOp, Tra
     switch (transformType) {
     case TransformOperation::SCALE:
     case TransformOperation::SCALE_3D:
-        value.setX(transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->x() : 1);
-        value.setY(transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->y() : 1);
-        value.setZ(transformOp ? static_cast<const ScaleTransformOperation*>(transformOp)->z() : 1);
+        value.setX(transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->x()) : 1);
+        value.setY(transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->y()) : 1);
+        value.setZ(transformOp ? narrowPrecisionToFloat(static_cast<const ScaleTransformOperation*>(transformOp)->z()) : 1);
         break;
     case TransformOperation::TRANSLATE:
     case TransformOperation::TRANSLATE_3D:
-        value.setX(transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->x(size) : 0);
-        value.setY(transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->y(size) : 0);
-        value.setZ(transformOp ? static_cast<const TranslateTransformOperation*>(transformOp)->z(size) : 0);
+        value.setX(transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->x(size)) : 0);
+        value.setY(transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->y(size)) : 0);
+        value.setZ(transformOp ? narrowPrecisionToFloat(static_cast<const TranslateTransformOperation*>(transformOp)->z(size)) : 0);
         break;
     default:
         break;
@@ -1991,8 +1991,9 @@ void GraphicsLayerCA::updateContentsTransform()
 #if !HAVE_MODERN_QUARTZCORE
     if (contentsOrientation() == CompositingCoordinatesBottomUp) {
         CGAffineTransform contentsTransform = CGAffineTransformMakeScale(1, -1);
-        contentsTransform = CGAffineTransformTranslate(contentsTransform, 0, -[m_layer.get() bounds].size.height);
-        [m_layer.get() setContentsTransform:contentsTransform];
+        contentsTransform = CGAffineTransformTranslate(contentsTransform, 0, -m_layer->bounds().size().height());
+        TransformationMatrix transform3D(contentsTransform.a, contentsTransform.b, contentsTransform.c, contentsTransform.d, contentsTransform.tx, contentsTransform.ty);
+        m_layer->setContentsTransform(TransformationMatrix(transform3D));
     }
 #endif
 }
diff --git a/WebCore/platform/graphics/ca/PlatformCALayer.h b/WebCore/platform/graphics/ca/PlatformCALayer.h
index ee08880..93ae80c 100644
--- a/WebCore/platform/graphics/ca/PlatformCALayer.h
+++ b/WebCore/platform/graphics/ca/PlatformCALayer.h
@@ -132,6 +132,9 @@ public:
     TransformationMatrix sublayerTransform() const;
     void setSublayerTransform(const TransformationMatrix&);
 
+    TransformationMatrix contentsTransform() const;
+    void setContentsTransform(const TransformationMatrix&);
+
     bool isHidden() const;
     void setHidden(bool);
 
diff --git a/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm b/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
index 1efb58c..19a0769 100644
--- a/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
+++ b/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
@@ -33,6 +33,7 @@
 #import "PlatformString.h"
 #import "TimingFunction.h"
 #import <QuartzCore/QuartzCore.h>
+#import <wtf/UnusedParam.h>
 
 #define HAVE_MODERN_QUARTZCORE (!defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD))
 
@@ -83,6 +84,7 @@ static PlatformCAAnimation::FillModeType fromCAFillModeType(NSString* string)
     return PlatformCAAnimation::Forwards;
 }
 
+#if HAVE_MODERN_QUARTZCORE
 static NSString* toCAValueFunctionType(PlatformCAAnimation::ValueFunctionType type)
 {
     switch (type) {
@@ -139,6 +141,7 @@ static PlatformCAAnimation::ValueFunctionType fromCAValueFunctionType(NSString*
 
     return PlatformCAAnimation::NoValueFunction;
 }
+#endif
 
 static CAMediaTimingFunction* toCAMediaTimingFunction(const TimingFunction* timingFunction)
 {
@@ -358,13 +361,21 @@ void PlatformCAAnimation::setAdditive(bool value)
 
 PlatformCAAnimation::ValueFunctionType PlatformCAAnimation::valueFunction() const
 {
+#if HAVE_MODERN_QUARTZCORE
     CAValueFunction* vf = [m_animation.get() valueFunction];
     return fromCAValueFunctionType([vf name]);
+#else
+    return NoValueFunction;
+#endif
 }
 
 void PlatformCAAnimation::setValueFunction(ValueFunctionType value)
 {
+#if HAVE_MODERN_QUARTZCORE
     [m_animation.get() setValueFunction:[CAValueFunction functionWithName:toCAValueFunctionType(value)]];
+#else
+    UNUSED_PARAM(value);
+#endif
 }
 
 void PlatformCAAnimation::setFromValue(float value)
diff --git a/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm b/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm
index 334dd28..c3ad10d 100644
--- a/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm
+++ b/WebCore/platform/graphics/ca/mac/PlatformCALayerMac.mm
@@ -39,6 +39,9 @@
 #import <objc/objc-runtime.h>
 #import <QuartzCore/QuartzCore.h>
 #import <wtf/CurrentTime.h>
+#import <wtf/UnusedParam.h>
+
+#define HAVE_MODERN_QUARTZCORE (!defined(BUILDING_ON_TIGER) && !defined(BUILDING_ON_LEOPARD))
 
 using namespace WebCore;
 
@@ -146,6 +149,7 @@ static NSDictionary* nullActionsDictionary()
     return actions;
 }
 
+#if HAVE_MODERN_QUARTZCORE
 static NSString* toCAFilterType(PlatformCALayer::FilterType type)
 {
     switch (type) {
@@ -155,6 +159,7 @@ static NSString* toCAFilterType(PlatformCALayer::FilterType type)
     default: return 0;
     }
 }
+#endif
 
 PassRefPtr<PlatformCALayer> PlatformCALayer::create(LayerType layerType, GraphicsLayerCA* owner)
 {
@@ -184,9 +189,11 @@ PlatformCALayer::PlatformCALayer(LayerType layerType, PlatformLayer* layer, Grap
             case LayerTypeWebLayer:
                 layerClass = [WebLayer class];
                 break;
+#if HAVE_MODERN_QUARTZCORE
             case LayerTypeTransformLayer:
                 layerClass = [CATransformLayer class];
                 break;
+#endif
             case LayerTypeWebTiledLayer:
                 layerClass = [WebTiledLayer class];
                 break;
@@ -434,14 +441,20 @@ void PlatformCALayer::setPosition(const FloatPoint3D& value)
 FloatPoint3D PlatformCALayer::anchorPoint() const
 {
     CGPoint point = [m_layer.get() anchorPoint];
-    return FloatPoint3D(point.x, point.y, [m_layer.get() anchorPointZ]);
+    float z = 0;
+#if HAVE_MODERN_QUARTZCORE
+    z = [m_layer.get() anchorPointZ];
+#endif
+    return FloatPoint3D(point.x, point.y, z);
 }
 
 void PlatformCALayer::setAnchorPoint(const FloatPoint3D& value)
 {
     BEGIN_BLOCK_OBJC_EXCEPTIONS
     [m_layer.get() setAnchorPoint:CGPointMake(value.x(), value.y())];
+#if HAVE_MODERN_QUARTZCORE
     [m_layer.get() setAnchorPointZ:value.z()];
+#endif
     END_BLOCK_OBJC_EXCEPTIONS
 }
 
@@ -475,6 +488,34 @@ void PlatformCALayer::setSublayerTransform(const TransformationMatrix& value)
     END_BLOCK_OBJC_EXCEPTIONS
 }
 
+TransformationMatrix PlatformCALayer::contentsTransform() const
+{
+#if !HAVE_MODERN_QUARTZCORE
+    if (m_layerType != LayerTypeWebLayer)
+        return TransformationMatrix();
+        
+    CGAffineTransform t = [static_cast<WebLayer*>(m_layer.get()) contentsTransform];
+    return TransformationMatrix(t.a, t.b, t.c, t.d, t.tx, t.ty);
+#else
+    return TransformationMatrix();
+#endif
+}
+
+void PlatformCALayer::setContentsTransform(const TransformationMatrix& value)
+{
+#if !HAVE_MODERN_QUARTZCORE
+    if (m_layerType != LayerTypeWebLayer)
+        return;
+
+    CGAffineTransform transform = value;
+    BEGIN_BLOCK_OBJC_EXCEPTIONS
+    [m_layer.get() setContentsTransform:transform];
+    END_BLOCK_OBJC_EXCEPTIONS
+#else
+    UNUSED_PARAM(value);
+#endif
+}
+
 bool PlatformCALayer::isHidden() const
 {
     return [m_layer.get() isHidden];
@@ -489,14 +530,22 @@ void PlatformCALayer::setHidden(bool value)
 
 bool PlatformCALayer::isGeometryFlipped() const
 {
+#if HAVE_MODERN_QUARTZCORE
     return [m_layer.get() isGeometryFlipped];
+#else
+    return false;
+#endif
 }
 
 void PlatformCALayer::setGeometryFlipped(bool value)
 {
+#if HAVE_MODERN_QUARTZCORE
     BEGIN_BLOCK_OBJC_EXCEPTIONS
     [m_layer.get() setGeometryFlipped:value];
     END_BLOCK_OBJC_EXCEPTIONS
+#else
+    UNUSED_PARAM(value);
+#endif
 }
 
 bool PlatformCALayer::isDoubleSided() const
@@ -549,14 +598,24 @@ void PlatformCALayer::setContentsRect(const FloatRect& value)
 
 void PlatformCALayer::setMinificationFilter(FilterType value)
 {
+#if HAVE_MODERN_QUARTZCORE
+    BEGIN_BLOCK_OBJC_EXCEPTIONS
     [m_layer.get() setMinificationFilter:toCAFilterType(value)];
+    END_BLOCK_OBJC_EXCEPTIONS
+#else
+    UNUSED_PARAM(value);
+#endif
 }
 
 void PlatformCALayer::setMagnificationFilter(FilterType value)
 {
+#if HAVE_MODERN_QUARTZCORE
     BEGIN_BLOCK_OBJC_EXCEPTIONS
     [m_layer.get() setMagnificationFilter:toCAFilterType(value)];
     END_BLOCK_OBJC_EXCEPTIONS
+#else
+    UNUSED_PARAM(value);
+#endif
 }
 
 Color PlatformCALayer::backgroundColor() const

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list