Avoid stack overflow by not using recursion to add the important rules. (Bug 439184.) r+sr=bzbarsky
authorL. David Baron <dbaron@dbaron.org>
Sun, 13 Jul 2008 13:57:38 -0700
changeset 15905 6a513bc88338c52e3ac875787fe9e05baf293ff8
parent 15904 571dbbcf60bf079667fc6f99c382850d1ab45014
child 15906 f9c18286221c247340c3518ec607ab2cbf450d58
push id592
push userdbaron@mozilla.com
push dateSun, 13 Jul 2008 20:58:08 +0000
treeherdermozilla-central@6a513bc88338 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs439184
milestone1.9.1a1pre
Avoid stack overflow by not using recursion to add the important rules. (Bug 439184.) r+sr=bzbarsky
layout/style/crashtests/439184-1.html
layout/style/crashtests/crashtests.list
new file mode 100644
--- /dev/null
+++ b/layout/style/crashtests/439184-1.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
+	"http://www.w3.org/TR/html4/strict.dtd">
+<html lang="en-US">
+<head>
+	<title>Testcase, bug 439184</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<meta http-equiv="Content-Style-Type" content="text/css">
+	<meta http-equiv="Content-Script-Type" content="text/javascript">
+	<style type="text/css" id="style">
+
+	</style>
+	<script type="text/javascript">
+
+	var styleText = "p { color: green; }";
+	
+	// We want to end up with a million rules or so, so double this text
+	// 20 times to make it 2^20 rules:
+	for (var i = 0; i < 20; ++i) {
+	  styleText += styleText;
+	}
+
+	document.getElementById("style").firstChild.data = styleText;
+
+	</script>
+</head>
+<body>
+
+<p>This should be green.</p>
+
+</body>
+</html>
--- a/layout/style/crashtests/crashtests.list
+++ b/layout/style/crashtests/crashtests.list
@@ -8,10 +8,11 @@ load 383979-2.html
 load 386939-1.html
 load 391034-1.xhtml
 load 397022-1.html
 load 399289-1.svg
 load 404470-1.html
 load 411603-1.html
 load 413274-1.xhtml
 load 437170-1.html
+load 439184-1.html
 load 444237-1.html
 load 444848-1.html