diff options
Diffstat (limited to 'chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h')
-rw-r--r-- | chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h | 29 |
1 files changed, 11 insertions, 18 deletions
diff --git a/chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h b/chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h index 789ee655a65..7e15b15fbe4 100644 --- a/chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h +++ b/chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h @@ -6,13 +6,14 @@ #define THIRD_PARTY_BLINK_RENDERER_CORE_ANIMATION_CSS_INTERPOLATION_ENVIRONMENT_H_ #include "third_party/blink/renderer/core/animation/interpolation_environment.h" -#include "third_party/blink/renderer/core/css/resolver/style_cascade.h" #include "third_party/blink/renderer/core/css/resolver/style_resolver_state.h" namespace blink { +class CascadeResolver; class ComputedStyle; class CSSVariableResolver; +class StyleCascade; class CSSInterpolationEnvironment : public InterpolationEnvironment { public: @@ -27,7 +28,7 @@ class CSSInterpolationEnvironment : public InterpolationEnvironment { explicit CSSInterpolationEnvironment(const InterpolationTypesMap& map, StyleResolverState& state, StyleCascade* cascade, - StyleCascade::Resolver* cascade_resolver) + CascadeResolver* cascade_resolver) : InterpolationEnvironment(map), state_(&state), style_(state.Style()), @@ -67,30 +68,22 @@ class CSSInterpolationEnvironment : public InterpolationEnvironment { } // TODO(crbug.com/985023): This effective violates const. - const CSSValue* Resolve(const PropertyHandle& property, - const CSSValue* value) const { - DCHECK(RuntimeEnabledFeatures::CSSCascadeEnabled()); - DCHECK(cascade_); - DCHECK(cascade_resolver_); - if (!value) - return value; - return cascade_->Resolve(property.GetCSSPropertyName(), *value, - *cascade_resolver_); - } + const CSSValue* Resolve(const PropertyHandle&, const CSSValue*) const; private: StyleResolverState* state_ = nullptr; const ComputedStyle* style_ = nullptr; CSSVariableResolver* variable_resolver_ = nullptr; StyleCascade* cascade_ = nullptr; - StyleCascade::Resolver* cascade_resolver_ = nullptr; + CascadeResolver* cascade_resolver_ = nullptr; }; -DEFINE_TYPE_CASTS(CSSInterpolationEnvironment, - InterpolationEnvironment, - value, - value->IsCSS(), - value.IsCSS()); +template <> +struct DowncastTraits<CSSInterpolationEnvironment> { + static bool AllowFrom(const InterpolationEnvironment& value) { + return value.IsCSS(); + } +}; } // namespace blink |