summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/WebCore/dom/Element.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/WebCore/dom/Element.h')
-rw-r--r--src/3rdparty/webkit/WebCore/dom/Element.h56
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;
}