diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:41 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 18:28:41 -0800 |
commit | 648161bb0edfc3d43db63caed5cc5213bc6cb78f (patch) | |
tree | 4b825dc642cb6eb9a060e54bf8d69288fbee4904 /WebCore/dom/Element.h | |
parent | a65af38181ac7d34544586bdb5cd004de93897ad (diff) | |
download | external_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.zip external_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.tar.gz external_webkit-648161bb0edfc3d43db63caed5cc5213bc6cb78f.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'WebCore/dom/Element.h')
-rw-r--r-- | WebCore/dom/Element.h | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/WebCore/dom/Element.h b/WebCore/dom/Element.h deleted file mode 100644 index b9dc0fd..0000000 --- a/WebCore/dom/Element.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * Copyright (C) 1999 Lars Knoll (knoll@kde.org) - * (C) 1999 Antti Koivisto (koivisto@kde.org) - * (C) 2001 Peter Kelly (pmk@post.com) - * (C) 2001 Dirk Mueller (mueller@kde.org) - * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public License - * along with this library; see the file COPYING.LIB. If not, write to - * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - * Boston, MA 02110-1301, USA. - * - */ - -#ifndef Element_h -#define Element_h - -#include "ContainerNode.h" -#include "QualifiedName.h" -#include "ScrollTypes.h" - -namespace WebCore { - -class Attr; -class Attribute; -class CSSStyleDeclaration; -class ElementRareData; -class IntSize; - -class Element : public ContainerNode { -public: - Element(const QualifiedName&, Document*); - ~Element(); - - const AtomicString& getIDAttribute() const; - bool hasAttribute(const QualifiedName&) const; - const AtomicString& getAttribute(const QualifiedName&) const; - void setAttribute(const QualifiedName&, const AtomicString& value, ExceptionCode&); - void removeAttribute(const QualifiedName&, ExceptionCode&); - - bool hasAttributes() const; - - bool hasAttribute(const String& name) const; - bool hasAttributeNS(const String& namespaceURI, const String& localName) const; - - const AtomicString& getAttribute(const String& name) const; - const AtomicString& getAttributeNS(const String& namespaceURI, const String& localName) const; - - void setAttribute(const AtomicString& name, const AtomicString& value, ExceptionCode&); - void setAttributeNS(const AtomicString& namespaceURI, const AtomicString& qualifiedName, const AtomicString& value, ExceptionCode&); - - void scrollIntoView (bool alignToTop = true); - void scrollIntoViewIfNeeded(bool centerIfNeeded = true); - - void scrollByUnits(int units, ScrollGranularity); - void scrollByLines(int lines); - void scrollByPages(int pages); - - int offsetLeft(); - int offsetTop(); - int offsetWidth(); - int offsetHeight(); - Element* offsetParent(); - int clientLeft(); - int clientTop(); - int clientWidth(); - int clientHeight(); - int scrollLeft(); - int scrollTop(); - void setScrollLeft(int); - void setScrollTop(int); - int scrollWidth(); - int scrollHeight(); - - void removeAttribute(const String& name, ExceptionCode&); - void removeAttributeNS(const String& namespaceURI, const String& localName, ExceptionCode&); - - PassRefPtr<Attr> getAttributeNode(const String& name); - PassRefPtr<Attr> getAttributeNodeNS(const String& namespaceURI, const String& localName); - PassRefPtr<Attr> setAttributeNode(Attr*, ExceptionCode&); - PassRefPtr<Attr> setAttributeNodeNS(Attr*, ExceptionCode&); - PassRefPtr<Attr> removeAttributeNode(Attr*, ExceptionCode&); - - virtual CSSStyleDeclaration* style(); - - const QualifiedName& tagQName() const { return m_tagName; } - String tagName() const { return nodeName(); } - bool hasTagName(const QualifiedName& tagName) const { return m_tagName.matches(tagName); } - - // A fast function for checking the local name against another atomic string. - bool hasLocalName(const AtomicString& other) const { return m_tagName.localName() == other; } - bool hasLocalName(const QualifiedName& other) const { return m_tagName.localName() == other.localName(); } - - const AtomicString& localName() const { return m_tagName.localName(); } - const AtomicString& prefix() const { return m_tagName.prefix(); } - virtual void setPrefix(const AtomicString&, ExceptionCode&); - const AtomicString& namespaceURI() const { return m_tagName.namespaceURI(); } - - virtual KURL baseURI() const; - - // 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); - - 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; - - // 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>); - - virtual void copyNonAttributeProperties(const Element* source) {} - - virtual void attach(); - virtual void detach(); - virtual RenderObject* createRenderer(RenderArena*, RenderStyle*); - virtual void recalcStyle(StyleChange = NoChange); - - virtual RenderStyle* computedStyle(); - - virtual bool childTypeAllowed(NodeType); - - virtual PassRefPtr<Attribute> createAttribute(const QualifiedName&, const AtomicString& value); - - void dispatchAttrRemovalEvent(Attribute*); - void dispatchAttrAdditionEvent(Attribute*); - - virtual void accessKeyAction(bool sendToAnyEvent) { } - - virtual bool isURLAttribute(Attribute*) const; - virtual const QualifiedName& imageSourceAttributeName() const; - virtual String target() const { return String(); } - virtual void focus(bool restorePreviousSelection = true); - virtual void updateFocusAppearance(bool restorePreviousSelection); - void blur(); - -#ifndef NDEBUG - virtual void formatForDebugger(char* buffer, unsigned length) const; -#endif - - bool contains(const Node*) const; - - String innerText() const; - String outerText() const; - - virtual String title() const; - - String openTagStartToString() const; - - void updateId(const AtomicString& oldId, const AtomicString& newId); - - IntSize minimumSizeForResizing() const; - void setMinimumSizeForResizing(const IntSize&); - - // Use Document::registerForDocumentActivationCallbacks() to subscribe these - virtual void documentWillBecomeInactive() { } - virtual void documentDidBecomeActive() { } - - bool isFinishedParsingChildren() const { return m_parsingChildrenFinished; } - virtual void finishParsingChildren(); - virtual void beginParsingChildren() { m_parsingChildrenFinished = false; } - - // ElementTraversal API - Element* firstElementChild() const; - Element* lastElementChild() const; - Element* previousElementSibling() const; - Element* nextElementSibling() const; - unsigned childElementCount() const; - -private: - virtual void createAttributeMap() const; - - virtual void updateStyleAttribute() const {} - -#if ENABLE(SVG) - virtual void updateAnimatedSVGAttribute(const String&) const {} -#endif - - void updateFocusAppearanceSoonAfterAttach(); - void cancelFocusAppearanceUpdate(); - - virtual const AtomicString& virtualPrefix() const { return prefix(); } - virtual const AtomicString& virtualLocalName() const { return localName(); } - virtual const AtomicString& virtualNamespaceURI() const { return namespaceURI(); } - - QualifiedName m_tagName; - virtual NodeRareData* createRareData(); - -protected: - ElementRareData* rareData() const; - ElementRareData* ensureRareData(); - - mutable RefPtr<NamedAttrMap> namedAttrMap; - - // These two bits are really used by the StyledElement subclass, but they are pulled up here in order to be shared with other - // Element bits. - mutable bool m_isStyleAttributeValid : 1; - mutable bool m_synchronizingStyleAttribute : 1; - -#if ENABLE(SVG) - // These bit is are used by SVGElement subclasses, and it lives here for the same reason as above. - mutable bool m_areSVGAttributesValid : 1; - mutable bool m_synchronizingSVGAttributes : 1; -#endif - -private: - bool m_parsingChildrenFinished : 1; -}; - -inline bool Node::hasTagName(const QualifiedName& name) const -{ - return isElementNode() && static_cast<const Element*>(this)->hasTagName(name); -} - -inline bool Node::hasAttributes() const -{ - return isElementNode() && static_cast<const Element*>(this)->hasAttributes(); -} - -inline NamedAttrMap* Node::attributes() const -{ - return isElementNode() ? static_cast<const Element*>(this)->attributes() : 0; -} - -} //namespace - -#endif |