Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved. | 6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 364 virtual Image* imageContents() { return 0; } | 364 virtual Image* imageContents() { return 0; } |
| 365 | 365 |
| 366 virtual void focus(bool restorePreviousSelection = true, FocusType = FocusTy peNone); | 366 virtual void focus(bool restorePreviousSelection = true, FocusType = FocusTy peNone); |
| 367 virtual void updateFocusAppearance(bool restorePreviousSelection); | 367 virtual void updateFocusAppearance(bool restorePreviousSelection); |
| 368 virtual void blur(); | 368 virtual void blur(); |
| 369 // Whether this element can receive focus at all. Most elements are not | 369 // Whether this element can receive focus at all. Most elements are not |
| 370 // focusable but some elements, such as form controls and links, are. Unlike | 370 // focusable but some elements, such as form controls and links, are. Unlike |
| 371 // rendererIsFocusable(), this method may be called when layout is not up to | 371 // rendererIsFocusable(), this method may be called when layout is not up to |
| 372 // date, so it must not use the renderer to determine focusability. | 372 // date, so it must not use the renderer to determine focusability. |
| 373 virtual bool supportsFocus() const; | 373 virtual bool supportsFocus() const; |
| 374 virtual bool shouldShowFocusRingOnMouseFocus() const { return true; }; | |
| 375 virtual bool shouldHaveFocusAppearance() const OVERRIDE FINAL; | |
| 374 // Whether the node can actually be focused. | 376 // Whether the node can actually be focused. |
| 375 bool isFocusable() const; | 377 bool isFocusable() const; |
| 376 virtual bool isKeyboardFocusable() const; | 378 virtual bool isKeyboardFocusable() const; |
| 377 virtual bool isMouseFocusable() const; | 379 virtual bool isMouseFocusable() const; |
| 380 virtual void willCallDefaultEventHandler(const Event&) OVERRIDE FINAL; | |
| 378 virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType); | 381 virtual void dispatchFocusEvent(Element* oldFocusedElement, FocusType); |
| 379 virtual void dispatchBlurEvent(Element* newFocusedElement); | 382 virtual void dispatchBlurEvent(Element* newFocusedElement); |
| 380 void dispatchFocusInEvent(const AtomicString& eventType, Element* oldFocused Element); | 383 void dispatchFocusInEvent(const AtomicString& eventType, Element* oldFocused Element); |
| 381 void dispatchFocusOutEvent(const AtomicString& eventType, Element* newFocuse dElement); | 384 void dispatchFocusOutEvent(const AtomicString& eventType, Element* newFocuse dElement); |
| 382 | 385 |
| 383 String innerText(); | 386 String innerText(); |
| 384 String outerText(); | 387 String outerText(); |
| 385 String innerHTML() const; | 388 String innerHTML() const; |
| 386 String outerHTML() const; | 389 String outerHTML() const; |
| 387 void setInnerHTML(const String&, ExceptionState&); | 390 void setInnerHTML(const String&, ExceptionState&); |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 630 ElementRareData& ensureElementRareData(); | 633 ElementRareData& ensureElementRareData(); |
| 631 | 634 |
| 632 WillBeHeapVector<RefPtrWillBeMember<Attr> >& ensureAttrNodeList(); | 635 WillBeHeapVector<RefPtrWillBeMember<Attr> >& ensureAttrNodeList(); |
| 633 void removeAttrNodeList(); | 636 void removeAttrNodeList(); |
| 634 void detachAllAttrNodesFromElement(); | 637 void detachAllAttrNodesFromElement(); |
| 635 void detachAttrNodeFromElementWithValue(Attr*, const AtomicString& value); | 638 void detachAttrNodeFromElementWithValue(Attr*, const AtomicString& value); |
| 636 void detachAttrNodeAtIndex(Attr*, size_t index); | 639 void detachAttrNodeAtIndex(Attr*, size_t index); |
| 637 | 640 |
| 638 bool isJavaScriptURLAttribute(const Attribute&) const; | 641 bool isJavaScriptURLAttribute(const Attribute&) const; |
| 639 | 642 |
| 643 bool m_wasFocusedByMouse; | |
|
pdr.
2014/08/25 17:46:18
Should this be put in m_elementData instead?
robwu
2014/08/25 22:40:03
Probably yes. I found it a bit odd that there were
| |
| 644 | |
| 640 RefPtrWillBeMember<ElementData> m_elementData; | 645 RefPtrWillBeMember<ElementData> m_elementData; |
| 641 }; | 646 }; |
| 642 | 647 |
| 643 DEFINE_NODE_TYPE_CASTS(Element, isElementNode()); | 648 DEFINE_NODE_TYPE_CASTS(Element, isElementNode()); |
| 644 template <typename T> bool isElementOfType(const Node&); | 649 template <typename T> bool isElementOfType(const Node&); |
| 645 template <> inline bool isElementOfType<const Element>(const Node& node) { retur n node.isElementNode(); } | 650 template <> inline bool isElementOfType<const Element>(const Node& node) { retur n node.isElementNode(); } |
| 646 template <typename T> inline bool isElementOfType(const Element& element) { retu rn isElementOfType<T>(static_cast<const Node&>(element)); } | 651 template <typename T> inline bool isElementOfType(const Element& element) { retu rn isElementOfType<T>(static_cast<const Node&>(element)); } |
| 647 template <> inline bool isElementOfType<const Element>(const Element&) { return true; } | 652 template <> inline bool isElementOfType<const Element>(const Element&) { return true; } |
| 648 | 653 |
| 649 // Type casting. | 654 // Type casting. |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 851 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) | 856 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) |
| 852 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ | 857 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ |
| 853 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ | 858 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ |
| 854 { \ | 859 { \ |
| 855 return adoptRefWillBeNoop(new T(tagName, document)); \ | 860 return adoptRefWillBeNoop(new T(tagName, document)); \ |
| 856 } | 861 } |
| 857 | 862 |
| 858 } // namespace | 863 } // namespace |
| 859 | 864 |
| 860 #endif | 865 #endif |
| OLD | NEW |