OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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/CSSFilterListInterpolationType.h" | 5 #include "core/animation/CSSFilterListInterpolationType.h" |
6 | 6 |
7 #include "core/animation/FilterInterpolationFunctions.h" | 7 #include "core/animation/FilterInterpolationFunctions.h" |
8 #include "core/animation/FilterListPropertyFunctions.h" | 8 #include "core/animation/FilterListPropertyFunctions.h" |
9 #include "core/animation/ListInterpolationFunctions.h" | 9 #include "core/animation/ListInterpolationFunctions.h" |
10 #include "core/css/CSSIdentifierValue.h" | 10 #include "core/css/CSSIdentifierValue.h" |
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 else | 265 else |
266 extendedInterpolableList->set(i, interpolableList.get(i)->clone()); | 266 extendedInterpolableList->set(i, interpolableList.get(i)->clone()); |
267 } | 267 } |
268 underlyingValueOwner.mutableValue().interpolableValue = | 268 underlyingValueOwner.mutableValue().interpolableValue = |
269 std::move(extendedInterpolableList); | 269 std::move(extendedInterpolableList); |
270 // const_cast to take a ref. | 270 // const_cast to take a ref. |
271 underlyingValueOwner.mutableValue().nonInterpolableValue = | 271 underlyingValueOwner.mutableValue().nonInterpolableValue = |
272 const_cast<NonInterpolableValue*>(value.nonInterpolableValue.get()); | 272 const_cast<NonInterpolableValue*>(value.nonInterpolableValue.get()); |
273 } | 273 } |
274 | 274 |
275 void CSSFilterListInterpolationType::apply( | 275 void CSSFilterListInterpolationType::applyStandardPropertyValue( |
276 const InterpolableValue& interpolableValue, | 276 const InterpolableValue& interpolableValue, |
277 const NonInterpolableValue* nonInterpolableValue, | 277 const NonInterpolableValue* nonInterpolableValue, |
278 InterpolationEnvironment& environment) const { | 278 StyleResolverState& state) const { |
279 const InterpolableList& interpolableList = | 279 const InterpolableList& interpolableList = |
280 toInterpolableList(interpolableValue); | 280 toInterpolableList(interpolableValue); |
281 const NonInterpolableList& nonInterpolableList = | 281 const NonInterpolableList& nonInterpolableList = |
282 toNonInterpolableList(*nonInterpolableValue); | 282 toNonInterpolableList(*nonInterpolableValue); |
283 size_t length = interpolableList.length(); | 283 size_t length = interpolableList.length(); |
284 DCHECK_EQ(length, nonInterpolableList.length()); | 284 DCHECK_EQ(length, nonInterpolableList.length()); |
285 | 285 |
286 FilterOperations filterOperations; | 286 FilterOperations filterOperations; |
287 filterOperations.operations().reserveCapacity(length); | 287 filterOperations.operations().reserveCapacity(length); |
288 for (size_t i = 0; i < length; i++) | 288 for (size_t i = 0; i < length; i++) { |
289 filterOperations.operations().push_back( | 289 filterOperations.operations().push_back( |
290 FilterInterpolationFunctions::createFilter(*interpolableList.get(i), | 290 FilterInterpolationFunctions::createFilter( |
291 *nonInterpolableList.get(i), | 291 *interpolableList.get(i), *nonInterpolableList.get(i), state)); |
292 environment.state())); | 292 } |
293 FilterListPropertyFunctions::setFilterList( | 293 FilterListPropertyFunctions::setFilterList(cssProperty(), *state.style(), |
294 cssProperty(), *environment.state().style(), std::move(filterOperations)); | 294 std::move(filterOperations)); |
295 } | 295 } |
296 | 296 |
297 } // namespace blink | 297 } // namespace blink |
OLD | NEW |