Commit e5d8680b authored by rniwa@webkit.org's avatar rniwa@webkit.org

Unreviewed, rolling out r147942, r148026, and r148092.

http://trac.webkit.org/changeset/147942
http://trac.webkit.org/changeset/148026
http://trac.webkit.org/changeset/148092
https://bugs.webkit.org/show_bug.cgi?id=114521

"r147942 is buggy. Rollback all the patches depending on it."
(Requested by abucur on #webkit).


Source/WebCore:

* dom/ContainerNode.cpp:
(WebCore::willRemoveChildren):
(WebCore):
(WebCore::ContainerNode::removeChildren):
* dom/Document.cpp:
(WebCore::Document::nodeChildrenWillBeRemoved):
(WebCore):
* dom/Document.h:
(Document):
* dom/Node.cpp:
* dom/Node.h:
(Node):
* dom/NodeTraversal.cpp:
* dom/NodeTraversal.h:
(ElementTraversal):
(NodeTraversal):
* dom/Range.cpp:
(WebCore::boundaryNodeChildrenWillBeRemoved):
(WebCore):
(WebCore::Range::nodeChildrenWillBeRemoved):
* dom/Range.h:
* html/HTMLLIElement.cpp:
(WebCore::HTMLLIElement::attach):
* html/HTMLOListElement.cpp:
(WebCore::HTMLOListElement::updateItemValues):
(WebCore::HTMLOListElement::recalculateItemCount):
* rendering/RenderCounter.cpp:
(WebCore::previousInPreOrder):
(WebCore::previousSiblingOrParent):
(WebCore::parentElement):
(WebCore::nextInPreOrder):
* rendering/RenderListItem.cpp:
(WebCore::enclosingList):
(WebCore::RenderListItem::nextListItem):
(WebCore::previousListItem):
(WebCore::RenderListItem::calcValue):
(WebCore::RenderListItem::explicitValueChanged):
(WebCore::previousOrNextItem):
(WebCore::RenderListItem::updateListMarkerNumbers):
* rendering/RenderListItem.h:
(RenderListItem):

LayoutTests:

* fast/dom/MutationObserver/added-out-of-order-expected.txt:
* fast/dom/MutationObserver/added-out-of-order.html:
* fast/dom/Range/range-remove-children-event-expected.txt: Removed.
* fast/dom/Range/range-remove-children-event.html: Removed.
* fast/dom/containerNode-expected.txt: Added.
* fast/dom/containerNode.html: Added.
* fast/dom/shadow/shadow-and-list-elements-expected.html:
* fast/events/mutation-during-innerHTML-expected.txt: Removed.
* fast/events/mutation-during-innerHTML.html: Removed.
* fast/lists/positioned-count-crash-expected.txt:
* fast/regions/counters/extract-list-items-001-expected.html: Removed.
* fast/regions/counters/extract-list-items-001.html: Removed.
* fast/regions/counters/extract-list-items-002-expected.html: Removed.
* fast/regions/counters/extract-list-items-002.html: Removed.
* fast/regions/counters/extract-list-items-003-expected.html: Removed.
* fast/regions/counters/extract-list-items-003.html: Removed.
* fast/regions/counters/extract-list-items-004-expected.html: Removed.
* fast/regions/counters/extract-list-items-004.html: Removed.
* fast/regions/counters/extract-list-items-005-expected.html: Removed.
* fast/regions/counters/extract-list-items-005.html: Removed.
* fast/regions/counters/extract-list-items-006-expected.html: Removed.
* fast/regions/counters/extract-list-items-006.html: Removed.
* fast/regions/counters/extract-list-items-007-expected.html: Removed.
* fast/regions/counters/extract-list-items-007.html: Removed.
* fast/regions/counters/extract-list-items-008-expected.html: Removed.
* fast/regions/counters/extract-list-items-008.html: Removed.
* fast/regions/counters/extract-list-items-009-expected.html: Removed.
* fast/regions/counters/extract-list-items-009.html: Removed.
* fast/regions/counters/extract-list-items-010-expected.html: Removed.
* fast/regions/counters/extract-list-items-010.html: Removed.
* fast/regions/counters/extract-list-items-011-expected.html: Removed.
* fast/regions/counters/extract-list-items-011.html: Removed.
* fast/regions/counters/extract-list-items-012-expected.html: Removed.
* fast/regions/counters/extract-list-items-012.html: Removed.
* fast/regions/counters/extract-list-items-013-expected.html: Removed.
* fast/regions/counters/extract-list-items-013.html: Removed.
* fast/regions/counters/extract-list-items-014-expected.html: Removed.
* fast/regions/counters/extract-list-items-014.html: Removed.
* fast/regions/counters/extract-list-items-015-expected.html: Removed.
* fast/regions/counters/extract-list-items-015.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-001-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-001.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-002-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-002.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs.html: Removed.
* fast/regions/counters/extract-numbered-spans-display-only-some-expected.html: Removed.
* fast/regions/counters/extract-numbered-spans-display-only-some.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-001-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-001.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-002-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-002.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-003-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-003.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html: Removed.
* fast/regions/counters/extract-unordered-lists-in-regions-expected.html: Removed.
* fast/regions/counters/extract-unordered-lists-in-regions.html: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent b6ea0d4a
2013-04-12 Commit Queue <rniwa@webkit.org>
Unreviewed, rolling out r147942, r148026, and r148092.
http://trac.webkit.org/changeset/147942
http://trac.webkit.org/changeset/148026
http://trac.webkit.org/changeset/148092
https://bugs.webkit.org/show_bug.cgi?id=114521
"r147942 is buggy. Rollback all the patches depending on it."
(Requested by abucur on #webkit).
* fast/dom/MutationObserver/added-out-of-order-expected.txt:
* fast/dom/MutationObserver/added-out-of-order.html:
* fast/dom/Range/range-remove-children-event-expected.txt: Removed.
* fast/dom/Range/range-remove-children-event.html: Removed.
* fast/dom/containerNode-expected.txt: Added.
* fast/dom/containerNode.html: Added.
* fast/dom/shadow/shadow-and-list-elements-expected.html:
* fast/events/mutation-during-innerHTML-expected.txt: Removed.
* fast/events/mutation-during-innerHTML.html: Removed.
* fast/lists/positioned-count-crash-expected.txt:
* fast/regions/counters/extract-list-items-001-expected.html: Removed.
* fast/regions/counters/extract-list-items-001.html: Removed.
* fast/regions/counters/extract-list-items-002-expected.html: Removed.
* fast/regions/counters/extract-list-items-002.html: Removed.
* fast/regions/counters/extract-list-items-003-expected.html: Removed.
* fast/regions/counters/extract-list-items-003.html: Removed.
* fast/regions/counters/extract-list-items-004-expected.html: Removed.
* fast/regions/counters/extract-list-items-004.html: Removed.
* fast/regions/counters/extract-list-items-005-expected.html: Removed.
* fast/regions/counters/extract-list-items-005.html: Removed.
* fast/regions/counters/extract-list-items-006-expected.html: Removed.
* fast/regions/counters/extract-list-items-006.html: Removed.
* fast/regions/counters/extract-list-items-007-expected.html: Removed.
* fast/regions/counters/extract-list-items-007.html: Removed.
* fast/regions/counters/extract-list-items-008-expected.html: Removed.
* fast/regions/counters/extract-list-items-008.html: Removed.
* fast/regions/counters/extract-list-items-009-expected.html: Removed.
* fast/regions/counters/extract-list-items-009.html: Removed.
* fast/regions/counters/extract-list-items-010-expected.html: Removed.
* fast/regions/counters/extract-list-items-010.html: Removed.
* fast/regions/counters/extract-list-items-011-expected.html: Removed.
* fast/regions/counters/extract-list-items-011.html: Removed.
* fast/regions/counters/extract-list-items-012-expected.html: Removed.
* fast/regions/counters/extract-list-items-012.html: Removed.
* fast/regions/counters/extract-list-items-013-expected.html: Removed.
* fast/regions/counters/extract-list-items-013.html: Removed.
* fast/regions/counters/extract-list-items-014-expected.html: Removed.
* fast/regions/counters/extract-list-items-014.html: Removed.
* fast/regions/counters/extract-list-items-015-expected.html: Removed.
* fast/regions/counters/extract-list-items-015.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-001-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-001.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-002-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-divs-002.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs-expected.html: Removed.
* fast/regions/counters/extract-numbered-paragraphs.html: Removed.
* fast/regions/counters/extract-numbered-spans-display-only-some-expected.html: Removed.
* fast/regions/counters/extract-numbered-spans-display-only-some.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-001-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-001.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-002-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-002.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-003-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-003.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-001.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-002.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-003.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-004.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005-expected.html: Removed.
* fast/regions/counters/extract-ordered-lists-in-regions-explicit-counters-005.html: Removed.
* fast/regions/counters/extract-unordered-lists-in-regions-expected.html: Removed.
* fast/regions/counters/extract-unordered-lists-in-regions.html: Removed.
2013-04-12 Jer Noble <jer.noble@apple.com>
TimeRanges::nearest() returns incorrect results.
......@@ -3,15 +3,16 @@ Test MutationEvents interfering with MutationObservers: adding nodes 'out of ord
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS mutations.length is 2
PASS mutations[0].addedNodes.length is 1
PASS mutations[0].removedNodes.length is 0
PASS mutations[0].addedNodes[0].tagName is "DIV"
PASS mutations.length is 3
PASS mutations[0].addedNodes.length is 0
PASS mutations[0].removedNodes.length is 1
PASS mutations[0].removedNodes[0].tagName is 'SPAN'
PASS mutations[1].addedNodes.length is 1
PASS mutations[1].removedNodes.length is 2
PASS mutations[1].addedNodes[0].nodeValue is "hello world"
PASS mutations[1].removedNodes[0].tagName is "SPAN"
PASS mutations[1].removedNodes[1].tagName is "DIV"
PASS mutations[1].removedNodes.length is 0
PASS mutations[1].addedNodes[0].tagName is 'DIV'
PASS mutations[2].addedNodes.length is 1
PASS mutations[2].removedNodes.length is 0
PASS mutations[2].addedNodes[0].nodeValue is 'hello world'
PASS successfullyParsed is true
TEST COMPLETE
......
......@@ -16,14 +16,15 @@ observer.observe(sandbox, {childList: true});
sandbox.textContent = 'hello world';
var mutations = observer.takeRecords();
shouldBe("mutations.length", "2");
shouldBe("mutations[0].addedNodes.length", "1");
shouldBe("mutations[0].removedNodes.length", "0");
shouldBeEqualToString("mutations[0].addedNodes[0].tagName", "DIV");
shouldBe("mutations.length", "3");
shouldBe("mutations[0].addedNodes.length", "0");
shouldBe("mutations[0].removedNodes.length", "1");
shouldBe("mutations[0].removedNodes[0].tagName", "'SPAN'");
shouldBe("mutations[1].addedNodes.length", "1");
shouldBe("mutations[1].removedNodes.length", "2");
shouldBeEqualToString("mutations[1].addedNodes[0].nodeValue", "hello world");
shouldBeEqualToString("mutations[1].removedNodes[0].tagName", "SPAN");
shouldBeEqualToString("mutations[1].removedNodes[1].tagName", "DIV");
shouldBe("mutations[1].removedNodes.length", "0");
shouldBe("mutations[1].addedNodes[0].tagName", "'DIV'");
shouldBe("mutations[2].addedNodes.length", "1");
shouldBe("mutations[2].removedNodes.length", "0");
shouldBe("mutations[2].addedNodes[0].nodeValue", "'hello world'");
</script>
<script src="../../js/resources/js-test-post.js"></script>
Test ranges remain valid when modified inside a MutationEvent handler.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS range.startContainer.tagName is "DIV"
PASS successfullyParsed is true
TEST COMPLETE
<html>
<head>
<script src="../../js/resources/js-test-pre.js"></script>
</head>
<body>
<div id="content">
<span id="innerContent">A</span>
</div>
<script>
window.jsTestIsAsync = true;
description("Test ranges remain valid when modified inside a MutationEvent handler.");
var content = document.getElementById("content");
var inserted = false;
var range = document.createRange();
range.setStart(content, 0);
range.setEnd(content, 0);
content.addEventListener('DOMNodeRemoved', function() {
if (!inserted) {
var newChild = document.createElement('p');
content.appendChild(newChild);
inserted = true;
range.setStart(newChild);
range.setEnd(newChild);
setTimeout(checkRange, 0);
}
});
content.innerHTML = "";
function checkRange() {
shouldBeEqualToString("range.startContainer.tagName", "DIV");
finishJSTest();
}
</script>
<script src="../../js/resources/js-test-post.js"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function log(msg)
{
document.body.appendChild(document.createTextNode(msg));
}
function appendItem(list, caption)
{
var item = document.createElement('li');
item.appendChild(document.createTextNode(caption));
list.appendChild(item);
}
function runTests()
{
if (window.testRunner)
testRunner.dumpAsText();
var fragment = document.createDocumentFragment();
var list = document.createElement('ul');
var i;
for (i = 0; i < 5; i++)
appendItem(list, 'item ' + i);
fragment.appendChild(list);
document.addEventListener("DOMNodeRemoved", function() {
appendItem(list, 'item ' + i++);
}, false);
document.body.appendChild(fragment);
list.textContent = '';
if (list.childNodes.length == 0)
log('PASS: No infinite loop.')
else
log('FAIL: Has too many children.')
}
</script>
</head>
<body onload="runTests();">
</body>
</html>
......@@ -22,23 +22,18 @@
// <li>C</li>
// </ol>
var hostEquivalent = document.getElementById("hostEquivalent");
var shadowListRoot = document.createElement("ol");
shadowListRoot.style.paddingLeft = "0px";
hostEquivalent.appendChild(shadowListRoot);
var childX = document.createElement("li");
childX.innerHTML = "X";
childX.style.listStylePosition = "inside";
shadowListRoot.appendChild(childX);
hostEquivalent.appendChild(childX);
var childUl = document.createElement("ul");
childUl.innerHTML = "B";
shadowListRoot.appendChild(childUl);
hostEquivalent.appendChild(childUl);
var childY = document.createElement("li");
childY.innerHTML = "Y";
childY.style.listStylePosition = "inside";
shadowListRoot.appendChild(childY);
hostEquivalent.appendChild(childY);
</script>
</body>
</html>
Test that nodes added during DOMNodeRemoved from innerHTML are notified of their eventual removal.
PASS
<!DOCTYPE html>
<p>Test that nodes added during DOMNodeRemoved from innerHTML are notified of their eventual removal.</p>
<div id="container">
<div id="first"></div>
</div>
<script>
if (window.testRunner)
testRunner.dumpAsText();
var container = document.getElementById('container');
var second = document.createElement('div');
second.id = 'second';
container.addEventListener('DOMNodeRemoved', function(event) {
if (event.target.id == 'first')
container.appendChild(second);
if (event.target.id == 'second')
document.body.appendChild(document.createTextNode('PASS'));
});
container.innerHTML = '';
</script>
......@@ -2,5 +2,5 @@ II
For manual test: If you see no crash and "II II", it means this test PASS.
PASS list marker is II.
FAIL list marker should be II. Was I.
<!DOCTYPE html>
<html>
<head>
<title>CSS Reftest Reference</title>
<link rel="author" title="Mihai Balan" href="mibalan@adobe.com">
<style>
ol, ul {
margin: 0;
padding: 0;
}
.region {
width: 200px;
background-color: lightgray;
margin: 1em 2em;
}
</style>
</head>
<body>
<p>This test passes if there are two gray rectangles, each with a 4 items list in it.<br>
The first list should not be numbered and the second should be numbered, starting at 1.<br>
Both the list markers for the first list and the numbers for the second list should be outside of the gray rectangles.
</p>
<div class="region">
<ul>
<li>Unordered list, item 1</li>
<li>Unordered list, item 2</li>
<li>Unordered list, item 3</li>
<li>Unordered list, item 4</li>
</ul>
</div>
<div class="region">
<ol>
<li>Ordered list, item 1</li>
<li>Ordered list, item 2</li>
<li>Ordered list, item 3</li>
<li>Ordered list, item 4</li>
</ol>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>CSS Test: flow-into on ordered and unordered list items</title>
<link rel="author" title="Mihai Balan" href="mibalan@adobe.com">
<link rel="help" href="http://www.w3.org/TR/css3-regions/#properties-and-rules" />
<link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
<meta name="flags" content="">
<meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers and numbering.">
<style>
ul > li {
-webkit-flow-into: uflow;
}
#r1 {
-webkit-flow-from: uflow;
}
ol > li {
-webkit-flow-into: oflow;
}
#r2 {
-webkit-flow-from: oflow;
}
.region {
width: 200px;
background-color: lightgray;
margin: 1em 2em;
}
</style>
</head>
<body>
<p>This test passes if there are two gray rectangles, each with a 4 items list in it.<br>
The first list should not be numbered and the second should be numbered, starting at 1.<br>
Both the list markers for the first list and the numbers for the second list should be outside of the gray rectangles.
</p>
<ul>
<li>Unordered list, item 1</li>
<li>Unordered list, item 2</li>
<li>Unordered list, item 3</li>
<li>Unordered list, item 4</li>
</ul>
<ol>
<li>Ordered list, item 1</li>
<li>Ordered list, item 2</li>
<li>Ordered list, item 3</li>
<li>Ordered list, item 4</li>
</ol>
<div id="r1" class="region"></div>
<div id="r2" class="region"></div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>CSS Reftest Reference</title>
<link rel="author" title="Mihai Balan" href="mibalan@adobe.com">
<style>
ul:first-of-type, ol:first-of-type {
color: blue;
}
ul:nth-of-type(3) {
color: green;
}
ol, ul {
margin: 0;
padding: 0;
}
.region {
margin: 2em;
background-color: lightgray;
width: 200px;
}
</style>
</head>
<body>
<p>This test passes if there are two gray rectangles: the first with two numbered lists (3 items each), the second with three un-numbered lists (2 items each).<br>
First list of each type should be blue, second list of each type should be black and the third un-ordered list should be green.
</p>
<p>Each numbered list should start at 1.<br>
Both the numbers and the list markers should be outside of the gray rectangles.</p>
<div class="region" id="r1">
<ol>
<li>Ordered list 1, item 1</li>
<li>Ordered list 1, item 2</li>
<li>Ordered list 1, item 3</li>
</ol>
<ol>
<li>Ordered list 2, item 1</li>
<li>Ordered list 2, item 2</li>
<li>Ordered list 2, item 3</li>
</ol>
</div>
<div class="region" id="r2">
<ul>
<li>Unordered list 1, item 1</li>
<li>Unordered list 1, item 2</li>
</ul>
<ul>
<li>Unordered list 2, item 1</li>
<li>Unordered list 2, item 2</li>
</ul>
<ul>
<li>Unordered list 3, item 1</li>
<li>Unordered list 3, item 2</li>
</ul>
</div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>CSS Test: flow-into on ordered and unordered list items from multiple lists</title>
<link rel="author" title="Mihai Balan" href="mibalan@adobe.com">
<link rel="help" href="http://www.w3.org/TR/css3-regions/#properties-and-rules" />
<link rel="help" href="http://www.w3.org/TR/css3-regions/#the-flow-into-property" />
<meta name="flags" content="">
<meta name="assert" content="The flow-into property can be applied to individual list items. List items extracted in named flows and flowed into regions must preserve their list markers and numbering, even when extracting items from multiple lists in the same named flow.">
<style>
ul:first-of-type, ol:first-of-type {
color: blue;
}
ul:nth-of-type(3) {
color: green;
}
ol > li {
-webkit-flow-into: f1;
}
#r1 {
-webkit-flow-from: f1;
}
ul > li {
-webkit-flow-into: f2;
}
#r2 {
-webkit-flow-from: f2;
}
.region {
margin: 2em;
background-color: lightgray;
width: 200px;
}
</style>
</head>
<body>
<p>This test passes if there are two gray rectangles: the first with two numbered lists (3 items each), the second with three un-numbered lists (2 items each).<br>
First list of each type should be blue, second list of each type should be black and the third un-ordered list should be green.
</p>
<p>Each numbered list should start at 1.<br>
Both the numbers and the list markers should be outside of the gray rectangles.</p>
<ol>
<li>Ordered list 1, item 1</li>
<li>Ordered list 1, item 2</li>
<li>Ordered list 1, item 3</li>
</ol>
<ol>
<li>Ordered list 2, item 1</li>
<li>Ordered list 2, item 2</li>
<li>Ordered list 2, item 3</li>
</ol>
<div class="region" id="r1"></div>
<ul>
<li>Unordered list 1, item 1</li>
<li>Unordered list 1, item 2</li>
</ul>
<ul>
<li>Unordered list 2, item 1</li>
<li>Unordered list 2, item 2</li>
</ul>
<ul>
<li>Unordered list 3, item 1</li>
<li>Unordered list 3, item 2</li>
</ul>
<div class="region" id="r2"></div>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<title>CSS Reftest Reference</title>
<link rel="author" title="Mihai Balan" href="mibalan@adobe.com">
<style>
#outer-ordered-1 {
padding: 0;
}
#r2 ol, #r2 ul {
padding: 0;
}
#outer-ordered-1 ol,
#outer-ordered-2 ol {
color: blue;
}
#outer-ordered-2 ol ol {
color: green;
}
.region {
margin: 2em;
background-color: lightgray;
width: 20em;
}
</style>
</head>
<body>
<p>This test passes if there are two gray rectangles: each with a list with another lists nested in it. The numbers for the black list in the first rectangle, and the numbers for all the lists in the second rectangle should be rendered outside of the gray boxes</p>
<p>The list in the first rectangle should be black, with two blue nested lists in it. The nested lists should appear after the first and the second items, they should be indented and numbered starting at 1.</p>
<p>The list in the second rectangle should be black, with a blue nested list in it that has in turn a nested green list in it. The numbers in the list items text should coincide with the list item numbers.</p>
<div class="region" id="r1">
<ol id="outer-ordered-1">
<li>First ordered list, item 1
<ol>
<li>First inner ordered list, item 1</li>
<li>First inner ordered list, item 2</li>
<li>First inner ordered list, item 3</li>
</ol>
</li>
<li>First ordered list, item 2
<ol>
<li>Second inner ordered list, item 1</li>
<li>Second inner ordered list, item 2</li>
</ol>
</li>
<li>First ordered list, item 3</li>
</ol>
</div>
<div class="region" id="r2">
<ol id="outer-ordered-2">
<li>Second ordered list, item 1</li>
<li>Second ordered list, item 2
<ol>
<li>Last inner ordered list, item 1</li>
<li>Last inner ordered list, item 2
<ol>
<li>Innermost ordered list, item 1</li>
<li>Innermost ordered list, item 2</li>
</ol>