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, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl
e Inc. All rights reserved. | 6 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2013 Appl
e 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 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
365 PassRefPtr<Element> cloneElementWithoutChildren(); | 365 PassRefPtr<Element> cloneElementWithoutChildren(); |
366 | 366 |
367 void normalizeAttributes(); | 367 void normalizeAttributes(); |
368 String nodeNamePreservingCase() const; | 368 String nodeNamePreservingCase() const; |
369 | 369 |
370 void setBooleanAttribute(const QualifiedName& name, bool); | 370 void setBooleanAttribute(const QualifiedName& name, bool); |
371 | 371 |
372 // For exposing to DOM only. | 372 // For exposing to DOM only. |
373 NamedNodeMap* attributes() const; | 373 NamedNodeMap* attributes() const; |
374 | 374 |
| 375 enum AttributeModificationReason { |
| 376 ModifiedDirectly, |
| 377 ModifiedByCloning |
| 378 }; |
| 379 |
375 // This method is called whenever an attribute is added, changed or removed. | 380 // This method is called whenever an attribute is added, changed or removed. |
376 virtual void attributeChanged(const QualifiedName&, const AtomicString&); | 381 virtual void attributeChanged(const QualifiedName&, const AtomicString&, Att
ributeModificationReason = ModifiedDirectly); |
377 virtual void parseAttribute(const QualifiedName&, const AtomicString&) { } | 382 virtual void parseAttribute(const QualifiedName&, const AtomicString&) { } |
378 | 383 |
379 // Only called by the parser immediately after element construction. | 384 // Only called by the parser immediately after element construction. |
380 void parserSetAttributes(const Vector<Attribute>&); | 385 void parserSetAttributes(const Vector<Attribute>&); |
381 | 386 |
382 // Remove attributes that might introduce scripting from the vector leaving
the element unchanged. | 387 // Remove attributes that might introduce scripting from the vector leaving
the element unchanged. |
383 void stripScriptingAttributes(Vector<Attribute>&) const; | 388 void stripScriptingAttributes(Vector<Attribute>&) const; |
384 | 389 |
385 const ElementData* elementData() const { return m_elementData.get(); } | 390 const ElementData* elementData() const { return m_elementData.get(); } |
386 UniqueElementData* ensureUniqueElementData(); | 391 UniqueElementData* ensureUniqueElementData(); |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
670 | 675 |
671 void scrollByUnits(int units, ScrollGranularity); | 676 void scrollByUnits(int units, ScrollGranularity); |
672 | 677 |
673 virtual void setPrefix(const AtomicString&, ExceptionCode&); | 678 virtual void setPrefix(const AtomicString&, ExceptionCode&); |
674 virtual NodeType nodeType() const; | 679 virtual NodeType nodeType() const; |
675 virtual bool childTypeAllowed(NodeType) const; | 680 virtual bool childTypeAllowed(NodeType) const; |
676 | 681 |
677 void setAttributeInternal(size_t index, const QualifiedName&, const AtomicSt
ring& value, SynchronizationOfLazyAttribute); | 682 void setAttributeInternal(size_t index, const QualifiedName&, const AtomicSt
ring& value, SynchronizationOfLazyAttribute); |
678 void addAttributeInternal(const QualifiedName&, const AtomicString& value, S
ynchronizationOfLazyAttribute); | 683 void addAttributeInternal(const QualifiedName&, const AtomicString& value, S
ynchronizationOfLazyAttribute); |
679 void removeAttributeInternal(size_t index, SynchronizationOfLazyAttribute); | 684 void removeAttributeInternal(size_t index, SynchronizationOfLazyAttribute); |
680 void attributeChangedFromParserOrByCloning(const QualifiedName&, const Atomi
cString&); | 685 void attributeChangedFromParserOrByCloning(const QualifiedName&, const Atomi
cString&, AttributeModificationReason); |
681 | 686 |
682 #ifndef NDEBUG | 687 #ifndef NDEBUG |
683 virtual void formatForDebugger(char* buffer, unsigned length) const; | 688 virtual void formatForDebugger(char* buffer, unsigned length) const; |
684 #endif | 689 #endif |
685 | 690 |
686 bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle*
newStyle); | 691 bool pseudoStyleCacheIsInvalid(const RenderStyle* currentStyle, RenderStyle*
newStyle); |
687 | 692 |
688 void cancelFocusAppearanceUpdate(); | 693 void cancelFocusAppearanceUpdate(); |
689 | 694 |
690 virtual const AtomicString& virtualPrefix() const { return prefix(); } | 695 virtual const AtomicString& virtualPrefix() const { return prefix(); } |
(...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1000 { | 1005 { |
1001 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); | 1006 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); |
1002 if (m_isUnique) | 1007 if (m_isUnique) |
1003 return &static_cast<const UniqueElementData*>(this)->m_attributeVector.a
t(index); | 1008 return &static_cast<const UniqueElementData*>(this)->m_attributeVector.a
t(index); |
1004 return &static_cast<const ShareableElementData*>(this)->m_attributeArray[ind
ex]; | 1009 return &static_cast<const ShareableElementData*>(this)->m_attributeArray[ind
ex]; |
1005 } | 1010 } |
1006 | 1011 |
1007 } // namespace | 1012 } // namespace |
1008 | 1013 |
1009 #endif | 1014 #endif |
OLD | NEW |