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

Side by Side Diff: Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.h

Issue 12334104: Merge 143454 (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1364/
Patch Set: Created 7 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 2 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
3 * 3 *
4 * This library is free software; you can redistribute it and/or 4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public 5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either 6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version. 7 * version 2 of the License, or (at your option) any later version.
8 * 8 *
9 * This library is distributed in the hope that it will be useful, 9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 void clear(ExceptionCode&); 68 void clear(ExceptionCode&);
69 69
70 PassListItemType initialize(PassListItemType passNewItem, ExceptionCode& ec) 70 PassListItemType initialize(PassListItemType passNewItem, ExceptionCode& ec)
71 { 71 {
72 // Not specified, but FF/Opera do it this way, and it's just sane. 72 // Not specified, but FF/Opera do it this way, and it's just sane.
73 if (!passNewItem) { 73 if (!passNewItem) {
74 ec = SVGException::SVG_WRONG_TYPE_ERR; 74 ec = SVGException::SVG_WRONG_TYPE_ERR;
75 return 0; 75 return 0;
76 } 76 }
77 77
78 clearContextAndRoles();
78 ListItemType newItem = passNewItem; 79 ListItemType newItem = passNewItem;
79 return Base::initializeValues(newItem, ec); 80 return Base::initializeValues(newItem, ec);
80 } 81 }
81 82
82 PassListItemType getItem(unsigned index, ExceptionCode&); 83 PassListItemType getItem(unsigned index, ExceptionCode&);
83 84
84 PassListItemType insertItemBefore(PassListItemType passNewItem, unsigned ind ex, ExceptionCode& ec) 85 PassListItemType insertItemBefore(PassListItemType passNewItem, unsigned ind ex, ExceptionCode& ec)
85 { 86 {
86 // Not specified, but FF/Opera do it this way, and it's just sane. 87 // Not specified, but FF/Opera do it this way, and it's just sane.
87 if (!passNewItem) { 88 if (!passNewItem) {
88 ec = SVGException::SVG_WRONG_TYPE_ERR; 89 ec = SVGException::SVG_WRONG_TYPE_ERR;
89 return 0; 90 return 0;
90 } 91 }
91 92
92 ListItemType newItem = passNewItem; 93 ListItemType newItem = passNewItem;
93 return Base::insertItemBeforeValues(newItem, index, ec); 94 return Base::insertItemBeforeValues(newItem, index, ec);
94 } 95 }
95 96
96 PassListItemType replaceItem(PassListItemType passNewItem, unsigned index, E xceptionCode& ec) 97 PassListItemType replaceItem(PassListItemType, unsigned index, ExceptionCode &);
97 {
98 // Not specified, but FF/Opera do it this way, and it's just sane.
99 if (!passNewItem) {
100 ec = SVGException::SVG_WRONG_TYPE_ERR;
101 return 0;
102 }
103
104 ListItemType newItem = passNewItem;
105 return Base::replaceItemValues(newItem, index, ec);
106 }
107 98
108 PassListItemType removeItem(unsigned index, ExceptionCode&); 99 PassListItemType removeItem(unsigned index, ExceptionCode&);
109 100
110 PassListItemType appendItem(PassListItemType passNewItem, ExceptionCode& ec) 101 PassListItemType appendItem(PassListItemType passNewItem, ExceptionCode& ec)
111 { 102 {
112 // Not specified, but FF/Opera do it this way, and it's just sane. 103 // Not specified, but FF/Opera do it this way, and it's just sane.
113 if (!passNewItem) { 104 if (!passNewItem) {
114 ec = SVGException::SVG_WRONG_TYPE_ERR; 105 ec = SVGException::SVG_WRONG_TYPE_ERR;
115 return 0; 106 return 0;
116 } 107 }
117 108
118 ListItemType newItem = passNewItem; 109 ListItemType newItem = passNewItem;
119 return Base::appendItemValues(newItem, ec); 110 return Base::appendItemValues(newItem, ec);
120 } 111 }
121 112
122 private: 113 private:
123 SVGPathSegListPropertyTearOff(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGPathSegRole pathSegRole, SVGPathSegList& values, ListW rapperCache& wrappers) 114 SVGPathSegListPropertyTearOff(AnimatedListPropertyTearOff* animatedProperty, SVGPropertyRole role, SVGPathSegRole pathSegRole, SVGPathSegList& values, ListW rapperCache& wrappers)
124 : SVGListProperty<SVGPathSegList>(role, values, &wrappers) 115 : SVGListProperty<SVGPathSegList>(role, values, &wrappers)
125 , m_animatedProperty(animatedProperty) 116 , m_animatedProperty(animatedProperty)
126 , m_pathSegRole(pathSegRole) 117 , m_pathSegRole(pathSegRole)
127 { 118 {
128 } 119 }
129 120
130 SVGPathElement* contextElement() const; 121 SVGPathElement* contextElement() const;
131 122
123 void clearContextAndRoles();
124
132 using Base::m_role; 125 using Base::m_role;
133 126
134 virtual bool isReadOnly() const 127 virtual bool isReadOnly() const
135 { 128 {
136 if (m_role == AnimValRole) 129 if (m_role == AnimValRole)
137 return true; 130 return true;
138 if (m_animatedProperty && m_animatedProperty->isReadOnly()) 131 if (m_animatedProperty && m_animatedProperty->isReadOnly())
139 return true; 132 return true;
140 return false; 133 return false;
141 } 134 }
(...skipping 19 matching lines...) Expand all
161 154
162 private: 155 private:
163 RefPtr<AnimatedListPropertyTearOff> m_animatedProperty; 156 RefPtr<AnimatedListPropertyTearOff> m_animatedProperty;
164 SVGPathSegRole m_pathSegRole; 157 SVGPathSegRole m_pathSegRole;
165 }; 158 };
166 159
167 } 160 }
168 161
169 #endif // ENABLE(SVG) 162 #endif // ENABLE(SVG)
170 #endif // SVGListPropertyTearOff_h 163 #endif // SVGListPropertyTearOff_h
OLDNEW
« no previous file with comments | « LayoutTests/svg/dom/SVGPathSegList-crash-expected.txt ('k') | Source/WebCore/svg/properties/SVGPathSegListPropertyTearOff.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698