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

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

Issue 1177303004: Updated SVGListPropertyHelper as per SVG2 Spec (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: fixed presubmit error Created 5 years, 6 months 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
« no previous file with comments | « Source/core/svg/SVGPathSegLinetoVerticalRel.h ('k') | Source/core/svg/SVGPathSegMovetoAbs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 30 matching lines...) Expand all
41 class ListItemPropertyTraits<SVGPathSeg> { 41 class ListItemPropertyTraits<SVGPathSeg> {
42 public: 42 public:
43 typedef SVGPathSeg ItemPropertyType; 43 typedef SVGPathSeg ItemPropertyType;
44 // FIXME: Currently SVGPathSegitself is a tear-off. 44 // FIXME: Currently SVGPathSegitself is a tear-off.
45 typedef SVGPathSeg ItemTearOffType; 45 typedef SVGPathSeg ItemTearOffType;
46 46
47 static PassRefPtrWillBeRawPtr<ItemPropertyType> getValueForInsertionFromTear Off(PassRefPtrWillBeRawPtr<ItemTearOffType> passNewItem, SVGElement* contextElem ent, const QualifiedName& attributeName) 47 static PassRefPtrWillBeRawPtr<ItemPropertyType> getValueForInsertionFromTear Off(PassRefPtrWillBeRawPtr<ItemTearOffType> passNewItem, SVGElement* contextElem ent, const QualifiedName& attributeName)
48 { 48 {
49 ASSERT(attributeName == SVGNames::dAttr); 49 ASSERT(attributeName == SVGNames::dAttr);
50 RefPtrWillBeRawPtr<ItemTearOffType> newItem = passNewItem; 50 RefPtrWillBeRawPtr<ItemTearOffType> newItem = passNewItem;
51
52 // Spec: If newItem is already in a list, then a new SVGPathSeg object i s created with the same values as newItem and this item is inserted into the lis t.
53 // Otherwise, newItem itself is inserted into the list.
54 // https://svgwg.org/svg2-draft/paths.html#InterfaceSVGPathSegList
55 if (newItem->ownerList())
56 newItem = newItem->clone();
57
51 newItem->setContextElement(contextElement); 58 newItem->setContextElement(contextElement);
52 return newItem.release(); 59 return newItem.release();
53 } 60 }
54 61
55 static PassRefPtrWillBeRawPtr<ItemTearOffType> createTearOff(PassRefPtrWillB eRawPtr<ItemPropertyType> passValue, SVGElement* contextElement, PropertyIsAnimV alType, const QualifiedName&) 62 static PassRefPtrWillBeRawPtr<ItemTearOffType> createTearOff(PassRefPtrWillB eRawPtr<ItemPropertyType> passValue, SVGElement* contextElement, PropertyIsAnimV alType, const QualifiedName&)
56 { 63 {
57 RefPtrWillBeRawPtr<SVGPathSeg> value = passValue; 64 RefPtrWillBeRawPtr<SVGPathSeg> value = passValue;
58 value->setContextElement(contextElement); 65 value->setContextElement(contextElement);
59 return value.release(); 66 return value.release();
60 } 67 }
(...skipping 10 matching lines...) Expand all
71 } 78 }
72 79
73 private: 80 private:
74 SVGPathSegListTearOff(PassRefPtrWillBeRawPtr<SVGPathSegList> target, SVGElem ent* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedNam e& attributeName = QualifiedName::null()) 81 SVGPathSegListTearOff(PassRefPtrWillBeRawPtr<SVGPathSegList> target, SVGElem ent* contextElement, PropertyIsAnimValType propertyIsAnimVal, const QualifiedNam e& attributeName = QualifiedName::null())
75 : SVGListPropertyTearOffHelper<SVGPathSegListTearOff, SVGPathSegList>(ta rget, contextElement, propertyIsAnimVal, attributeName) { } 82 : SVGListPropertyTearOffHelper<SVGPathSegListTearOff, SVGPathSegList>(ta rget, contextElement, propertyIsAnimVal, attributeName) { }
76 }; 83 };
77 84
78 } // namespace blink 85 } // namespace blink
79 86
80 #endif // SVGPathSegListTearOff_h 87 #endif // SVGPathSegListTearOff_h
OLDNEW
« no previous file with comments | « Source/core/svg/SVGPathSegLinetoVerticalRel.h ('k') | Source/core/svg/SVGPathSegMovetoAbs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698