Title: [118284] branches/chromium/1132

Diff

Copied: branches/chromium/1132/LayoutTests/css3/calc/transition-crash3-expected.txt (from rev 117748, trunk/LayoutTests/css3/calc/transition-crash3-expected.txt) (0 => 118284)


--- branches/chromium/1132/LayoutTests/css3/calc/transition-crash3-expected.txt	                        (rev 0)
+++ branches/chromium/1132/LayoutTests/css3/calc/transition-crash3-expected.txt	2012-05-24 00:39:16 UTC (rev 118284)
@@ -0,0 +1 @@
+This tests transitioning of elements containing a calc _expression_. The test passes if it does not crash. 

Copied: branches/chromium/1132/LayoutTests/css3/calc/transition-crash3.html (from rev 117748, trunk/LayoutTests/css3/calc/transition-crash3.html) (0 => 118284)


--- branches/chromium/1132/LayoutTests/css3/calc/transition-crash3.html	                        (rev 0)
+++ branches/chromium/1132/LayoutTests/css3/calc/transition-crash3.html	2012-05-24 00:39:16 UTC (rev 118284)
@@ -0,0 +1,40 @@
+<!DOCTYPE html>
+<style>
+    .test { 
+        -webkit-transition: width 30s; 
+    }
+    .test:nth-child(2n) { 
+        width: -webkit-calc(-8em + 59%);
+    }
+</style>
+
+This tests transitioning of elements containing a calc _expression_. The test passes if it does not crash.
+
+<script>
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();        
+        layoutTestController.waitUntilDone(); 
+    }
+
+    elementA = document.createElement('a');
+    document.documentElement.appendChild(elementA);
+    elementQ = document.createElement('q');
+    document.documentElement.appendChild(elementQ);
+    elementStrong = document.createElement('strong');
+    document.documentElement.appendChild(elementStrong);
+    elementFieldSet = document.createElement('fieldset');
+    elementFieldSet.setAttribute('class', 'test');
+    document.documentElement.appendChild(elementFieldSet);
+    elementSection = document.createElement('section');
+    
+    function boom() {
+        try {
+            elementSection.appendChild(elementQ); 
+        } catch (e) {            
+        }
+        if (window.layoutTestController) 
+            layoutTestController.notifyDone(); 
+    }
+    
+    setTimeout(boom, 1);
+</script>
\ No newline at end of file

Copied: branches/chromium/1132/LayoutTests/css3/calc/transition-crash4-expected.txt (from rev 117748, trunk/LayoutTests/css3/calc/transition-crash4-expected.txt) (0 => 118284)


--- branches/chromium/1132/LayoutTests/css3/calc/transition-crash4-expected.txt	                        (rev 0)
+++ branches/chromium/1132/LayoutTests/css3/calc/transition-crash4-expected.txt	2012-05-24 00:39:16 UTC (rev 118284)
@@ -0,0 +1 @@
+This tests transitioning of elements containing a calc _expression_. The test passes if it does not crash. 

Copied: branches/chromium/1132/LayoutTests/css3/calc/transition-crash4.html (from rev 117748, trunk/LayoutTests/css3/calc/transition-crash4.html) (0 => 118284)


--- branches/chromium/1132/LayoutTests/css3/calc/transition-crash4.html	                        (rev 0)
+++ branches/chromium/1132/LayoutTests/css3/calc/transition-crash4.html	2012-05-24 00:39:16 UTC (rev 118284)
@@ -0,0 +1,37 @@
+<!DOCTYPE html>
+<style>
+    .test { 
+        -webkit-transition: height 1s; 
+    }
+    .test:nth-child(2n) { 
+        height: -webkit-calc(45em - 81%);
+    }
+</style>
+
+This tests transitioning of elements containing a calc _expression_. The test passes if it does not crash.
+
+<script>
+    if (window.layoutTestController) {
+        layoutTestController.dumpAsText();        
+        layoutTestController.waitUntilDone(); 
+    }
+
+    elementBr = document.createElement('br');
+    document.documentElement.appendChild(elementBr);
+    elementAbbr = document.createElement('abbr');
+    document.documentElement.appendChild(elementAbbr);
+    elementColGroup = document.createElement('colgroup');
+    document.documentElement.appendChild(elementColGroup);
+    elementOptGroup = document.createElement('optgroup');
+    elementIframe = document.createElement('iframe');
+    elementIframe.setAttribute('class', 'test');
+    document.documentElement.appendChild(elementIframe);
+    
+    function boom() {
+        elementOptGroup.appendChild(elementBr);
+        if (window.layoutTestController) 
+            layoutTestController.notifyDone();
+    }
+    
+    setTimeout(boom, 1);
+</script>
\ No newline at end of file

Modified: branches/chromium/1132/Source/WebCore/platform/Length.h (118283 => 118284)


--- branches/chromium/1132/Source/WebCore/platform/Length.h	2012-05-24 00:36:00 UTC (rev 118283)
+++ branches/chromium/1132/Source/WebCore/platform/Length.h	2012-05-24 00:39:16 UTC (rev 118284)
@@ -228,7 +228,7 @@
             return *this;
 
         // FIXME http://webkit.org/b/86160 - Blending doesn't work with calculated expressions
-        if (type() == Calculated)
+        if (from.type() == Calculated || type() == Calculated)
             return *this;
         
         LengthType resultType = type();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to