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

Side by Side Diff: third_party/WebKit/Source/core/style/ComputedStyle.h

Issue 2879813002: Make ComputedStyleBase a templated class to allow it to use functions on ComputedStyle (Closed)
Patch Set: alancutter@'s suggestions Created 3 years, 7 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) 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 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // It contains all the resolved styles for an element, and is densely packed and 143 // It contains all the resolved styles for an element, and is densely packed and
144 // optimized for memory and performance. Enums and small fields are packed in 144 // optimized for memory and performance. Enums and small fields are packed in
145 // bit fields, while large fields are stored in pointers and shared where not 145 // bit fields, while large fields are stored in pointers and shared where not
146 // modified from their parent value (see the DataRef class). 146 // modified from their parent value (see the DataRef class).
147 // 147 //
148 // Currently, ComputedStyle is hand-written and ComputedStyleBase is generated. 148 // Currently, ComputedStyle is hand-written and ComputedStyleBase is generated.
149 // Over time, methods will be moved to ComputedStyleBase and the generator will 149 // Over time, methods will be moved to ComputedStyleBase and the generator will
150 // be expanded to handle more and more types of properties. Eventually, all 150 // be expanded to handle more and more types of properties. Eventually, all
151 // methods will be on ComputedStyleBase (with custom methods defined in a class 151 // methods will be on ComputedStyleBase (with custom methods defined in a class
152 // such as ComputedStyleBase.cpp) and ComputedStyle will be removed. 152 // such as ComputedStyleBase.cpp) and ComputedStyle will be removed.
153 class CORE_EXPORT ComputedStyle : public ComputedStyleBase, 153 class CORE_EXPORT ComputedStyle : public ComputedStyleBase<ComputedStyle>,
154 public RefCounted<ComputedStyle> { 154 public RefCounted<ComputedStyle> {
155 // Used by Web Animations CSS. Sets the color styles. 155 // Used by Web Animations CSS. Sets the color styles.
156 friend class AnimatedStyleBuilder; 156 friend class AnimatedStyleBuilder;
157 // Used by Web Animations CSS. Gets visited and unvisited colors separately. 157 // Used by Web Animations CSS. Gets visited and unvisited colors separately.
158 friend class CSSAnimatableValueFactory; 158 friend class CSSAnimatableValueFactory;
159 // Used by CSS animations. We can't allow them to animate based off visited 159 // Used by CSS animations. We can't allow them to animate based off visited
160 // colors. 160 // colors.
161 friend class CSSPropertyEquality; 161 friend class CSSPropertyEquality;
162 // Editing has to only reveal unvisited info. 162 // Editing has to only reveal unvisited info.
163 friend class ApplyStyleCommand; 163 friend class ApplyStyleCommand;
(...skipping 3656 matching lines...) Expand 10 before | Expand all | Expand 10 after
3820 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId))); 3820 PseudoBitsInternal() | 1 << (pseudo - kFirstPublicPseudoId)));
3821 } 3821 }
3822 3822
3823 inline bool ComputedStyle::HasPseudoElementStyle() const { 3823 inline bool ComputedStyle::HasPseudoElementStyle() const {
3824 return PseudoBitsInternal() & kElementPseudoIdMask; 3824 return PseudoBitsInternal() & kElementPseudoIdMask;
3825 } 3825 }
3826 3826
3827 } // namespace blink 3827 } // namespace blink
3828 3828
3829 #endif // ComputedStyle_h 3829 #endif // ComputedStyle_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698