bool HTMLAnchorElement::isKeyboardFocusable(KeyboardEvent* event) const { if (!isLink()) return HTMLElement::isKeyboardFocusable(event); if (!isFocusable()) return false; if (!document()->frame()) return false; if (!document()->frame()->eventHandler()->tabsToLinks(event)) return false; if (isInCanvasSubtree()) return true; return hasNonEmptyBox(renderBoxModelObject()); }
bool HTMLAnchorElement::isKeyboardFocusable(KeyboardEvent* event) const { if (!isLink()) return HTMLElement::isKeyboardFocusable(event); if (!isFocusable()) return false; Page* page = document()->page(); if (!page) return false; if (!page->chrome()->client()->tabsToLinks()) return false; if (isInCanvasSubtree()) return true; return hasNonEmptyBoundingBox(); }