static inline bool nodeCanBeDistributed(const Node* node)
{
    ASSERT(node);
    Node* parent = parentNodeForDistribution(node);
    if (!parent)
        return false;

    if (ShadowRoot* shadowRoot = parent->isShadowRoot() ? toShadowRoot(parent) : 0)
        return shadowRoot->insertionPoint();

    if (parent->isElementNode() && toElement(parent)->shadow())
        return true;

    return false;
}
static inline bool nodeCanBeDistributed(const Node* node)
{
    ASSERT(node);
    Node* parent = parentNodeForDistribution(node);
    if (!parent)
        return false;

    if (ShadowRoot* shadowRoot = parent->isShadowRoot() ? toShadowRoot(parent) : 0)
        return ScopeContentDistribution::assignedTo(shadowRoot);

    if (parent->isElementNode() && toElement(parent)->shadow())
        return true;

    return false;
}