OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) | 3 * (C) 2000 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All |
6 * rights reserved. | 6 * rights reserved. |
7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
173 friend class ColorPropertyFunctions; | 173 friend class ColorPropertyFunctions; |
174 | 174 |
175 // FIXME: When we stop resolving currentColor at style time, these can be | 175 // FIXME: When we stop resolving currentColor at style time, these can be |
176 // removed. | 176 // removed. |
177 friend class CSSToStyleMap; | 177 friend class CSSToStyleMap; |
178 friend class FilterOperationResolver; | 178 friend class FilterOperationResolver; |
179 friend class StyleBuilderConverter; | 179 friend class StyleBuilderConverter; |
180 friend class StyleResolverState; | 180 friend class StyleResolverState; |
181 friend class StyleResolver; | 181 friend class StyleResolver; |
182 | 182 |
183 private: | |
184 class StyleBoxData : public RefCountedCopyable<StyleBoxData> { | |
185 public: | |
186 static PassRefPtr<StyleBoxData> Create() { | |
187 return AdoptRef(new StyleBoxData); | |
188 } | |
189 PassRefPtr<StyleBoxData> Copy() const { | |
190 return AdoptRef(new StyleBoxData(*this)); | |
191 } | |
192 | |
193 bool operator==(const StyleBoxData& other) const { | |
194 return width_ == other.width_ && height_ == other.height_ && | |
195 min_width_ == other.min_width_ && max_width_ == other.max_width_ && | |
196 min_height_ == other.min_height_ && | |
197 max_height_ == other.max_height_ && | |
198 vertical_align_length_ == other.vertical_align_length_ && | |
199 z_index_ == other.z_index_ && | |
200 has_auto_z_index_ == other.has_auto_z_index_ && | |
201 box_sizing_ == other.box_sizing_ && | |
202 box_decoration_break_ == other.box_decoration_break_; | |
203 } | |
204 bool operator!=(const StyleBoxData& o) const { return !(*this == o); } | |
205 | |
206 Length width_; | |
207 Length height_; | |
208 Length min_width_; | |
209 Length max_width_; | |
210 Length min_height_; | |
211 Length max_height_; | |
212 Length vertical_align_length_; | |
213 int z_index_; | |
214 unsigned has_auto_z_index_ : 1; | |
215 unsigned box_sizing_ : 1; // EBoxSizing | |
216 unsigned box_decoration_break_ : 1; // EBoxDecorationBreak | |
217 | |
218 private: | |
219 StyleBoxData() | |
220 : width_(Length()), | |
221 height_(Length()), | |
222 min_width_(Length()), | |
223 max_width_(Length(kMaxSizeNone)), | |
224 min_height_(Length()), | |
225 max_height_(Length(kMaxSizeNone)), | |
226 z_index_(0), | |
227 has_auto_z_index_(static_cast<unsigned>(true)), | |
228 box_sizing_(static_cast<unsigned>(EBoxSizing::kContentBox)), | |
229 box_decoration_break_( | |
230 static_cast<unsigned>(EBoxDecorationBreak::kSlice)) {} | |
231 | |
232 StyleBoxData(const StyleBoxData&) = default; | |
233 }; | |
234 | |
235 protected: | 183 protected: |
236 // non-inherited attributes | 184 // non-inherited attributes |
237 DataRef<StyleBoxData> box_data_; | |
238 DataRef<StyleRareNonInheritedData> rare_non_inherited_data_; | 185 DataRef<StyleRareNonInheritedData> rare_non_inherited_data_; |
239 | 186 |
240 // inherited attributes | 187 // inherited attributes |
241 DataRef<StyleRareInheritedData> rare_inherited_data_; | 188 DataRef<StyleRareInheritedData> rare_inherited_data_; |
242 DataRef<StyleInheritedData> inherited_data_; | 189 DataRef<StyleInheritedData> inherited_data_; |
243 | 190 |
244 // list of associated pseudo styles | 191 // list of associated pseudo styles |
245 std::unique_ptr<PseudoStyleCache> cached_pseudo_styles_; | 192 std::unique_ptr<PseudoStyleCache> cached_pseudo_styles_; |
246 | 193 |
247 DataRef<SVGComputedStyle> svg_style_; | 194 DataRef<SVGComputedStyle> svg_style_; |
(...skipping 3571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3819 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); | 3766 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); |
3820 } | 3767 } |
3821 | 3768 |
3822 inline bool ComputedStyle::HasPseudoElementStyle() const { | 3769 inline bool ComputedStyle::HasPseudoElementStyle() const { |
3823 return PseudoBitsInternal() & kElementPseudoIdMask; | 3770 return PseudoBitsInternal() & kElementPseudoIdMask; |
3824 } | 3771 } |
3825 | 3772 |
3826 } // namespace blink | 3773 } // namespace blink |
3827 | 3774 |
3828 #endif // ComputedStyle_h | 3775 #endif // ComputedStyle_h |
OLD | NEW |