Title: [175363] trunk
Revision
175363
Author
[email protected]
Date
2014-10-29 20:27:24 -0700 (Wed, 29 Oct 2014)

Log Message

ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
https://bugs.webkit.org/show_bug.cgi?id=138054.

Patch by Said Abou-Hallawa <[email protected]> on 2014-10-29
Reviewed by Zalan Bujtas.

Source/WebCore:

A Length of type 'Calculated' can be generated from blending two lengths of
different types. Setting the wordSpacing of the render style should be handled
correctly when the type of the new value is 'Calculated'.

Tests: css3/calculated-word-spacing.html.

Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::setWordSpacing):

LayoutTests:

Ensure the render style's wordSpacing can be set correctly when the type of
the new value is 'Calculated'. The 'Calculated' Length value can result from
blending two Length values of different types. And these two Length values
are defined in two consecutive css animation key frames.

* css3/calculated-word-spacing-expected.txt: Added.
* css3/calculated-word-spacing.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (175362 => 175363)


--- trunk/LayoutTests/ChangeLog	2014-10-30 02:29:42 UTC (rev 175362)
+++ trunk/LayoutTests/ChangeLog	2014-10-30 03:27:24 UTC (rev 175363)
@@ -1,3 +1,18 @@
+2014-10-29  Said Abou-Hallawa  <[email protected]>
+
+        ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
+        https://bugs.webkit.org/show_bug.cgi?id=138054.
+
+        Reviewed by Zalan Bujtas.
+
+        Ensure the render style's wordSpacing can be set correctly when the type of
+        the new value is 'Calculated'. The 'Calculated' Length value can result from
+        blending two Length values of different types. And these two Length values
+        are defined in two consecutive css animation key frames.
+        
+        * css3/calculated-word-spacing-expected.txt: Added.
+        * css3/calculated-word-spacing.html: Added.
+
 2014-10-29  Simon Fraser  <[email protected]>
 
         Skip compositing/regions/propagate-region-box-shadow-border-padding-for-video.html which 

Added: trunk/LayoutTests/css3/calculated-word-spacing-expected.txt (0 => 175363)


--- trunk/LayoutTests/css3/calculated-word-spacing-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/css3/calculated-word-spacing-expected.txt	2014-10-30 03:27:24 UTC (rev 175363)
@@ -0,0 +1 @@
+PASS if no assert or crash in debug.

Added: trunk/LayoutTests/css3/calculated-word-spacing.html (0 => 175363)


--- trunk/LayoutTests/css3/calculated-word-spacing.html	                        (rev 0)
+++ trunk/LayoutTests/css3/calculated-word-spacing.html	2014-10-30 03:27:24 UTC (rev 175363)
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <style>
+    h1 {
+        -webkit-animation-name: spacing;
+        -webkit-animation-duration: 1s;
+    }
+    @-webkit-keyframes spacing {
+      0%  {
+        word-spacing: normal
+      }
+      20%  {
+        word-spacing: 100px
+      }
+      40%  {
+        word-spacing: 200%
+      }
+      60%  {
+        word-spacing: 20em
+      }
+      80%  {
+        word-spacing: 300%
+      }
+      100% { }
+    }
+  </style>
+</head>
+<script>
+if (window.testRunner)
+  testRunner.dumpAsText();
+</script>
+<body>
+<h1>PASS if no assert or crash in debug.</h1>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (175362 => 175363)


--- trunk/Source/WebCore/ChangeLog	2014-10-30 02:29:42 UTC (rev 175362)
+++ trunk/Source/WebCore/ChangeLog	2014-10-30 03:27:24 UTC (rev 175363)
@@ -1,3 +1,20 @@
+2014-10-29  Said Abou-Hallawa  <[email protected]>
+
+        ASSERTION NOT REACHED because RenderStyle::setWordSpacing() does not handle a Length value of type 'Calculated'.
+        https://bugs.webkit.org/show_bug.cgi?id=138054.
+
+        Reviewed by Zalan Bujtas.
+
+        A Length of type 'Calculated' can be generated from blending two lengths of
+        different types. Setting the wordSpacing of the render style should be handled
+        correctly when the type of the new value is 'Calculated'.
+
+        Tests: css3/calculated-word-spacing.html.
+
+        Add a case for setting the render style wordSpacing to a <length> of type 'Calculated'.
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::RenderStyle::setWordSpacing):
+
 2014-10-29  Hunseop Jeong  <[email protected]>
 
         [CoordinatedGraphics] Use modern for-loops

Modified: trunk/Source/WebCore/rendering/style/RenderStyle.cpp (175362 => 175363)


--- trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2014-10-30 02:29:42 UTC (rev 175362)
+++ trunk/Source/WebCore/rendering/style/RenderStyle.cpp	2014-10-30 03:27:24 UTC (rev 175363)
@@ -1381,6 +1381,9 @@
     case Fixed:
         fontWordSpacing = value.value();
         break;
+    case Calculated:
+        fontWordSpacing = value.nonNanCalculatedValue(maxValueForCssLength);
+        break;
     default:
         ASSERT_NOT_REACHED();
         fontWordSpacing = 0;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to