Chromium Code Reviews| Index: Source/core/css/resolver/StyleResolver.cpp |
| diff --git a/Source/core/css/resolver/StyleResolver.cpp b/Source/core/css/resolver/StyleResolver.cpp |
| index 28f9d5d8aceb46e24e8d19821f7cd6303c66b4a8..36c6f8bd0005b9eafe044b4f2f0697d032cf69bd 100644 |
| --- a/Source/core/css/resolver/StyleResolver.cpp |
| +++ b/Source/core/css/resolver/StyleResolver.cpp |
| @@ -747,22 +747,14 @@ PassRefPtr<RenderStyle> StyleResolver::styleForKeyframe(Element* element, const |
| // This function is used by the WebAnimations JavaScript API method animate(). |
| // FIXME: Remove this when animate() switches away from resolution-dependent parsing. |
| -PassRefPtrWillBeRawPtr<AnimatableValueKeyframeEffectModel> StyleResolver::createKeyframeEffectModel(Element& element, const WillBeHeapVector<RefPtrWillBeMember<MutableStylePropertySet> >& propertySetVector, AnimatableValueKeyframeVector& keyframes) |
| +PassRefPtrWillBeRawPtr<AnimatableValue> StyleResolver::createAnimatableValueSnapshot(Element& element, CSSPropertyID property, CSSValue* value) |
| { |
| - ASSERT(propertySetVector.size() == keyframes.size()); |
| - |
| + RefPtr<RenderStyle> style = element.renderStyle() ? RenderStyle::clone(element.renderStyle()) : RenderStyle::create(); |
| StyleResolverState state(element.document(), &element); |
|
dstockwell
2014/04/07 00:14:06
This is why element can't be const? Does this muta
alancutter (OOO until 2018)
2014/04/07 01:06:02
Correct, I assume it wants to mutate Element in so
|
| - state.setStyle(RenderStyle::create()); |
| + state.setStyle(style.get()); |
| state.fontBuilder().initForStyleResolve(state.document(), state.style(), state.useSVGZoomRules()); |
| - |
| - for (unsigned i = 0; i < propertySetVector.size(); ++i) { |
| - for (unsigned j = 0; j < propertySetVector[i]->propertyCount(); ++j) { |
| - CSSPropertyID id = propertySetVector[i]->propertyAt(j).id(); |
| - StyleBuilder::applyProperty(id, state, propertySetVector[i]->getPropertyCSSValue(id).get()); |
| - keyframes[i]->setPropertyValue(id, CSSAnimatableValueFactory::create(id, *state.style()).get()); |
| - } |
| - } |
| - return AnimatableValueKeyframeEffectModel::create(keyframes); |
| + StyleBuilder::applyProperty(property, state, value); |
| + return CSSAnimatableValueFactory::create(property, *style); |
| } |
| PassRefPtr<PseudoElement> StyleResolver::createPseudoElementIfNeeded(Element& parent, PseudoId pseudoId) |