| Index: third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js | 
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js b/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..8fd19e26cff4614eb7c9257e04bfcae09c60bc91 | 
| --- /dev/null | 
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/dom/push-children-on-pseudo-addition.js | 
| @@ -0,0 +1,34 @@ | 
| +(async function(testRunner) { | 
| +  var {page, session, dp} = await testRunner.startHTML(` | 
| +    <style id='style'> | 
| +    </style> | 
| +    <div id='for-pseudo'><span id='inner-span'></span></div> | 
| +  `, ''); | 
| + | 
| +  var DOMHelper = await testRunner.loadScript('../resources/dom-helper.js'); | 
| +  var NodeTracker = await testRunner.loadScript('../resources/node-tracker.js'); | 
| +  var nodeTracker = new NodeTracker(dp); | 
| + | 
| +  testRunner.log('\n=== Get the Document ===\n'); | 
| +  var response = await dp.DOM.getDocument(); | 
| +  var bodyId = response.result.root.children[0].children[1].nodeId; | 
| + | 
| +  testRunner.log('\n=== Get immediate children of the body ===\n'); | 
| +  dp.DOM.requestChildNodes({nodeId: bodyId}); | 
| +  await dp.DOM.onceSetChildNodes(); | 
| + | 
| +  testRunner.log('\n=== Add #for-pseudo:before element ===\n'); | 
| +  session.evaluate(() => { | 
| +    document.getElementById('style').textContent = '#for-pseudo:before { content: "BEFORE" }'; | 
| +  }); | 
| +  await dp.DOM.oncePseudoElementAdded(); | 
| + | 
| +  for (var node of nodeTracker.nodes()) { | 
| +    if (DOMHelper.attributes(node).get('id') === 'inner-span') { | 
| +      testRunner.log('PASS: #inner-span has been received'); | 
| +      testRunner.completeTest(); | 
| +      return; | 
| +    } | 
| +  } | 
| +  testRunner.die('FAIL: #inner-span was not received'); | 
| +}) | 
|  |