summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/animation/css_interpolation_environment.h
diff options
context:
space:
mode:
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.h29
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