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 Apple Computer, Inc. | 3 * Copyright (C) 2004, 2005, 2006 Apple Computer, Inc. |
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 29 matching lines...) Expand all Loading... |
40 IdenticalValuesPolicy identicalValuesPolicy) | 40 IdenticalValuesPolicy identicalValuesPolicy) |
41 { | 41 { |
42 return adoptRefWillBeNoop(new CSSValuePair(first, second, identicalValue
sPolicy)); | 42 return adoptRefWillBeNoop(new CSSValuePair(first, second, identicalValue
sPolicy)); |
43 } | 43 } |
44 | 44 |
45 static PassRefPtrWillBeRawPtr<CSSValuePair> create(const LengthSize& lengthS
ize, const ComputedStyle& style) | 45 static PassRefPtrWillBeRawPtr<CSSValuePair> create(const LengthSize& lengthS
ize, const ComputedStyle& style) |
46 { | 46 { |
47 return adoptRefWillBeNoop(new CSSValuePair(CSSPrimitiveValue::create(len
gthSize.width(), style.effectiveZoom()), CSSPrimitiveValue::create(lengthSize.he
ight(), style.effectiveZoom()), KeepIdenticalValues)); | 47 return adoptRefWillBeNoop(new CSSValuePair(CSSPrimitiveValue::create(len
gthSize.width(), style.effectiveZoom()), CSSPrimitiveValue::create(lengthSize.he
ight(), style.effectiveZoom()), KeepIdenticalValues)); |
48 } | 48 } |
49 | 49 |
50 CSSValue* first() const { return m_first.get(); } | 50 // TODO(sashab): Remove these non-const versions. |
51 CSSValue* second() const { return m_second.get(); } | 51 CSSValue& first() { return *m_first; } |
| 52 CSSValue& second() { return *m_second; } |
| 53 const CSSValue& first() const { return *m_first; } |
| 54 const CSSValue& second() const { return *m_second; } |
52 | 55 |
53 String customCSSText() const | 56 String customCSSText() const |
54 { | 57 { |
55 String first = m_first->cssText(); | 58 String first = m_first->cssText(); |
56 String second = m_second->cssText(); | 59 String second = m_second->cssText(); |
57 if (m_identicalValuesPolicy == DropIdenticalValues && first == second) | 60 if (m_identicalValuesPolicy == DropIdenticalValues && first == second) |
58 return first; | 61 return first; |
59 return first + ' ' + second; | 62 return first + ' ' + second; |
60 } | 63 } |
61 | 64 |
62 bool equals(const CSSValuePair& other) const | 65 bool equals(const CSSValuePair& other) const |
63 { | 66 { |
64 ASSERT(m_identicalValuesPolicy == other.m_identicalValuesPolicy); | 67 ASSERT(m_identicalValuesPolicy == other.m_identicalValuesPolicy); |
65 return compareCSSValuePtr(m_first, other.m_first) | 68 return compareCSSValuePtr(m_first, other.m_first) |
66 && compareCSSValuePtr(m_second, other.m_second); | 69 && compareCSSValuePtr(m_second, other.m_second); |
67 } | 70 } |
68 | 71 |
69 DECLARE_TRACE_AFTER_DISPATCH(); | 72 DECLARE_TRACE_AFTER_DISPATCH(); |
70 | 73 |
71 private: | 74 private: |
72 CSSValuePair(PassRefPtrWillBeRawPtr<CSSValue> first, PassRefPtrWillBeRawPtr<
CSSValue> second, IdenticalValuesPolicy identicalValuesPolicy) | 75 CSSValuePair(PassRefPtrWillBeRawPtr<CSSValue> first, PassRefPtrWillBeRawPtr<
CSSValue> second, IdenticalValuesPolicy identicalValuesPolicy) |
73 : CSSValue(ValuePairClass) | 76 : CSSValue(ValuePairClass) |
74 , m_first(first) | 77 , m_first(first) |
75 , m_second(second) | 78 , m_second(second) |
76 , m_identicalValuesPolicy(identicalValuesPolicy) { } | 79 , m_identicalValuesPolicy(identicalValuesPolicy) |
| 80 { |
| 81 ASSERT(m_first); |
| 82 ASSERT(m_second); |
| 83 } |
77 | 84 |
78 RefPtrWillBeMember<CSSValue> m_first; | 85 RefPtrWillBeMember<CSSValue> m_first; |
79 RefPtrWillBeMember<CSSValue> m_second; | 86 RefPtrWillBeMember<CSSValue> m_second; |
80 IdenticalValuesPolicy m_identicalValuesPolicy; | 87 IdenticalValuesPolicy m_identicalValuesPolicy; |
81 }; | 88 }; |
82 | 89 |
83 DEFINE_CSS_VALUE_TYPE_CASTS(CSSValuePair, isValuePair()); | 90 DEFINE_CSS_VALUE_TYPE_CASTS(CSSValuePair, isValuePair()); |
84 | 91 |
85 } // namespace | 92 } // namespace |
86 | 93 |
87 #endif // CSSValuePair_h | 94 #endif // CSSValuePair_h |
OLD | NEW |