Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: Source/core/svg/SVGAnimatedIntegerOptionalInteger.h

Issue 678163002: Oilpan: move SVG property hierarchy to the heap. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased upto r185213 Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2014 Google Inc. All rights reserved. 2 * Copyright (C) 2014 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 15 matching lines...) Expand all
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */ 29 */
30 30
31 #ifndef SVGAnimatedIntegerOptionalInteger_h 31 #ifndef SVGAnimatedIntegerOptionalInteger_h
32 #define SVGAnimatedIntegerOptionalInteger_h 32 #define SVGAnimatedIntegerOptionalInteger_h
33 33
34 #include "core/svg/SVGAnimatedInteger.h" 34 #include "core/svg/SVGAnimatedInteger.h"
35 #include "core/svg/SVGIntegerOptionalInteger.h" 35 #include "core/svg/SVGIntegerOptionalInteger.h"
36 #include "platform/heap/Handle.h"
36 37
37 namespace blink { 38 namespace blink {
38 39
39 // SVG Spec: http://www.w3.org/TR/SVG11/types.html <number-optional-number> 40 // SVG Spec: http://www.w3.org/TR/SVG11/types.html <number-optional-number>
40 // Unlike other SVGAnimated* class, this class is not exposed to Javascript dire ctly, 41 // Unlike other SVGAnimated* class, this class is not exposed to Javascript dire ctly,
41 // while DOM attribute and SMIL animations operate on this class. 42 // while DOM attribute and SMIL animations operate on this class.
42 // From Javascript, the two SVGAnimatedIntegers |firstInteger| and |secondIntege r| are used. 43 // From Javascript, the two SVGAnimatedIntegers |firstInteger| and |secondIntege r| are used.
43 // For example, see SVGFEDropShadowElement::stdDeviation{X,Y}() 44 // For example, see SVGFEDropShadowElement::stdDeviation{X,Y}()
44 class SVGAnimatedIntegerOptionalInteger : public SVGAnimatedPropertyCommon<SVGIn tegerOptionalInteger> { 45 class SVGAnimatedIntegerOptionalInteger : public SVGAnimatedPropertyCommon<SVGIn tegerOptionalInteger> {
45 public: 46 public:
46 static PassRefPtr<SVGAnimatedIntegerOptionalInteger> create(SVGElement* cont extElement, const QualifiedName& attributeName, float initialFirstValue = 0, flo at initialSecondValue = 0) 47 static PassRefPtrWillBeRawPtr<SVGAnimatedIntegerOptionalInteger> create(SVGE lement* contextElement, const QualifiedName& attributeName, float initialFirstVa lue = 0, float initialSecondValue = 0)
47 { 48 {
48 return adoptRef(new SVGAnimatedIntegerOptionalInteger(contextElement, at tributeName, initialFirstValue, initialSecondValue)); 49 return adoptRefWillBeNoop(new SVGAnimatedIntegerOptionalInteger(contextE lement, attributeName, initialFirstValue, initialSecondValue));
49 } 50 }
50 51
51 virtual void setAnimatedValue(PassRefPtr<SVGPropertyBase>) override; 52 virtual void setAnimatedValue(PassRefPtrWillBeRawPtr<SVGPropertyBase>) overr ide;
52 virtual bool needsSynchronizeAttribute() override; 53 virtual bool needsSynchronizeAttribute() override;
53 virtual void animationEnded() override; 54 virtual void animationEnded() override;
54 55
55 SVGAnimatedInteger* firstInteger() { return m_firstInteger.get(); } 56 SVGAnimatedInteger* firstInteger() { return m_firstInteger.get(); }
56 SVGAnimatedInteger* secondInteger() { return m_secondInteger.get(); } 57 SVGAnimatedInteger* secondInteger() { return m_secondInteger.get(); }
57 58
59 virtual void trace(Visitor*) override;
60
58 protected: 61 protected:
59 SVGAnimatedIntegerOptionalInteger(SVGElement* contextElement, const Qualifie dName& attributeName, float initialFirstValue, float initialSecondValue); 62 SVGAnimatedIntegerOptionalInteger(SVGElement* contextElement, const Qualifie dName& attributeName, float initialFirstValue, float initialSecondValue);
60 63
61 RefPtr<SVGAnimatedInteger> m_firstInteger; 64 RefPtrWillBeMember<SVGAnimatedInteger> m_firstInteger;
62 RefPtr<SVGAnimatedInteger> m_secondInteger; 65 RefPtrWillBeMember<SVGAnimatedInteger> m_secondInteger;
63 }; 66 };
64 67
65 } // namespace blink 68 } // namespace blink
66 69
67 #endif // SVGAnimatedIntegerOptionalInteger_h 70 #endif // SVGAnimatedIntegerOptionalInteger_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGAnimatedInteger.idl ('k') | Source/core/svg/SVGAnimatedIntegerOptionalInteger.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698