| Index: third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html | 
| diff --git a/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html b/third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html | 
| similarity index 55% | 
| copy from third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html | 
| copy to third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html | 
| index 5d51a088946ff107b36b221d01c36441d1d0a86f..424c0c402c7b1ada63c526462ee1aa996e1e026e 100644 | 
| --- a/third_party/WebKit/LayoutTests/fast/dom/shadow/v1-slots-api-dynamic.html | 
| +++ b/third_party/WebKit/LayoutTests/fast/dom/shadow/slotchange-event.html | 
| @@ -18,7 +18,9 @@ | 
| convertTemplatesToShadowRootsWithin(d1); | 
| removeWhiteSpaceOnlyTextNodes(d1); | 
|  | 
| -test(() => { | 
| +async_test((test) => { | 
| +  var count = 0; | 
| + | 
| const d1_s1 = d1_shadow.querySelector('slot'); | 
| const d1_d1_s1 = d1_d1_shadow.querySelector('slot'); | 
|  | 
| @@ -28,15 +30,34 @@ test(() => { | 
| assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]); | 
| assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2]); | 
|  | 
| +  d1_s1.addEventListener('slotchange', (e) => { | 
| +    test.step(() => { | 
| +      assert_equals(e.target, d1_s1); | 
| +      assert_array_equals(d1_s1.getAssignedNodes(), [d2, d3]); | 
| +      assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]); | 
| +      assert_array_equals(e.scoped, true); | 
| +      count++; | 
| +      // The order when a slotchange event is dispatched in the slots is not guranteed. | 
| +      if (count == 2) | 
| +        test.done(); | 
| +    }); | 
| +  }); | 
| + | 
| +  d1_d1_s1.addEventListener('slotchange', (e) => { | 
| +    test.step(() => { | 
| +      assert_equals(e.target, d1_d1_s1); | 
| +      assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]); | 
| +      assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]); | 
| +      assert_array_equals(e.scoped, true); | 
| +      count++; | 
| +      if (count == 2) | 
| +        test.done(); | 
| +    }); | 
| +  }); | 
| + | 
| const d3 = document.createElement('div'); | 
| d3.setAttribute('id', 'd3'); | 
| d3.setAttribute('slot', 'd1-s1'); | 
| d1.appendChild(d3); | 
| - | 
| -  assert_array_equals(d1_s1.getAssignedNodes(), [d2, d3]); | 
| -  assert_array_equals(d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]); | 
| - | 
| -  assert_array_equals(d1_d1_s1.getAssignedNodes(), [d1_s1]); | 
| -  assert_array_equals(d1_d1_s1.getAssignedNodes({'flatten': true}), [d2, d3]); | 
| -}, "Distribution should be re-calcualted when assigned nodes of a slot in the parent tree is changed"); | 
| +}, "slotchange event should be dispatched."); | 
| </script> | 
|  |