71 lines
2.2 KiB
HTML
71 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<style>
|
|
body
|
|
{
|
|
counter-reset: i 0;
|
|
}
|
|
|
|
div:before
|
|
{
|
|
content: "-" counter(i);
|
|
counter-increment: i;
|
|
}
|
|
div {
|
|
display:inline;
|
|
}
|
|
</style>
|
|
<script>
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
function insertAuto(i) {
|
|
// We need to use the selection or we cannot reproduce this bug!
|
|
var selection = window.getSelection();
|
|
var container = document.getElementById("container");
|
|
selection.setPosition(container, 0);
|
|
if (selection.rangeCount > 0) {
|
|
var newElement = document.createElement('div');
|
|
newElement.id = 'div' + i;
|
|
//newElement.innerHTML = '<span"> - i:' + (6 - i) + '</span>';
|
|
var node = selection.getRangeAt(0).startContainer.parentNode.parentNode;
|
|
node.parentNode.insertBefore(newElement, node.nextSibling);
|
|
}
|
|
}
|
|
|
|
function dumpCounters()
|
|
{
|
|
var spanList = document.getElementsByTagName("div");
|
|
var counters = '';
|
|
for (var i = 0; i < spanList.length; ++i ) {
|
|
var divItem = spanList.item(i);
|
|
counters += '-';
|
|
counters += window.internals.counterValue(document.getElementById(divItem.getAttribute("id")));
|
|
counters += divItem.textContent;
|
|
}
|
|
document.getElementById("container").innerHTML = counters;
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function test()
|
|
{
|
|
for (var i = 0; i < 5; ++i)
|
|
insertAuto(i);
|
|
if (testRunner) {
|
|
setTimeout("dumpCounters()", 0);
|
|
}
|
|
}
|
|
window.addEventListener("load", test, false);
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<p>Bug <a href="https://bugs.webkit.org/show_bug.cgi?id=38291">38291</a> - CSS counters in :before pseudo-elements do not always update</p>
|
|
<p>The following two lines should be the same:</p>
|
|
<p>-1--2-3-4-5-6</p>
|
|
<div id="container"><span>-</span></div>
|
|
</body>
|
|
</html>
|