| 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 | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All |
| 4 * rights reserved. | 4 * rights reserved. |
| 5 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. | 5 * Copyright (C) 2011 Research In Motion Limited. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 const String& propertyName) { | 228 const String& propertyName) { |
| 229 CSSPropertyID propertyID = cssPropertyID(propertyName); | 229 CSSPropertyID propertyID = cssPropertyID(propertyName); |
| 230 | 230 |
| 231 // Custom properties don't have shorthands, so we can ignore them here. | 231 // Custom properties don't have shorthands, so we can ignore them here. |
| 232 if (!propertyID || propertyID == CSSPropertyVariable) | 232 if (!propertyID || propertyID == CSSPropertyVariable) |
| 233 return false; | 233 return false; |
| 234 return propertySet().isPropertyImplicit(propertyID); | 234 return propertySet().isPropertyImplicit(propertyID); |
| 235 } | 235 } |
| 236 | 236 |
| 237 void AbstractPropertySetCSSStyleDeclaration::setProperty( | 237 void AbstractPropertySetCSSStyleDeclaration::setProperty( |
| 238 const ExecutionContext* executionContext, |
| 238 const String& propertyName, | 239 const String& propertyName, |
| 239 const String& value, | 240 const String& value, |
| 240 const String& priority, | 241 const String& priority, |
| 241 ExceptionState& exceptionState) { | 242 ExceptionState& exceptionState) { |
| 242 CSSPropertyID propertyID = unresolvedCSSPropertyID(propertyName); | 243 CSSPropertyID propertyID = unresolvedCSSPropertyID(propertyName); |
| 243 if (!propertyID) | 244 if (!propertyID) |
| 244 return; | 245 return; |
| 245 | 246 |
| 246 bool important = equalIgnoringCase(priority, "important"); | 247 bool important = equalIgnoringCase(priority, "important"); |
| 247 if (!important && !priority.isEmpty()) | 248 if (!important && !priority.isEmpty()) |
| 248 return; | 249 return; |
| 249 | 250 |
| 250 setPropertyInternal(propertyID, propertyName, value, important, | 251 setPropertyInternal(propertyID, propertyName, value, important, |
| 251 exceptionState); | 252 executionContext, exceptionState); |
| 252 } | 253 } |
| 253 | 254 |
| 254 String AbstractPropertySetCSSStyleDeclaration::removeProperty( | 255 String AbstractPropertySetCSSStyleDeclaration::removeProperty( |
| 255 const String& propertyName, | 256 const String& propertyName, |
| 256 ExceptionState& exceptionState) { | 257 ExceptionState& exceptionState) { |
| 257 CSSPropertyID propertyID = cssPropertyID(propertyName); | 258 CSSPropertyID propertyID = cssPropertyID(propertyName); |
| 258 if (!propertyID) | 259 if (!propertyID) |
| 259 return String(); | 260 return String(); |
| 260 | 261 |
| 261 StyleAttributeMutationScope mutationScope(this); | 262 StyleAttributeMutationScope mutationScope(this); |
| (...skipping 29 matching lines...) Expand all Loading... |
| 291 CSSPropertyID propertyID) { | 292 CSSPropertyID propertyID) { |
| 292 return propertySet().getPropertyValue(propertyID); | 293 return propertySet().getPropertyValue(propertyID); |
| 293 } | 294 } |
| 294 | 295 |
| 295 DISABLE_CFI_PERF | 296 DISABLE_CFI_PERF |
| 296 void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal( | 297 void AbstractPropertySetCSSStyleDeclaration::setPropertyInternal( |
| 297 CSSPropertyID unresolvedProperty, | 298 CSSPropertyID unresolvedProperty, |
| 298 const String& customPropertyName, | 299 const String& customPropertyName, |
| 299 const String& value, | 300 const String& value, |
| 300 bool important, | 301 bool important, |
| 302 const ExecutionContext* executionContext, |
| 301 ExceptionState&) { | 303 ExceptionState&) { |
| 302 StyleAttributeMutationScope mutationScope(this); | 304 StyleAttributeMutationScope mutationScope(this); |
| 303 willMutate(); | 305 willMutate(); |
| 304 | 306 |
| 305 bool didChange = false; | 307 bool didChange = false; |
| 306 if (unresolvedProperty == CSSPropertyVariable) { | 308 if (unresolvedProperty == CSSPropertyVariable) { |
| 309 AtomicString atomicName(customPropertyName); |
| 310 |
| 311 DCHECK(executionContext); |
| 312 const PropertyRegistry* registry = |
| 313 toDocument(executionContext)->propertyRegistry(); |
| 314 |
| 307 bool isAnimationTainted = isKeyframeStyle(); | 315 bool isAnimationTainted = isKeyframeStyle(); |
| 308 didChange = | 316 didChange = propertySet() |
| 309 propertySet() | 317 .setProperty(atomicName, registry, value, important, |
| 310 .setProperty(AtomicString(customPropertyName), value, important, | 318 contextStyleSheet(), isAnimationTainted) |
| 311 contextStyleSheet(), isAnimationTainted) | 319 .didChange; |
| 312 .didChange; | |
| 313 } else { | 320 } else { |
| 314 didChange = propertySet() | 321 didChange = propertySet() |
| 315 .setProperty(unresolvedProperty, value, important, | 322 .setProperty(unresolvedProperty, value, important, |
| 316 contextStyleSheet()) | 323 contextStyleSheet()) |
| 317 .didChange; | 324 .didChange; |
| 318 } | 325 } |
| 319 | 326 |
| 320 didMutate(didChange ? PropertyChanged : NoChanges); | 327 didMutate(didChange ? PropertyChanged : NoChanges); |
| 321 | 328 |
| 322 if (!didChange) | 329 if (!didChange) |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 return m_parentElement ? &m_parentElement->document().elementSheet() | 410 return m_parentElement ? &m_parentElement->document().elementSheet() |
| 404 : nullptr; | 411 : nullptr; |
| 405 } | 412 } |
| 406 | 413 |
| 407 DEFINE_TRACE(InlineCSSStyleDeclaration) { | 414 DEFINE_TRACE(InlineCSSStyleDeclaration) { |
| 408 visitor->trace(m_parentElement); | 415 visitor->trace(m_parentElement); |
| 409 AbstractPropertySetCSSStyleDeclaration::trace(visitor); | 416 AbstractPropertySetCSSStyleDeclaration::trace(visitor); |
| 410 } | 417 } |
| 411 | 418 |
| 412 } // namespace blink | 419 } // namespace blink |
| OLD | NEW |