diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/dom/Element.h')
-rw-r--r-- | src/3rdparty/webkit/WebCore/dom/Element.h | 56 |
1 files changed, 39 insertions, 17 deletions
diff --git a/src/3rdparty/webkit/WebCore/dom/Element.h b/src/3rdparty/webkit/WebCore/dom/Element.h index b48424f..5e95abd 100644 --- a/src/3rdparty/webkit/WebCore/dom/Element.h +++ b/src/3rdparty/webkit/WebCore/dom/Element.h @@ -34,6 +34,8 @@ namespace WebCore { class Attr; class Attribute; class CSSStyleDeclaration; +class ClientRect; +class ClientRectList; class ElementRareData; class IntSize; @@ -75,12 +77,15 @@ public: int clientTop(); int clientWidth(); int clientHeight(); - int scrollLeft(); - int scrollTop(); - void setScrollLeft(int); - void setScrollTop(int); - int scrollWidth(); - int scrollHeight(); + virtual int scrollLeft() const; + virtual int scrollTop() const; + virtual void setScrollLeft(int); + virtual void setScrollTop(int); + virtual int scrollWidth() const; + virtual int scrollHeight() const; + + PassRefPtr<ClientRectList> getClientRects() const; + PassRefPtr<ClientRect> getBoundingClientRect() const; void removeAttribute(const String& name, ExceptionCode&); void removeAttributeNS(const String& namespaceURI, const String& localName, ExceptionCode&); @@ -110,33 +115,29 @@ public: // DOM methods overridden from parent classes virtual NodeType nodeType() const; - virtual PassRefPtr<Node> cloneNode(bool deep); virtual String nodeName() const; virtual void insertedIntoDocument(); virtual void removedFromDocument(); virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0); - PassRefPtr<Element> cloneElement(); + PassRefPtr<Element> cloneElementWithChildren(); + PassRefPtr<Element> cloneElementWithoutChildren(); void normalizeAttributes(); - - virtual bool isInputTypeHidden() const { return false; } - virtual bool isPasswordField() const { return false; } - String nodeNamePreservingCase() const; // convenience methods which ignore exceptions void setAttribute(const QualifiedName&, const AtomicString& value); void setBooleanAttribute(const QualifiedName& name, bool); - virtual NamedAttrMap* attributes() const; - NamedAttrMap* attributes(bool readonly) const; + virtual NamedNodeMap* attributes() const; + NamedNodeMap* attributes(bool readonly) const; // This method is called whenever an attribute is added, changed or removed. virtual void attributeChanged(Attribute*, bool preserveDecls = false); // not part of the DOM - void setAttributeMap(PassRefPtr<NamedAttrMap>); + void setAttributeMap(PassRefPtr<NamedNodeMap>); virtual void copyNonAttributeProperties(const Element* /*source*/) { } @@ -198,6 +199,23 @@ public: Element* nextElementSibling() const; unsigned childElementCount() const; + // FormControlElement API + virtual bool isFormControlElement() const { return false; } + virtual bool isEnabledFormControl() const { return true; } + virtual bool isReadOnlyFormControl() const { return false; } + virtual bool isTextFormControl() const { return false; } + + virtual bool formControlValueMatchesRenderer() const { return false; } + virtual void setFormControlValueMatchesRenderer(bool) { } + + virtual const AtomicString& formControlName() const { return nullAtom; } + virtual const AtomicString& formControlType() const { return nullAtom; } + + virtual bool saveFormControlState(String&) const { return false; } + virtual void restoreFormControlState(const String&) { } + + virtual void dispatchFormControlChangeEvent() { } + private: virtual void createAttributeMap() const; @@ -214,6 +232,10 @@ private: virtual const AtomicString& virtualLocalName() const { return localName(); } virtual const AtomicString& virtualNamespaceURI() const { return namespaceURI(); } + // cloneNode is private so that non-virtual cloneElementWithChildren and cloneElementWithoutChildren + // are used instead. + virtual PassRefPtr<Node> cloneNode(bool deep); + QualifiedName m_tagName; virtual NodeRareData* createRareData(); @@ -221,7 +243,7 @@ protected: ElementRareData* rareData() const; ElementRareData* ensureRareData(); - mutable RefPtr<NamedAttrMap> namedAttrMap; + mutable RefPtr<NamedNodeMap> namedAttrMap; }; inline bool Node::hasTagName(const QualifiedName& name) const @@ -234,7 +256,7 @@ inline bool Node::hasAttributes() const return isElementNode() && static_cast<const Element*>(this)->hasAttributes(); } -inline NamedAttrMap* Node::attributes() const +inline NamedNodeMap* Node::attributes() const { return isElementNode() ? static_cast<const Element*>(this)->attributes() : 0; } |