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, 2008, 2009, 2010 Apple Inc. All rights
reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 bool removeAll(CSSValue*); | 53 bool removeAll(CSSValue*); |
54 bool hasValue(CSSValue*) const; | 54 bool hasValue(CSSValue*) const; |
55 PassRefPtrWillBeRawPtr<CSSValueList> copy(); | 55 PassRefPtrWillBeRawPtr<CSSValueList> copy(); |
56 | 56 |
57 String customCSSText(CSSTextFormattingFlags = QuoteCSSStringIfNeeded) const; | 57 String customCSSText(CSSTextFormattingFlags = QuoteCSSStringIfNeeded) const; |
58 bool equals(const CSSValueList&) const; | 58 bool equals(const CSSValueList&) const; |
59 bool equals(const CSSValue&) const; | 59 bool equals(const CSSValue&) const; |
60 | 60 |
61 bool hasFailedOrCanceledSubresources() const; | 61 bool hasFailedOrCanceledSubresources() const; |
62 | 62 |
63 PassRefPtrWillBeRawPtr<CSSValueList> cloneForCSSOM() const; | |
64 | |
65 void traceAfterDispatch(Visitor*); | 63 void traceAfterDispatch(Visitor*); |
66 | 64 |
67 protected: | 65 protected: |
68 CSSValueList(ClassType, ValueListSeparator); | 66 CSSValueList(ClassType, ValueListSeparator); |
69 CSSValueList(const CSSValueList& cloneFrom); | |
70 | 67 |
71 private: | 68 private: |
72 explicit CSSValueList(ValueListSeparator); | 69 explicit CSSValueList(ValueListSeparator); |
73 | 70 |
74 WillBeHeapVector<RefPtrWillBeMember<CSSValue>, 4> m_values; | 71 WillBeHeapVector<RefPtrWillBeMember<CSSValue>, 4> m_values; |
75 }; | 72 }; |
76 | 73 |
77 DEFINE_CSS_VALUE_TYPE_CASTS(CSSValueList, isValueList()); | 74 DEFINE_CSS_VALUE_TYPE_CASTS(CSSValueList, isValueList()); |
78 | 75 |
79 // FIXME: We should add begin() and end() to CSSValueList and use range-based | 76 // FIXME: We should add begin() and end() to CSSValueList and use range-based |
80 // for loops instead of having an iterator class. | 77 // for loops instead of having an iterator class. |
81 class CSSValueListIterator { | 78 class CSSValueListIterator { |
82 STACK_ALLOCATED(); | 79 STACK_ALLOCATED(); |
83 public: | 80 public: |
84 CSSValueListIterator(CSSValue* value) : m_list(toCSSValueList(value)), m_pos
ition(0) { } | 81 CSSValueListIterator(CSSValue* value) : m_list(toCSSValueList(value)), m_pos
ition(0) { } |
85 bool hasMore() const { return m_position < m_list->length(); } | 82 bool hasMore() const { return m_position < m_list->length(); } |
86 CSSValue* value() const { return m_list->item(m_position); } | 83 CSSValue* value() const { return m_list->item(m_position); } |
87 bool isPrimitiveValue() const { return value()->isPrimitiveValue(); } | 84 bool isPrimitiveValue() const { return value()->isPrimitiveValue(); } |
88 void advance() { m_position++; ASSERT(m_position <= m_list->length());} | 85 void advance() { m_position++; ASSERT(m_position <= m_list->length());} |
89 size_t index() const { return m_position; } | 86 size_t index() const { return m_position; } |
90 private: | 87 private: |
91 RawPtrWillBeMember<CSSValueList> m_list; | 88 RawPtrWillBeMember<CSSValueList> m_list; |
92 size_t m_position; | 89 size_t m_position; |
93 }; | 90 }; |
94 | 91 |
95 } // namespace blink | 92 } // namespace blink |
96 | 93 |
97 #endif // CSSValueList_h | 94 #endif // CSSValueList_h |
OLD | NEW |