OLD | NEW |
1 /* | 1 /* |
2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. |
4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. | 4 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
174 | 174 |
175 mutationScope.enqueueMutationRecord(); | 175 mutationScope.enqueueMutationRecord(); |
176 } | 176 } |
177 | 177 |
178 String AbstractPropertySetCSSStyleDeclaration::getPropertyValue(const String& pr
opertyName) | 178 String AbstractPropertySetCSSStyleDeclaration::getPropertyValue(const String& pr
opertyName) |
179 { | 179 { |
180 CSSPropertyID propertyID = cssPropertyID(propertyName); | 180 CSSPropertyID propertyID = cssPropertyID(propertyName); |
181 if (!propertyID) { | 181 if (!propertyID) { |
182 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) | 182 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) |
183 return String(); | 183 return String(); |
184 return propertySet().getCustomPropertyValue(AtomicString(propertyName)); | 184 return propertySet().getPropertyValue(AtomicString(propertyName)); |
185 } | 185 } |
186 return propertySet().getPropertyValue(propertyID); | 186 return propertySet().getPropertyValue(propertyID); |
187 } | 187 } |
188 | 188 |
189 String AbstractPropertySetCSSStyleDeclaration::getPropertyPriority(const String&
propertyName) | 189 String AbstractPropertySetCSSStyleDeclaration::getPropertyPriority(const String&
propertyName) |
190 { | 190 { |
| 191 bool important = false; |
191 CSSPropertyID propertyID = cssPropertyID(propertyName); | 192 CSSPropertyID propertyID = cssPropertyID(propertyName); |
192 if (!propertyID) { | 193 if (!propertyID) { |
193 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) | 194 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) |
194 return String(); | 195 return String(); |
195 return propertySet().customPropertyIsImportant(AtomicString(propertyName
)) ? "important" : ""; | 196 important = propertySet().propertyIsImportant(AtomicString(propertyName)
); |
| 197 } else { |
| 198 important = propertySet().propertyIsImportant(propertyID); |
196 } | 199 } |
197 return propertySet().propertyIsImportant(propertyID) ? "important" : ""; | 200 return important ? "important" : ""; |
198 } | 201 } |
199 | 202 |
200 String AbstractPropertySetCSSStyleDeclaration::getPropertyShorthand(const String
& propertyName) | 203 String AbstractPropertySetCSSStyleDeclaration::getPropertyShorthand(const String
& propertyName) |
201 { | 204 { |
202 CSSPropertyID propertyID = cssPropertyID(propertyName); | 205 CSSPropertyID propertyID = cssPropertyID(propertyName); |
203 | 206 |
204 // Custom properties don't have shorthands, so we can ignore them here. | 207 // Custom properties don't have shorthands, so we can ignore them here. |
205 if (!propertyID) | 208 if (!propertyID) |
206 return String(); | 209 return String(); |
207 CSSPropertyID shorthandID = propertySet().getPropertyShorthand(propertyID); | 210 CSSPropertyID shorthandID = propertySet().getPropertyShorthand(propertyID); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 if (!propertyID) { | 245 if (!propertyID) { |
243 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) | 246 if (!RuntimeEnabledFeatures::cssVariablesEnabled() || !CSSVariableParser
::isValidVariableName(propertyName)) |
244 return String(); | 247 return String(); |
245 propertyID = CSSPropertyVariable; | 248 propertyID = CSSPropertyVariable; |
246 } | 249 } |
247 | 250 |
248 StyleAttributeMutationScope mutationScope(this); | 251 StyleAttributeMutationScope mutationScope(this); |
249 willMutate(); | 252 willMutate(); |
250 | 253 |
251 String result; | 254 String result; |
252 bool changed = propertyID == CSSPropertyVariable ? propertySet().removeCusto
mProperty(AtomicString(propertyName), &result) | 255 bool changed = false; |
253 : propertySet().removeProperty(propertyID, &result); | 256 if (propertyID == CSSPropertyVariable) |
| 257 changed = propertySet().removeProperty(AtomicString(propertyName), &resu
lt); |
| 258 else |
| 259 changed = propertySet().removeProperty(propertyID, &result); |
254 | 260 |
255 didMutate(changed ? PropertyChanged : NoChanges); | 261 didMutate(changed ? PropertyChanged : NoChanges); |
256 | 262 |
257 if (changed) | 263 if (changed) |
258 mutationScope.enqueueMutationRecord(); | 264 mutationScope.enqueueMutationRecord(); |
259 return result; | 265 return result; |
260 } | 266 } |
261 | 267 |
262 PassRefPtrWillBeRawPtr<CSSValue> AbstractPropertySetCSSStyleDeclaration::getProp
ertyCSSValueInternal(CSSPropertyID propertyID) | 268 PassRefPtrWillBeRawPtr<CSSValue> AbstractPropertySetCSSStyleDeclaration::getProp
ertyCSSValueInternal(CSSPropertyID propertyID) |
263 { | 269 { |
264 return propertySet().getPropertyCSSValue(propertyID); | 270 return propertySet().getPropertyCSSValue(propertyID); |
265 } | 271 } |
266 | 272 |
267 String AbstractPropertySetCSSStyleDeclaration::getPropertyValueInternal(CSSPrope
rtyID propertyID) | 273 String AbstractPropertySetCSSStyleDeclaration::getPropertyValueInternal(CSSPrope
rtyID propertyID) |
268 { | 274 { |
269 return propertySet().getPropertyValue(propertyID); | 275 return propertySet().getPropertyValue(propertyID); |
270 } | 276 } |
271 | 277 |
272 void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal(CSSPropertyID u
nresolvedProperty, const String& propertyName, const String& value, bool importa
nt, ExceptionState&) | 278 void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal(CSSPropertyID u
nresolvedProperty, const String& customPropertyName, const String& value, bool i
mportant, ExceptionState&) |
273 { | 279 { |
274 StyleAttributeMutationScope mutationScope(this); | 280 StyleAttributeMutationScope mutationScope(this); |
275 willMutate(); | 281 willMutate(); |
276 | 282 |
277 bool changed = unresolvedProperty == CSSPropertyVariable ? propertySet().set
CustomProperty(AtomicString(propertyName), value, important, contextStyleSheet()
) | 283 bool changed = false; |
278 : propertySet().setProperty(unresolvedProperty, value, important, contex
tStyleSheet()); | 284 if (unresolvedProperty == CSSPropertyVariable) |
| 285 changed = propertySet().setProperty(AtomicString(customPropertyName), va
lue, important, contextStyleSheet()); |
| 286 else |
| 287 changed = propertySet().setProperty(unresolvedProperty, value, important
, contextStyleSheet()); |
279 | 288 |
280 didMutate(changed ? PropertyChanged : NoChanges); | 289 didMutate(changed ? PropertyChanged : NoChanges); |
281 | 290 |
282 if (!changed) | 291 if (!changed) |
283 return; | 292 return; |
284 | 293 |
285 Element* parent = parentElement(); | 294 Element* parent = parentElement(); |
286 if (parent && parent->inActiveDocument() && parent->document().styleResolver
()) | 295 if (parent && parent->inActiveDocument() && parent->document().styleResolver
()) |
287 parent->document().styleEngine().attributeChangedForElement(HTMLNames::s
tyleAttr, *parent); | 296 parent->document().styleEngine().attributeChangedForElement(HTMLNames::s
tyleAttr, *parent); |
288 mutationScope.enqueueMutationRecord(); | 297 mutationScope.enqueueMutationRecord(); |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
408 } | 417 } |
409 #endif | 418 #endif |
410 | 419 |
411 DEFINE_TRACE(InlineCSSStyleDeclaration) | 420 DEFINE_TRACE(InlineCSSStyleDeclaration) |
412 { | 421 { |
413 visitor->trace(m_parentElement); | 422 visitor->trace(m_parentElement); |
414 AbstractPropertySetCSSStyleDeclaration::trace(visitor); | 423 AbstractPropertySetCSSStyleDeclaration::trace(visitor); |
415 } | 424 } |
416 | 425 |
417 } // namespace blink | 426 } // namespace blink |
OLD | NEW |