| Index: Source/core/dom/Element.h
|
| diff --git a/Source/core/dom/Element.h b/Source/core/dom/Element.h
|
| index 8136281da8dc93da17bacc4be952a70105514f63..e905d24d29f3c3d6fc5ad57398f4bfb393cf4aae 100644
|
| --- a/Source/core/dom/Element.h
|
| +++ b/Source/core/dom/Element.h
|
| @@ -235,6 +235,8 @@ public:
|
| // Should be called only by Document::createElementNS to fix up m_tagName immediately after construction.
|
| void setTagNameForCreateElementNS(const QualifiedName&);
|
|
|
| + bool shouldHideFocusRingOnMouseFocus() const;
|
| +
|
| // A fast function for checking the local name against another atomic string.
|
| bool hasLocalName(const AtomicString& other) const { return m_tagName.localName() == other; }
|
|
|
| @@ -371,10 +373,13 @@ public:
|
| // rendererIsFocusable(), this method may be called when layout is not up to
|
| // date, so it must not use the renderer to determine focusability.
|
| virtual bool supportsFocus() const;
|
| + virtual bool shouldShowFocusRingOnMouseFocus() const { return true; };
|
| + virtual bool shouldHaveFocusAppearance() const OVERRIDE FINAL;
|
| // Whether the node can actually be focused.
|
| bool isFocusable() const;
|
| virtual bool isKeyboardFocusable() const;
|
| virtual bool isMouseFocusable() const;
|
| + virtual void willCallDefaultEventHandler(const Event&) OVERRIDE FINAL;
|
| virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType);
|
| virtual void dispatchBlurEvent(Element* newFocusedElement);
|
| void dispatchFocusInEvent(const AtomicString& eventType, Element* oldFocusedElement);
|
| @@ -827,6 +832,11 @@ inline void Element::setTagNameForCreateElementNS(const QualifiedName& tagName)
|
| m_tagName = tagName;
|
| }
|
|
|
| +inline bool Element::shouldHideFocusRingOnMouseFocus() const
|
| +{
|
| + return elementData() && elementData()->m_shouldHideFocusRingOnMouseFocus;
|
| +}
|
| +
|
| inline bool isShadowHost(const Node* node)
|
| {
|
| return node && node->isElementNode() && toElement(node)->shadow();
|
|
|