Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/StylePropertySet.cpp |
| diff --git a/third_party/WebKit/Source/core/css/StylePropertySet.cpp b/third_party/WebKit/Source/core/css/StylePropertySet.cpp |
| index 04da3ec817a457dbd5b40ff50f6c7899b34ec82f..15112186434f8676acf77d592c89fa94afa9c394 100644 |
| --- a/third_party/WebKit/Source/core/css/StylePropertySet.cpp |
| +++ b/third_party/WebKit/Source/core/css/StylePropertySet.cpp |
| @@ -342,7 +342,9 @@ void MutableStylePropertySet::setProperty(CSSPropertyID propertyID, PassRefPtrWi |
| bool MutableStylePropertySet::setProperty(const CSSProperty& property, CSSProperty* slot) |
| { |
| if (!removeShorthandProperty(property.id())) { |
| - CSSProperty* toReplace = slot ? slot : findCSSPropertyWithID(property.id()); |
| + const AtomicString& name = (property.id() == CSSPropertyVariable) ? |
| + toCSSCustomPropertyDeclaration(property.value())->name() : nullAtom; |
| + CSSProperty* toReplace = slot ? slot : findCSSPropertyWithID(property.id(), name); |
| if (toReplace && *toReplace == property) |
| return false; |
| if (toReplace) { |
| @@ -455,15 +457,17 @@ bool MutableStylePropertySet::removePropertiesInSet(const CSSPropertyID* set, un |
| return false; |
| } |
| -CSSProperty* MutableStylePropertySet::findCSSPropertyWithID(CSSPropertyID propertyID) |
| +CSSProperty* MutableStylePropertySet::findCSSPropertyWithID(CSSPropertyID propertyID, const AtomicString& customPropertyName) |
| { |
| - // TODO(leviw): Calling this with a custom property should probably assert, or this |
| - // method should alternatively take a string used for custom properties and check it |
| - // in that case. |
| - if (propertyID == CSSPropertyVariable) |
| - return nullptr; |
| - |
| - int foundPropertyIndex = findPropertyIndex(propertyID); |
| + int foundPropertyIndex = -1; |
| + if (propertyID == CSSPropertyVariable) { |
| + ASSERT(customPropertyName != nullAtom); |
|
Timothy Loh
2016/02/16 23:49:39
!x.isNull() maybe
shans
2016/02/17 02:41:35
Done.
|
| + foundPropertyIndex = findPropertyIndex(customPropertyName); |
| + // TODO(shanestephens): fix call sites so we always have a customPropertyName |
| + // here. |
| + } else if (customPropertyName != nullAtom) { |
|
Timothy Loh
2016/02/16 23:49:39
Isn't this backwards - when we have a regular prop
shans
2016/02/17 02:41:35
uh .. yeah.
|
| + foundPropertyIndex = findPropertyIndex(propertyID); |
| + } |
| if (foundPropertyIndex == -1) |
| return nullptr; |
| return &m_propertyVector.at(foundPropertyIndex); |