[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