Title: [118284] branches/chromium/1132
- Revision
- 118284
- Author
- [email protected]
- Date
- 2012-05-23 17:39:16 -0700 (Wed, 23 May 2012)
Log Message
Merge 117748
BUG=128159
Review URL: https://chromiumcodereview.appspot.com/10442006
Modified Paths
Added Paths
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