
    ASSERT(layoutObject());
    ASSERT(layoutObject()->parent());

    // We can have any number of anonymous layout objects inserted between
    // us and our parent so make sure we skip over them.
    LayoutObject* ancestor = layoutObject()->parent();
    while (ancestor->isAnonymous() || (ancestor->node() && ancestor->node()->isPseudoElement())) {
        ASSERT(ancestor->parent());
        ancestor = ancestor->parent();
    }