| Index: Source/core/dom/Attr.h
|
| diff --git a/Source/core/dom/Attr.h b/Source/core/dom/Attr.h
|
| index dbc9dd3c519686265dd53d9729ee8196d1e24165..b6b2b4d362cf339423ffc2e85de3264af8852fae 100644
|
| --- a/Source/core/dom/Attr.h
|
| +++ b/Source/core/dom/Attr.h
|
| @@ -44,7 +44,7 @@ public:
|
| static PassRefPtrWillBeRawPtr<Attr> create(Document&, const QualifiedName&, const AtomicString& value);
|
| virtual ~Attr();
|
|
|
| - String name() const { return qualifiedName().toString(); }
|
| + String name() const { return m_name.toString(); }
|
| bool specified() const { return true; }
|
| Element* ownerElement() const { return m_element; }
|
|
|
| @@ -54,9 +54,9 @@ public:
|
| const AtomicString& valueForBindings() const;
|
| void setValueForBindings(const AtomicString&);
|
|
|
| - const QualifiedName& qualifiedName() const { return m_name; }
|
| + const QualifiedName qualifiedName() const;
|
|
|
| - void attachToElement(Element*);
|
| + void attachToElement(Element*, const AtomicString&);
|
| void detachFromElementWithValue(const AtomicString&);
|
|
|
| virtual const AtomicString& localName() const OVERRIDE { return m_name.localName(); }
|
| @@ -91,7 +91,11 @@ private:
|
| // Note that m_name is always set, but m_element/m_standaloneValue may be null.
|
| RawPtrWillBeMember<Element> m_element;
|
| QualifiedName m_name;
|
| - AtomicString m_standaloneValue;
|
| + // Holds the value if it is a standalone Node, or the local name of the
|
| + // attribute it is attached to on an Element. The latter may (letter case)
|
| + // differ from m_name's local name. As these two modes are non-overlapping,
|
| + // use a single field.
|
| + AtomicString m_standaloneValueOrAttachedLocalName;
|
| unsigned m_ignoreChildrenChanged;
|
| };
|
|
|
|
|