bool RenderTheme::shouldDrawDefaultFocusRing(RenderObject* renderer) const { if (supportsFocusRing(renderer->style())) return false; if (!renderer->style()->hasAppearance()) return true; Node* node = renderer->node(); if (!node) return true; // We can't use RenderTheme::isFocused because outline:auto might be // specified to non-:focus rulesets. if (node->focused() && !node->shouldHaveFocusAppearance()) return false; return true; }
bool LayoutTheme::shouldDrawDefaultFocusRing(LayoutObject* layoutObject) const { if (supportsFocusRing(layoutObject->styleRef())) return false; Node* node = layoutObject->node(); if (!node) return true; if (!layoutObject->styleRef().hasAppearance() && !node->isLink()) return true; // We can't use LayoutTheme::isFocused because outline:auto might be // specified to non-:focus rulesets. if (node->focused() && !node->shouldHaveFocusAppearance()) return false; return true; }