| Index: third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
 | 
| diff --git a/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp b/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
 | 
| index cf907c221c755daa2c33147e415d07648ad7d523..a3f1e37a55b40d6af3eecd960ff06567795d1f07 100644
 | 
| --- a/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
 | 
| +++ b/third_party/WebKit/Source/core/html/HTMLSlotElement.cpp
 | 
| @@ -31,6 +31,8 @@
 | 
|  #include "core/html/HTMLSlotElement.h"
 | 
|  
 | 
|  #include "core/HTMLNames.h"
 | 
| +#include "core/dom/NodeTraversal.h"
 | 
| +#include "core/dom/shadow/InsertionPoint.h"
 | 
|  
 | 
|  namespace blink {
 | 
|  
 | 
| @@ -98,6 +100,21 @@ void HTMLSlotElement::detach(const AttachContext& context)
 | 
|      HTMLElement::detach(context);
 | 
|  }
 | 
|  
 | 
| +void HTMLSlotElement::updateDistributedNodesWithFallback()
 | 
| +{
 | 
| +    if (!m_distributedNodes.isEmpty())
 | 
| +        return;
 | 
| +    for (auto& child : NodeTraversal::childrenOf(*this)) {
 | 
| +        // Insertion points are not supported as slots fallback
 | 
| +        if (isActiveInsertionPoint(child))
 | 
| +            continue;
 | 
| +        if (isHTMLSlotElement(child))
 | 
| +            appendDistributedNodes(toHTMLSlotElement(child).getDistributedNodes());
 | 
| +        else
 | 
| +            appendDistributedNode(child);
 | 
| +    }
 | 
| +}
 | 
| +
 | 
|  DEFINE_TRACE(HTMLSlotElement)
 | 
|  {
 | 
|      visitor->trace(m_assignedNodes);
 | 
| 
 |