Requesting document...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Requesting%20document...\"));"},"id":0}
frontend: {"method":"DOM.getDocument","params":{},"id":1}
backend: {"result":{"result":{"type":"undefined"}},"id":0}
backend: {"result":{"root":{"nodeId":83,"nodeType":9,"nodeName":"#document","localName":"","nodeValue":"","childNodeCount":2,"children":[{"nodeId":84,"nodeType":10,"nodeName":"html","localName":"","nodeValue":"","publicId":"","systemId":""},{"nodeId":85,"nodeType":1,"nodeName":"HTML","localName":"html","nodeValue":"","childNodeCount":2,"children":[{"nodeId":86,"nodeType":1,"nodeName":"HEAD","localName":"head","nodeValue":"","childNodeCount":3,"attributes":[]},{"nodeId":87,"nodeType":1,"nodeName":"BODY","localName":"body","nodeValue":"","childNodeCount":2,"attributes":["onload","runTest()"]}],"attributes":[]}],"documentURL":"file:///Volumes/Data/EWS/WebKit/LayoutTests/inspector/css/pseudo-creation.html","baseURL":"file:///Volumes/Data/EWS/WebKit/LayoutTests/inspector/css/pseudo-creation.html","xmlVersion":""}},"id":1}

frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"\"));"},"id":2}
Calling "createElementWithClass("test-pseudo-without-content")"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Calling%20%22createElementWithClass%28%22test-pseudo-without-content%22%29%22...\"));"},"id":3}
frontend: {"method":"Runtime.evaluate","params":{"expression":"createElementWithClass(\"test-pseudo-without-content\")"},"id":4}
backend: {"result":{"result":{"type":"undefined"}},"id":2}
backend: {"result":{"result":{"type":"undefined"}},"id":3}
backend: {"method":"DOM.childNodeCountUpdated","params":{"nodeId":87,"childNodeCount":3}}
backend: {"result":{"result":{"type":"undefined"}},"id":4}
Checking for nodes with class ".test-pseudo-without-content"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Checking%20for%20nodes%20with%20class%20%22.test-pseudo-without-content%22...\"));"},"id":5}
frontend: {"method":"DOM.querySelectorAll","params":{"nodeId":83,"selector":".test-pseudo-without-content"},"id":6}
backend: {"result":{"result":{"type":"undefined"}},"id":5}
backend: {"method":"DOM.setChildNodes","params":{"parentId":87,"nodes":[{"nodeId":88,"nodeType":1,"nodeName":"P","localName":"p","nodeValue":"","childNodeCount":1,"children":[{"nodeId":89,"nodeType":3,"nodeName":"","localName":"","nodeValue":"Testing when CSS.events.pseudoElementCreated and CSS.events.pseudoElementDestroyed are fired."}],"attributes":[]},{"nodeId":90,"nodeType":1,"nodeName":"DIV","localName":"div","nodeValue":"","childNodeCount":1,"attributes":[]},{"nodeId":91,"nodeType":1,"nodeName":"DIV","localName":"div","nodeValue":"","childNodeCount":0,"attributes":["class","test-pseudo-without-content"]}]}}
backend: {"result":{"nodeIds":[91]},"id":6}
PASS: There should be 1 node with the class ".test-pseudo-without-content".
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20There%20should%20be%201%20node%20with%20the%20class%20%22.test-pseudo-without-content%22.\"));"},"id":7}

frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"\"));"},"id":8}
Calling "removeElementWithClass("test-pseudo-without-content")"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Calling%20%22removeElementWithClass%28%22test-pseudo-without-content%22%29%22...\"));"},"id":9}
frontend: {"method":"Runtime.evaluate","params":{"expression":"removeElementWithClass(\"test-pseudo-without-content\")"},"id":10}
backend: {"result":{"result":{"type":"undefined"}},"id":7}
backend: {"result":{"result":{"type":"undefined"}},"id":8}
backend: {"result":{"result":{"type":"undefined"}},"id":9}
backend: {"method":"DOM.attributeModified","params":{"nodeId":91,"name":"class","value":""}}
backend: {"result":{"result":{"type":"undefined"}},"id":10}
Checking for nodes with class ".test-pseudo-without-content"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Checking%20for%20nodes%20with%20class%20%22.test-pseudo-without-content%22...\"));"},"id":11}
frontend: {"method":"DOM.querySelectorAll","params":{"nodeId":83,"selector":".test-pseudo-without-content"},"id":12}
backend: {"result":{"result":{"type":"undefined"}},"id":11}
backend: {"result":{"nodeIds":[]},"id":12}
PASS: There should be 0 node with the class ".test-pseudo-without-content".
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20There%20should%20be%200%20node%20with%20the%20class%20%22.test-pseudo-without-content%22.\"));"},"id":13}

frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"\"));"},"id":14}
Calling "createElementWithClass("test-pseudo-with-content")"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Calling%20%22createElementWithClass%28%22test-pseudo-with-content%22%29%22...\"));"},"id":15}
frontend: {"method":"Runtime.evaluate","params":{"expression":"createElementWithClass(\"test-pseudo-with-content\")"},"id":16}
backend: {"result":{"result":{"type":"undefined"}},"id":13}
backend: {"result":{"result":{"type":"undefined"}},"id":14}
backend: {"result":{"result":{"type":"undefined"}},"id":15}
backend: {"method":"DOM.childNodeInserted","params":{"parentNodeId":87,"previousNodeId":91,"node":{"nodeId":92,"nodeType":1,"nodeName":"DIV","localName":"div","nodeValue":"","childNodeCount":0,"attributes":[]}}}
backend: {"method":"DOM.attributeModified","params":{"nodeId":92,"name":"class","value":"test-pseudo-with-content"}}
backend: {"result":{"result":{"type":"undefined"}},"id":16}
Checking for nodes with class ".test-pseudo-with-content"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Checking%20for%20nodes%20with%20class%20%22.test-pseudo-with-content%22...\"));"},"id":17}
frontend: {"method":"DOM.querySelectorAll","params":{"nodeId":83,"selector":".test-pseudo-with-content"},"id":18}
backend: {"method":"DOM.setChildNodes","params":{"parentId":92,"nodes":[]}}
backend: {"method":"DOM.pseudoElementAdded","params":{"parentId":92,"pseudoElement":{"nodeId":93,"nodeType":1,"nodeName":"<pseudo>","localName":"<pseudo>","nodeValue":"","childNodeCount":0,"attributes":[],"pseudoType":"before"}}}
PASS: Created ::before pseudo element
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20Created%20%3A%3Abefore%20pseudo%20element\"));"},"id":19}
backend: {"result":{"result":{"type":"undefined"}},"id":17}
backend: {"result":{"nodeIds":[92]},"id":18}
PASS: There should be 1 node with the class ".test-pseudo-with-content".
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20There%20should%20be%201%20node%20with%20the%20class%20%22.test-pseudo-with-content%22.\"));"},"id":20}

frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"\"));"},"id":21}
Calling "removeElementWithClass("test-pseudo-with-content")"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Calling%20%22removeElementWithClass%28%22test-pseudo-with-content%22%29%22...\"));"},"id":22}
frontend: {"method":"Runtime.evaluate","params":{"expression":"removeElementWithClass(\"test-pseudo-with-content\")"},"id":23}
backend: {"result":{"result":{"type":"undefined"}},"id":19}
backend: {"result":{"result":{"type":"undefined"}},"id":20}
backend: {"result":{"result":{"type":"undefined"}},"id":21}
backend: {"result":{"result":{"type":"undefined"}},"id":22}
backend: {"method":"DOM.attributeModified","params":{"nodeId":92,"name":"class","value":""}}
backend: {"result":{"result":{"type":"undefined"}},"id":23}
Checking for nodes with class ".test-pseudo-with-content"...
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"Checking%20for%20nodes%20with%20class%20%22.test-pseudo-with-content%22...\"));"},"id":24}
frontend: {"method":"DOM.querySelectorAll","params":{"nodeId":83,"selector":".test-pseudo-with-content"},"id":25}
backend: {"method":"DOM.pseudoElementRemoved","params":{"parentId":92,"pseudoElementId":93}}
PASS: Removed ::before pseudo element
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20Removed%20%3A%3Abefore%20pseudo%20element\"));"},"id":26}
backend: {"result":{"result":{"type":"undefined"}},"id":24}
backend: {"result":{"nodeIds":[]},"id":25}
PASS: There should be 0 node with the class ".test-pseudo-with-content".
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.log(unescape(\"PASS%3A%20There%20should%20be%200%20node%20with%20the%20class%20%22.test-pseudo-with-content%22.\"));"},"id":27}
completeTest()
frontend: {"method":"Runtime.evaluate","params":{"expression":"TestPage.closeTest();"},"id":28}
backend: {"result":{"result":{"type":"undefined"}},"id":26}
backend: {"result":{"result":{"type":"undefined"}},"id":27}
