| <!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> |