OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2010 Apple Inc. All rights reserved. |
4 * | 4 * |
5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
9 * | 9 * |
10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 m_values.reserveInitialCapacity(parserValues->size()); | 46 m_values.reserveInitialCapacity(parserValues->size()); |
47 for (unsigned i = 0; i < parserValues->size(); ++i) | 47 for (unsigned i = 0; i < parserValues->size(); ++i) |
48 m_values.uncheckedAppend(parserValues->valueAt(i)->createCSSValue())
; | 48 m_values.uncheckedAppend(parserValues->valueAt(i)->createCSSValue())
; |
49 } | 49 } |
50 } | 50 } |
51 | 51 |
52 bool CSSValueList::removeAll(CSSValue* val) | 52 bool CSSValueList::removeAll(CSSValue* val) |
53 { | 53 { |
54 bool found = false; | 54 bool found = false; |
55 for (size_t index = 0; index < m_values.size(); index++) { | 55 for (size_t index = 0; index < m_values.size(); index++) { |
56 RefPtrWillBeMember<CSSValue>& value = m_values.at(index); | 56 RefPtr<CSSValue>& value = m_values.at(index); |
57 if (value && val && value->equals(*val)) { | 57 if (value && val && value->equals(*val)) { |
58 m_values.remove(index); | 58 m_values.remove(index); |
59 found = true; | 59 found = true; |
60 } | 60 } |
61 } | 61 } |
62 | 62 |
63 return found; | 63 return found; |
64 } | 64 } |
65 | 65 |
66 bool CSSValueList::hasValue(CSSValue* val) const | 66 bool CSSValueList::hasValue(CSSValue* val) const |
67 { | 67 { |
68 for (size_t index = 0; index < m_values.size(); index++) { | 68 for (size_t index = 0; index < m_values.size(); index++) { |
69 const RefPtrWillBeMember<CSSValue>& value = m_values.at(index); | 69 const RefPtr<CSSValue>& value = m_values.at(index); |
70 if (value && val && value->equals(*val)) | 70 if (value && val && value->equals(*val)) |
71 return true; | 71 return true; |
72 } | 72 } |
73 return false; | 73 return false; |
74 } | 74 } |
75 | 75 |
76 PassRefPtrWillBeRawPtr<CSSValueList> CSSValueList::copy() | 76 PassRefPtrWillBeRawPtr<CSSValueList> CSSValueList::copy() |
77 { | 77 { |
78 RefPtrWillBeRawPtr<CSSValueList> newList; | 78 RefPtrWillBeRawPtr<CSSValueList> newList; |
79 switch (m_valueListSeparator) { | 79 switch (m_valueListSeparator) { |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
128 bool CSSValueList::equals(const CSSValueList& other) const | 128 bool CSSValueList::equals(const CSSValueList& other) const |
129 { | 129 { |
130 return m_valueListSeparator == other.m_valueListSeparator && compareCSSValue
Vector(m_values, other.m_values); | 130 return m_valueListSeparator == other.m_valueListSeparator && compareCSSValue
Vector(m_values, other.m_values); |
131 } | 131 } |
132 | 132 |
133 bool CSSValueList::equals(const CSSValue& other) const | 133 bool CSSValueList::equals(const CSSValue& other) const |
134 { | 134 { |
135 if (m_values.size() != 1) | 135 if (m_values.size() != 1) |
136 return false; | 136 return false; |
137 | 137 |
138 const RefPtrWillBeMember<CSSValue>& value = m_values[0]; | 138 const RefPtr<CSSValue>& value = m_values[0]; |
139 return value && value->equals(other); | 139 return value && value->equals(other); |
140 } | 140 } |
141 | 141 |
142 bool CSSValueList::hasFailedOrCanceledSubresources() const | 142 bool CSSValueList::hasFailedOrCanceledSubresources() const |
143 { | 143 { |
144 for (unsigned i = 0; i < m_values.size(); ++i) { | 144 for (unsigned i = 0; i < m_values.size(); ++i) { |
145 if (m_values[i]->hasFailedOrCanceledSubresources()) | 145 if (m_values[i]->hasFailedOrCanceledSubresources()) |
146 return true; | 146 return true; |
147 } | 147 } |
148 return false; | 148 return false; |
149 } | 149 } |
150 | 150 |
151 CSSValueList::CSSValueList(const CSSValueList& cloneFrom) | 151 CSSValueList::CSSValueList(const CSSValueList& cloneFrom) |
152 : CSSValue(cloneFrom.classType(), /* isCSSOMSafe */ true) | 152 : CSSValue(cloneFrom.classType(), /* isCSSOMSafe */ true) |
153 { | 153 { |
154 m_valueListSeparator = cloneFrom.m_valueListSeparator; | 154 m_valueListSeparator = cloneFrom.m_valueListSeparator; |
155 m_values.resize(cloneFrom.m_values.size()); | 155 m_values.resize(cloneFrom.m_values.size()); |
156 for (unsigned i = 0; i < m_values.size(); ++i) | 156 for (unsigned i = 0; i < m_values.size(); ++i) |
157 m_values[i] = cloneFrom.m_values[i]->cloneForCSSOM(); | 157 m_values[i] = cloneFrom.m_values[i]->cloneForCSSOM(); |
158 } | 158 } |
159 | 159 |
160 PassRefPtrWillBeRawPtr<CSSValueList> CSSValueList::cloneForCSSOM() const | 160 PassRefPtrWillBeRawPtr<CSSValueList> CSSValueList::cloneForCSSOM() const |
161 { | 161 { |
162 return adoptRefWillBeRefCountedGarbageCollected(new CSSValueList(*this)); | 162 return adoptRefWillBeRefCountedGarbageCollected(new CSSValueList(*this)); |
163 } | 163 } |
164 | 164 |
165 void CSSValueList::traceAfterDispatch(Visitor* visitor) | 165 void CSSValueList::traceAfterDispatch(Visitor* visitor) |
166 { | 166 { |
167 visitor->trace(m_values); | |
168 CSSValue::traceAfterDispatch(visitor); | 167 CSSValue::traceAfterDispatch(visitor); |
169 } | 168 } |
170 | 169 |
171 } // namespace WebCore | 170 } // namespace WebCore |
OLD | NEW |