| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |