diff options
author | Steve Block <steveblock@google.com> | 2011-05-25 19:08:45 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2011-06-08 13:51:31 +0100 |
commit | 2bde8e466a4451c7319e3a072d118917957d6554 (patch) | |
tree | 28f4a1b869a513e565c7760d0e6a06e7cf1fe95a /Source/WebCore/svg/SVGElementInstance.h | |
parent | 6939c99b71d9372d14a0c74a772108052e8c48c8 (diff) | |
download | external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.zip external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.gz external_webkit-2bde8e466a4451c7319e3a072d118917957d6554.tar.bz2 |
Merge WebKit at r82507: Initial merge by git
Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e
Diffstat (limited to 'Source/WebCore/svg/SVGElementInstance.h')
-rw-r--r-- | Source/WebCore/svg/SVGElementInstance.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/Source/WebCore/svg/SVGElementInstance.h b/Source/WebCore/svg/SVGElementInstance.h index 6dbcff4..2a8c52f 100644 --- a/Source/WebCore/svg/SVGElementInstance.h +++ b/Source/WebCore/svg/SVGElementInstance.h @@ -1,5 +1,6 @@ /* * Copyright (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org> + * Copyright (C) 2011 Torch Mobile (Beijing) Co. Ltd. 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 @@ -39,9 +40,9 @@ class SVGElementInstanceList; class SVGElementInstance : public TreeShared<SVGElementInstance>, public EventTarget { public: - static PassRefPtr<SVGElementInstance> create(SVGUseElement* useElement, PassRefPtr<SVGElement> originalElement) + static PassRefPtr<SVGElementInstance> create(SVGUseElement* correspondingUseElement, SVGUseElement* directUseElement, PassRefPtr<SVGElement> originalElement) { - return adoptRef(new SVGElementInstance(useElement, originalElement)); + return adoptRef(new SVGElementInstance(correspondingUseElement, directUseElement, originalElement)); } virtual ~SVGElementInstance(); @@ -55,9 +56,14 @@ public: virtual bool dispatchEvent(PassRefPtr<Event>); SVGElement* correspondingElement() const { return m_element.get(); } - SVGUseElement* correspondingUseElement() const { return m_useElement; } + SVGUseElement* correspondingUseElement() const { return m_correspondingUseElement; } + SVGUseElement* directUseElement() const { return m_directUseElement; } SVGElement* shadowTreeElement() const { return m_shadowTreeElement.get(); } - void clearUseElement() { m_useElement = 0; } + void clearUseElements() + { + m_directUseElement = 0; + m_correspondingUseElement = 0; + } SVGElementInstance* parentNode() const { return parent(); } PassRefPtr<SVGElementInstanceList> childNodes(); @@ -120,7 +126,7 @@ public: private: friend class SVGUseElement; - SVGElementInstance(SVGUseElement*, PassRefPtr<SVGElement> originalElement); + SVGElementInstance(SVGUseElement*, SVGUseElement*, PassRefPtr<SVGElement> originalElement); virtual Node* toNode() { return shadowTreeElement(); } virtual SVGElementInstance* toSVGElementInstance() { return this; } @@ -150,7 +156,8 @@ private: virtual EventTargetData* eventTargetData(); virtual EventTargetData* ensureEventTargetData(); - SVGUseElement* m_useElement; + SVGUseElement* m_correspondingUseElement; + SVGUseElement* m_directUseElement; RefPtr<SVGElement> m_element; RefPtr<SVGElement> m_shadowTreeElement; |