Diff
Modified: trunk/LayoutTests/ChangeLog (138832 => 138833)
--- trunk/LayoutTests/ChangeLog 2013-01-04 20:30:06 UTC (rev 138832)
+++ trunk/LayoutTests/ChangeLog 2013-01-04 20:32:35 UTC (rev 138833)
@@ -1,3 +1,15 @@
+2013-01-04 Mike Lawther <mikelawt...@chromium.org>
+
+ CSS3 calc: working with translate and scale transforms
+ https://bugs.webkit.org/show_bug.cgi?id=105985
+
+ Reviewed by Ojan Vafai.
+
+ * css3/calc/transforms-scale-expected.html: Added.
+ * css3/calc/transforms-scale.html: Added.
+ * css3/calc/transforms-translate-expected.html: Added.
+ * css3/calc/transforms-translate.html: Added.
+
2013-01-04 Elliott Sprehn <espr...@chromium.org>
PseudoElement should never dispatch events
Added: trunk/LayoutTests/css3/calc/transforms-scale-expected.html (0 => 138833)
--- trunk/LayoutTests/css3/calc/transforms-scale-expected.html (rev 0)
+++ trunk/LayoutTests/css3/calc/transforms-scale-expected.html 2013-01-04 20:32:35 UTC (rev 138833)
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<style>
+ div {
+ width:100px;
+ height:100px;
+ margin:50px;
+ background-color:green;
+ }
+
+ #scalex {
+ -webkit-transform: scalex(1.5);
+ }
+ #scaley {
+ -webkit-transform: scaley(0.75);
+ }
+</style>
+<div id="scalex">scale x</div>
+<div id="scaley">scale y</div>
Added: trunk/LayoutTests/css3/calc/transforms-scale.html (0 => 138833)
--- trunk/LayoutTests/css3/calc/transforms-scale.html (rev 0)
+++ trunk/LayoutTests/css3/calc/transforms-scale.html 2013-01-04 20:32:35 UTC (rev 138833)
@@ -0,0 +1,18 @@
+<!DOCTYPE HTML>
+<style>
+ div {
+ width:100px;
+ height:100px;
+ margin:50px;
+ background-color:green;
+ }
+
+ #scalex {
+ -webkit-transform: scalex(-webkit-calc(3 / 2));
+ }
+ #scaley {
+ -webkit-transform: scaley(-webkit-calc(1 - 0.25));
+ }
+</style>
+<div id="scalex">scale x</div>
+<div id="scaley">scale y</div>
Added: trunk/LayoutTests/css3/calc/transforms-translate-expected.html (0 => 138833)
--- trunk/LayoutTests/css3/calc/transforms-translate-expected.html (rev 0)
+++ trunk/LayoutTests/css3/calc/transforms-translate-expected.html 2013-01-04 20:32:35 UTC (rev 138833)
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML>
+<style>
+ div {
+ width:100px;
+ height:100px;
+ margin:50px;
+ background-color:green;
+ }
+
+ #translatex {
+ -webkit-transform: translatex(60px);
+ }
+ #translatey {
+ -webkit-transform: translatey(35px);
+ }
+ #translatez {
+ -webkit-transform: perspective(500px) translatez(100px);
+ }
+</style>
+<div id="translatex">translate x</div>
+<div id="translatey">translate y</div>
+<div id="translatez">translate z</div>
Added: trunk/LayoutTests/css3/calc/transforms-translate.html (0 => 138833)
--- trunk/LayoutTests/css3/calc/transforms-translate.html (rev 0)
+++ trunk/LayoutTests/css3/calc/transforms-translate.html 2013-01-04 20:32:35 UTC (rev 138833)
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML>
+<style>
+ div {
+ width:100px;
+ height:100px;
+ margin:50px;
+ background-color:green;
+ }
+
+ #translatex {
+ -webkit-transform: translatex(-webkit-calc(50% + 10px));
+ }
+ #translatey {
+ -webkit-transform: translatey(-webkit-calc(40% - 5px));
+ }
+ #translatez {
+ -webkit-transform: perspective(-webkit-calc(100px * 5)) translatez(-webkit-calc(10px + 90px));
+ }
+</style>
+<div id="translatex">translate x</div>
+<div id="translatey">translate y</div>
+<div id="translatez">translate z</div>
Modified: trunk/Source/WebCore/ChangeLog (138832 => 138833)
--- trunk/Source/WebCore/ChangeLog 2013-01-04 20:30:06 UTC (rev 138832)
+++ trunk/Source/WebCore/ChangeLog 2013-01-04 20:32:35 UTC (rev 138833)
@@ -1,3 +1,19 @@
+2013-01-04 Mike Lawther <mikelawt...@chromium.org>
+
+ CSS3 calc: working with translate and scale transforms
+ https://bugs.webkit.org/show_bug.cgi?id=105985
+
+ Reviewed by Ojan Vafai.
+
+ Allow convertTo[Float|Int]Length functions to process calculated values.
+
+ Tests: css3/calc/transforms-scale.html
+ css3/calc/transforms-translate.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::convertToIntLength):
+ (WebCore::StyleResolver::convertToFloatLength):
+
2013-01-04 Elliott Sprehn <espr...@chromium.org>
PseudoElement should never dispatch events
Modified: trunk/Source/WebCore/css/StyleResolver.cpp (138832 => 138833)
--- trunk/Source/WebCore/css/StyleResolver.cpp 2013-01-04 20:30:06 UTC (rev 138832)
+++ trunk/Source/WebCore/css/StyleResolver.cpp 2013-01-04 20:32:35 UTC (rev 138833)
@@ -2291,12 +2291,12 @@
Length StyleResolver::convertToIntLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- return primitiveValue ? primitiveValue->convertToLength<FixedIntegerConversion | PercentConversion | FractionConversion | ViewportPercentageConversion>(style, rootStyle, multiplier) : Length(Undefined);
+ return primitiveValue ? primitiveValue->convertToLength<FixedIntegerConversion | PercentConversion | CalculatedConversion | FractionConversion | ViewportPercentageConversion>(style, rootStyle, multiplier) : Length(Undefined);
}
Length StyleResolver::convertToFloatLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier)
{
- return primitiveValue ? primitiveValue->convertToLength<FixedFloatConversion | PercentConversion | FractionConversion | ViewportPercentageConversion>(style, rootStyle, multiplier) : Length(Undefined);
+ return primitiveValue ? primitiveValue->convertToLength<FixedFloatConversion | PercentConversion | CalculatedConversion | FractionConversion | ViewportPercentageConversion>(style, rootStyle, multiplier) : Length(Undefined);
}
template <StyleResolver::StyleApplicationPass pass>