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

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

Issue 2537373005: [css-ui] Make caret-color animatable (Closed)
Patch Set: Patch for landing adding TODO 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;
15 // TODO(rego): Make getUnvisitedColor() return a bool, so we don't need a
16 // special case for caret-color here (http://crbug.com/676295).
17 initialColor = getUnvisitedColor(property, ComputedStyle::initialStyle());
18 return true;
13 } 19 }
14 20
15 StyleColor ColorPropertyFunctions::getUnvisitedColor( 21 StyleColor ColorPropertyFunctions::getUnvisitedColor(
16 CSSPropertyID property, 22 CSSPropertyID property,
17 const ComputedStyle& style) { 23 const ComputedStyle& style) {
18 switch (property) { 24 switch (property) {
19 case CSSPropertyBackgroundColor: 25 case CSSPropertyBackgroundColor:
20 return style.backgroundColor(); 26 return style.backgroundColor();
21 case CSSPropertyBorderLeftColor: 27 case CSSPropertyBorderLeftColor:
22 return style.borderLeftColor(); 28 return style.borderLeftColor();
23 case CSSPropertyBorderRightColor: 29 case CSSPropertyBorderRightColor:
24 return style.borderRightColor(); 30 return style.borderRightColor();
25 case CSSPropertyBorderTopColor: 31 case CSSPropertyBorderTopColor:
26 return style.borderTopColor(); 32 return style.borderTopColor();
27 case CSSPropertyBorderBottomColor: 33 case CSSPropertyBorderBottomColor:
28 return style.borderBottomColor(); 34 return style.borderBottomColor();
35 case CSSPropertyCaretColor:
36 // TODO(rego): "auto" value for caret-color should not interpolate
37 // (http://crbug.com/676295).
38 if (style.caretColor().isAutoColor())
39 return StyleColor::currentColor();
40 return style.caretColor().toStyleColor();
29 case CSSPropertyColor: 41 case CSSPropertyColor:
30 return style.color(); 42 return style.color();
31 case CSSPropertyOutlineColor: 43 case CSSPropertyOutlineColor:
32 return style.outlineColor(); 44 return style.outlineColor();
33 case CSSPropertyColumnRuleColor: 45 case CSSPropertyColumnRuleColor:
34 return style.columnRuleColor(); 46 return style.columnRuleColor();
35 case CSSPropertyWebkitTextEmphasisColor: 47 case CSSPropertyWebkitTextEmphasisColor:
36 return style.textEmphasisColor(); 48 return style.textEmphasisColor();
37 case CSSPropertyWebkitTextFillColor: 49 case CSSPropertyWebkitTextFillColor:
38 return style.textFillColor(); 50 return style.textFillColor();
(...skipping 21 matching lines...) Expand all
60 case CSSPropertyBackgroundColor: 72 case CSSPropertyBackgroundColor:
61 return style.visitedLinkBackgroundColor(); 73 return style.visitedLinkBackgroundColor();
62 case CSSPropertyBorderLeftColor: 74 case CSSPropertyBorderLeftColor:
63 return style.visitedLinkBorderLeftColor(); 75 return style.visitedLinkBorderLeftColor();
64 case CSSPropertyBorderRightColor: 76 case CSSPropertyBorderRightColor:
65 return style.visitedLinkBorderRightColor(); 77 return style.visitedLinkBorderRightColor();
66 case CSSPropertyBorderTopColor: 78 case CSSPropertyBorderTopColor:
67 return style.visitedLinkBorderTopColor(); 79 return style.visitedLinkBorderTopColor();
68 case CSSPropertyBorderBottomColor: 80 case CSSPropertyBorderBottomColor:
69 return style.visitedLinkBorderBottomColor(); 81 return style.visitedLinkBorderBottomColor();
82 case CSSPropertyCaretColor:
83 // TODO(rego): "auto" value for caret-color should not interpolate
84 // (http://crbug.com/676295).
85 if (style.visitedLinkCaretColor().isAutoColor())
86 return StyleColor::currentColor();
87 return style.visitedLinkCaretColor().toStyleColor();
70 case CSSPropertyColor: 88 case CSSPropertyColor:
71 return style.visitedLinkColor(); 89 return style.visitedLinkColor();
72 case CSSPropertyOutlineColor: 90 case CSSPropertyOutlineColor:
73 return style.visitedLinkOutlineColor(); 91 return style.visitedLinkOutlineColor();
74 case CSSPropertyColumnRuleColor: 92 case CSSPropertyColumnRuleColor:
75 return style.visitedLinkColumnRuleColor(); 93 return style.visitedLinkColumnRuleColor();
76 case CSSPropertyWebkitTextEmphasisColor: 94 case CSSPropertyWebkitTextEmphasisColor:
77 return style.visitedLinkTextEmphasisColor(); 95 return style.visitedLinkTextEmphasisColor();
78 case CSSPropertyWebkitTextFillColor: 96 case CSSPropertyWebkitTextFillColor:
79 return style.visitedLinkTextFillColor(); 97 return style.visitedLinkTextFillColor();
(...skipping 27 matching lines...) Expand all
107 return; 125 return;
108 case CSSPropertyBorderLeftColor: 126 case CSSPropertyBorderLeftColor:
109 style.setBorderLeftColor(color); 127 style.setBorderLeftColor(color);
110 return; 128 return;
111 case CSSPropertyBorderRightColor: 129 case CSSPropertyBorderRightColor:
112 style.setBorderRightColor(color); 130 style.setBorderRightColor(color);
113 return; 131 return;
114 case CSSPropertyBorderTopColor: 132 case CSSPropertyBorderTopColor:
115 style.setBorderTopColor(color); 133 style.setBorderTopColor(color);
116 return; 134 return;
135 case CSSPropertyCaretColor:
136 return style.setCaretColor(color);
117 case CSSPropertyColor: 137 case CSSPropertyColor:
118 style.setColor(color); 138 style.setColor(color);
119 return; 139 return;
120 case CSSPropertyFloodColor: 140 case CSSPropertyFloodColor:
121 style.setFloodColor(color); 141 style.setFloodColor(color);
122 return; 142 return;
123 case CSSPropertyLightingColor: 143 case CSSPropertyLightingColor:
124 style.setLightingColor(color); 144 style.setLightingColor(color);
125 return; 145 return;
126 case CSSPropertyOutlineColor: 146 case CSSPropertyOutlineColor:
(...skipping 29 matching lines...) Expand all
156 return; 176 return;
157 case CSSPropertyBorderLeftColor: 177 case CSSPropertyBorderLeftColor:
158 style.setVisitedLinkBorderLeftColor(color); 178 style.setVisitedLinkBorderLeftColor(color);
159 return; 179 return;
160 case CSSPropertyBorderRightColor: 180 case CSSPropertyBorderRightColor:
161 style.setVisitedLinkBorderRightColor(color); 181 style.setVisitedLinkBorderRightColor(color);
162 return; 182 return;
163 case CSSPropertyBorderTopColor: 183 case CSSPropertyBorderTopColor:
164 style.setVisitedLinkBorderTopColor(color); 184 style.setVisitedLinkBorderTopColor(color);
165 return; 185 return;
186 case CSSPropertyCaretColor:
187 return style.setVisitedLinkCaretColor(color);
166 case CSSPropertyColor: 188 case CSSPropertyColor:
167 style.setVisitedLinkColor(color); 189 style.setVisitedLinkColor(color);
168 return; 190 return;
169 case CSSPropertyFloodColor: 191 case CSSPropertyFloodColor:
170 style.setFloodColor(color); 192 style.setFloodColor(color);
171 return; 193 return;
172 case CSSPropertyLightingColor: 194 case CSSPropertyLightingColor:
173 style.setLightingColor(color); 195 style.setLightingColor(color);
174 return; 196 return;
175 case CSSPropertyOutlineColor: 197 case CSSPropertyOutlineColor:
(...skipping 11 matching lines...) Expand all
187 case CSSPropertyWebkitTextStrokeColor: 209 case CSSPropertyWebkitTextStrokeColor:
188 style.setVisitedLinkTextStrokeColor(color); 210 style.setVisitedLinkTextStrokeColor(color);
189 return; 211 return;
190 default: 212 default:
191 NOTREACHED(); 213 NOTREACHED();
192 return; 214 return;
193 } 215 }
194 } 216 }
195 217
196 } // namespace blink 218 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698