#include "third_party/blink/renderer/core/animation/string_keyframe.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_object_builder.h"
#include "third_party/blink/renderer/core/animation/animation_input_helpers.h"
#include "third_party/blink/renderer/core/animation/css/css_animations.h"
#include "third_party/blink/renderer/core/css/css_keyframe_shorthand_value.h"
#include "third_party/blink/renderer/core/css/css_unparsed_declaration_value.h"
#include "third_party/blink/renderer/core/css/parser/css_parser.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/style_property_shorthand.h"
#include "third_party/blink/renderer/core/svg/svg_element.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
namespace {
bool IsLogicalProperty(CSSPropertyID property_id) { … }
MutableCSSPropertyValueSet* CreateCssPropertyValueSet() { … }
}
PropertyResolver;
StringKeyframe::StringKeyframe(const StringKeyframe& copy_from)
: … { … }
MutableCSSPropertyValueSet::SetResult StringKeyframe::SetCSSPropertyValue(
const AtomicString& custom_property_name,
const String& value,
SecureContextMode secure_context_mode,
StyleSheetContents* style_sheet_contents) { … }
MutableCSSPropertyValueSet::SetResult StringKeyframe::SetCSSPropertyValue(
CSSPropertyID property_id,
const String& value,
SecureContextMode secure_context_mode,
StyleSheetContents* style_sheet_contents) { … }
void StringKeyframe::SetCSSPropertyValue(const CSSPropertyName& name,
const CSSValue& value) { … }
void StringKeyframe::RemoveCustomCSSProperty(const PropertyHandle& property) { … }
void StringKeyframe::SetPresentationAttributeValue(
const CSSProperty& property,
const String& value,
SecureContextMode secure_context_mode,
StyleSheetContents* style_sheet_contents) { … }
void StringKeyframe::SetSVGAttributeValue(const QualifiedName& attribute_name,
const String& value) { … }
PropertyHandleSet StringKeyframe::Properties() const { … }
bool StringKeyframe::HasCssProperty() const { … }
void StringKeyframe::AddKeyframePropertiesToV8Object(
V8ObjectBuilder& object_builder,
Element* element) const { … }
void StringKeyframe::Trace(Visitor* visitor) const { … }
Keyframe* StringKeyframe::Clone() const { … }
bool StringKeyframe::SetLogicalPropertyResolutionContext(
WritingDirectionMode writing_direction) { … }
void StringKeyframe::EnsureCssPropertyMap() const { … }
Keyframe::PropertySpecificKeyframe*
StringKeyframe::CreatePropertySpecificKeyframe(
const PropertyHandle& property,
EffectModel::CompositeOperation effect_composite,
double offset) const { … }
bool StringKeyframe::CSSPropertySpecificKeyframe::
PopulateCompositorKeyframeValue(const PropertyHandle& property,
Element& element,
const ComputedStyle& base_style,
const ComputedStyle* parent_style) const { … }
bool StringKeyframe::CSSPropertySpecificKeyframe::IsRevert() const { … }
bool StringKeyframe::CSSPropertySpecificKeyframe::IsRevertLayer() const { … }
Keyframe::PropertySpecificKeyframe*
StringKeyframe::CSSPropertySpecificKeyframe::NeutralKeyframe(
double offset,
scoped_refptr<TimingFunction> easing) const { … }
void StringKeyframe::CSSPropertySpecificKeyframe::Trace(
Visitor* visitor) const { … }
Keyframe::PropertySpecificKeyframe*
StringKeyframe::CSSPropertySpecificKeyframe::CloneWithOffset(
double offset) const { … }
Keyframe::PropertySpecificKeyframe*
SVGPropertySpecificKeyframe::CloneWithOffset(double offset) const { … }
Keyframe::PropertySpecificKeyframe*
SVGPropertySpecificKeyframe::NeutralKeyframe(
double offset,
scoped_refptr<TimingFunction> easing) const { … }
PropertyResolver::PropertyResolver(CSSPropertyID property_id,
const CSSValue& css_value)
: … { … }
PropertyResolver::PropertyResolver(
const CSSProperty& property,
const MutableCSSPropertyValueSet* property_value_set,
bool is_logical)
: … { … }
bool PropertyResolver::IsValid() const { … }
const CSSValue* PropertyResolver::CssValue() { … }
void PropertyResolver::AppendTo(MutableCSSPropertyValueSet* property_value_set,
WritingDirectionMode writing_direction) { … }
void PropertyResolver::SetProperty(
MutableCSSPropertyValueSet* property_value_set,
CSSPropertyID property_id,
const CSSValue& value,
WritingDirectionMode writing_direction) { … }
void PropertyResolver::Trace(Visitor* visitor) const { … }
bool PropertyResolver::HasLowerPriority(PropertyResolver* first,
PropertyResolver* second) { … }
}