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

Side by Side Diff: third_party/WebKit/Source/core/animation/ColorPropertyFunctions.cpp

Issue 2537373005: [css-ui] Make caret-color animatable (Closed)
Patch Set: Come back to previous version but keep DCHECK in toStyleColor() Created 4 years 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/animation/ColorPropertyFunctions.h" 5 #include "core/animation/ColorPropertyFunctions.h"
6 6
7 #include "core/style/ComputedStyle.h" 7 #include "core/style/ComputedStyle.h"
8 8
9 namespace blink { 9 namespace blink {
10 10
11 StyleColor ColorPropertyFunctions::getInitialColor(CSSPropertyID property) { 11 bool ColorPropertyFunctions::getInitialColor(CSSPropertyID property,
12 return getUnvisitedColor(property, ComputedStyle::initialStyle()); 12 StyleColor& initialColor) {
13 if (property == CSSPropertyCaretColor)
14 return false;
alancutter (OOO until 2018) 2016/12/21 23:24:03 Please add a TODO to make getUnvisitedColor() retu
Manuel Rego 2016/12/22 09:03:01 Done.
15 initialColor = getUnvisitedColor(property, ComputedStyle::initialStyle());
16 return true;
13 } 17 }
14 18
15 StyleColor ColorPropertyFunctions::getUnvisitedColor( 19 StyleColor ColorPropertyFunctions::getUnvisitedColor(
16 CSSPropertyID property, 20 CSSPropertyID property,
17 const ComputedStyle& style) { 21 const ComputedStyle& style) {
18 switch (property) { 22 switch (property) {
19 case CSSPropertyBackgroundColor: 23 case CSSPropertyBackgroundColor:
20 return style.backgroundColor(); 24 return style.backgroundColor();
21 case CSSPropertyBorderLeftColor: 25 case CSSPropertyBorderLeftColor:
22 return style.borderLeftColor(); 26 return style.borderLeftColor();
23 case CSSPropertyBorderRightColor: 27 case CSSPropertyBorderRightColor:
24 return style.borderRightColor(); 28 return style.borderRightColor();
25 case CSSPropertyBorderTopColor: 29 case CSSPropertyBorderTopColor:
26 return style.borderTopColor(); 30 return style.borderTopColor();
27 case CSSPropertyBorderBottomColor: 31 case CSSPropertyBorderBottomColor:
28 return style.borderBottomColor(); 32 return style.borderBottomColor();
33 case CSSPropertyCaretColor:
34 // TODO(rego): "auto" value for caret-color should not interpolate
35 // (http://crbug.com/676295).
36 if (style.caretColor().isAutoColor())
37 return StyleColor::currentColor();
38 return style.caretColor().toStyleColor();
29 case CSSPropertyColor: 39 case CSSPropertyColor:
30 return style.color(); 40 return style.color();
31 case CSSPropertyOutlineColor: 41 case CSSPropertyOutlineColor:
32 return style.outlineColor(); 42 return style.outlineColor();
33 case CSSPropertyColumnRuleColor: 43 case CSSPropertyColumnRuleColor:
34 return style.columnRuleColor(); 44 return style.columnRuleColor();
35 case CSSPropertyWebkitTextEmphasisColor: 45 case CSSPropertyWebkitTextEmphasisColor:
36 return style.textEmphasisColor(); 46 return style.textEmphasisColor();
37 case CSSPropertyWebkitTextFillColor: 47 case CSSPropertyWebkitTextFillColor:
38 return style.textFillColor(); 48 return style.textFillColor();
(...skipping 21 matching lines...) Expand all
60 case CSSPropertyBackgroundColor: 70 case CSSPropertyBackgroundColor:
61 return style.visitedLinkBackgroundColor(); 71 return style.visitedLinkBackgroundColor();
62 case CSSPropertyBorderLeftColor: 72 case CSSPropertyBorderLeftColor:
63 return style.visitedLinkBorderLeftColor(); 73 return style.visitedLinkBorderLeftColor();
64 case CSSPropertyBorderRightColor: 74 case CSSPropertyBorderRightColor:
65 return style.visitedLinkBorderRightColor(); 75 return style.visitedLinkBorderRightColor();
66 case CSSPropertyBorderTopColor: 76 case CSSPropertyBorderTopColor:
67 return style.visitedLinkBorderTopColor(); 77 return style.visitedLinkBorderTopColor();
68 case CSSPropertyBorderBottomColor: 78 case CSSPropertyBorderBottomColor:
69 return style.visitedLinkBorderBottomColor(); 79 return style.visitedLinkBorderBottomColor();
80 case CSSPropertyCaretColor:
81 // TODO(rego): "auto" value for caret-color should not interpolate
82 // (http://crbug.com/676295).
83 if (style.visitedLinkCaretColor().isAutoColor())
84 return StyleColor::currentColor();
85 return style.visitedLinkCaretColor().toStyleColor();
70 case CSSPropertyColor: 86 case CSSPropertyColor:
71 return style.visitedLinkColor(); 87 return style.visitedLinkColor();
72 case CSSPropertyOutlineColor: 88 case CSSPropertyOutlineColor:
73 return style.visitedLinkOutlineColor(); 89 return style.visitedLinkOutlineColor();
74 case CSSPropertyColumnRuleColor: 90 case CSSPropertyColumnRuleColor:
75 return style.visitedLinkColumnRuleColor(); 91 return style.visitedLinkColumnRuleColor();
76 case CSSPropertyWebkitTextEmphasisColor: 92 case CSSPropertyWebkitTextEmphasisColor:
77 return style.visitedLinkTextEmphasisColor(); 93 return style.visitedLinkTextEmphasisColor();
78 case CSSPropertyWebkitTextFillColor: 94 case CSSPropertyWebkitTextFillColor:
79 return style.visitedLinkTextFillColor(); 95 return style.visitedLinkTextFillColor();
(...skipping 27 matching lines...) Expand all
107 return; 123 return;
108 case CSSPropertyBorderLeftColor: 124 case CSSPropertyBorderLeftColor:
109 style.setBorderLeftColor(color); 125 style.setBorderLeftColor(color);
110 return; 126 return;
111 case CSSPropertyBorderRightColor: 127 case CSSPropertyBorderRightColor:
112 style.setBorderRightColor(color); 128 style.setBorderRightColor(color);
113 return; 129 return;
114 case CSSPropertyBorderTopColor: 130 case CSSPropertyBorderTopColor:
115 style.setBorderTopColor(color); 131 style.setBorderTopColor(color);
116 return; 132 return;
133 case CSSPropertyCaretColor:
134 return style.setCaretColor(color);
117 case CSSPropertyColor: 135 case CSSPropertyColor:
118 style.setColor(color); 136 style.setColor(color);
119 return; 137 return;
120 case CSSPropertyFloodColor: 138 case CSSPropertyFloodColor:
121 style.setFloodColor(color); 139 style.setFloodColor(color);
122 return; 140 return;
123 case CSSPropertyLightingColor: 141 case CSSPropertyLightingColor:
124 style.setLightingColor(color); 142 style.setLightingColor(color);
125 return; 143 return;
126 case CSSPropertyOutlineColor: 144 case CSSPropertyOutlineColor:
(...skipping 29 matching lines...) Expand all
156 return; 174 return;
157 case CSSPropertyBorderLeftColor: 175 case CSSPropertyBorderLeftColor:
158 style.setVisitedLinkBorderLeftColor(color); 176 style.setVisitedLinkBorderLeftColor(color);
159 return; 177 return;
160 case CSSPropertyBorderRightColor: 178 case CSSPropertyBorderRightColor:
161 style.setVisitedLinkBorderRightColor(color); 179 style.setVisitedLinkBorderRightColor(color);
162 return; 180 return;
163 case CSSPropertyBorderTopColor: 181 case CSSPropertyBorderTopColor:
164 style.setVisitedLinkBorderTopColor(color); 182 style.setVisitedLinkBorderTopColor(color);
165 return; 183 return;
184 case CSSPropertyCaretColor:
185 return style.setVisitedLinkCaretColor(color);
166 case CSSPropertyColor: 186 case CSSPropertyColor:
167 style.setVisitedLinkColor(color); 187 style.setVisitedLinkColor(color);
168 return; 188 return;
169 case CSSPropertyFloodColor: 189 case CSSPropertyFloodColor:
170 style.setFloodColor(color); 190 style.setFloodColor(color);
171 return; 191 return;
172 case CSSPropertyLightingColor: 192 case CSSPropertyLightingColor:
173 style.setLightingColor(color); 193 style.setLightingColor(color);
174 return; 194 return;
175 case CSSPropertyOutlineColor: 195 case CSSPropertyOutlineColor:
(...skipping 11 matching lines...) Expand all
187 case CSSPropertyWebkitTextStrokeColor: 207 case CSSPropertyWebkitTextStrokeColor:
188 style.setVisitedLinkTextStrokeColor(color); 208 style.setVisitedLinkTextStrokeColor(color);
189 return; 209 return;
190 default: 210 default:
191 NOTREACHED(); 211 NOTREACHED();
192 return; 212 return;
193 } 213 }
194 } 214 }
195 215
196 } // namespace blink 216 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698