#include "third_party/blink/renderer/core/svg/svg_animate_element.h"
#include "third_party/blink/renderer/core/css/css_property_value_set.h"
#include "third_party/blink/renderer/core/css/css_style_sheet.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/dom/document.h"
#include "third_party/blink/renderer/core/dom/qualified_name.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/svg/animation/smil_animation_effect_parameters.h"
#include "third_party/blink/renderer/core/svg/animation/smil_animation_value.h"
#include "third_party/blink/renderer/core/svg/properties/svg_animated_property.h"
#include "third_party/blink/renderer/core/svg/properties/svg_property.h"
#include "third_party/blink/renderer/core/svg/svg_angle.h"
#include "third_party/blink/renderer/core/svg/svg_animated_color.h"
#include "third_party/blink/renderer/core/svg/svg_boolean.h"
#include "third_party/blink/renderer/core/svg/svg_integer.h"
#include "third_party/blink/renderer/core/svg/svg_integer_optional_integer.h"
#include "third_party/blink/renderer/core/svg/svg_length.h"
#include "third_party/blink/renderer/core/svg/svg_length_list.h"
#include "third_party/blink/renderer/core/svg/svg_number.h"
#include "third_party/blink/renderer/core/svg/svg_number_list.h"
#include "third_party/blink/renderer/core/svg/svg_number_optional_number.h"
#include "third_party/blink/renderer/core/svg/svg_path.h"
#include "third_party/blink/renderer/core/svg/svg_point_list.h"
#include "third_party/blink/renderer/core/svg/svg_preserve_aspect_ratio.h"
#include "third_party/blink/renderer/core/svg/svg_rect.h"
#include "third_party/blink/renderer/core/svg/svg_script_element.h"
#include "third_party/blink/renderer/core/svg/svg_set_element.h"
#include "third_party/blink/renderer/core/svg/svg_string.h"
#include "third_party/blink/renderer/core/xlink_names.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
namespace blink {
namespace {
String ComputeCSSPropertyValue(SVGElement* element, CSSPropertyID id) { … }
AnimatedPropertyValueType PropertyValueType(const QualifiedName& attribute_name,
const String& value) { … }
QualifiedName ConstructQualifiedName(const SVGElement& svg_element,
const AtomicString& attribute_name) { … }
}
SVGAnimateElement::SVGAnimateElement(Document& document)
: … { … }
SVGAnimateElement::SVGAnimateElement(const QualifiedName& tag_name,
Document& document)
: … { … }
SVGAnimateElement::~SVGAnimateElement() = default;
bool SVGAnimateElement::IsSVGAnimationAttributeSettingJavaScriptURL(
const Attribute& attribute) const { … }
Node::InsertionNotificationRequest SVGAnimateElement::InsertedInto(
ContainerNode& root_parent) { … }
void SVGAnimateElement::RemovedFrom(ContainerNode& root_parent) { … }
void SVGAnimateElement::ParseAttribute(
const AttributeModificationParams& params) { … }
void SVGAnimateElement::ResolveTargetProperty() { … }
void SVGAnimateElement::ClearTargetProperty() { … }
void SVGAnimateElement::UpdateTargetProperty() { … }
bool SVGAnimateElement::HasValidAnimation() const { … }
SVGPropertyBase* SVGAnimateElement::CreatePropertyForAttributeAnimation(
const String& value) const { … }
SVGPropertyBase* SVGAnimateElement::CreateUnderlyingValueForAttributeAnimation()
const { … }
SVGPropertyBase* SVGAnimateElement::CreatePropertyForCSSAnimation(
const String& value) const { … }
SVGPropertyBase* SVGAnimateElement::ParseValue(const String& value) const { … }
SVGPropertyBase* SVGAnimateElement::AdjustForInheritance(
SVGPropertyBase* property_value,
AnimatedPropertyValueType value_type) const { … }
static SVGPropertyBase* DiscreteSelectValue(AnimationMode animation_mode,
float percentage,
SVGPropertyBase* from,
SVGPropertyBase* to) { … }
void SVGAnimateElement::CalculateAnimationValue(
SMILAnimationValue& animation_value,
float percentage,
unsigned repeat_count) const { … }
AnimationMode SVGAnimateElement::CalculateAnimationMode() { … }
bool SVGAnimateElement::CalculateToAtEndOfDurationValue(
const String& to_at_end_of_duration_string) { … }
void SVGAnimateElement::CalculateFromAndToValues(const String& from_string,
const String& to_string) { … }
void SVGAnimateElement::CalculateFromAndByValues(const String& from_string,
const String& by_string) { … }
SVGPropertyBase* SVGAnimateElement::CreateUnderlyingValueForAnimation() const { … }
SMILAnimationValue SVGAnimateElement::CreateAnimationValue() const { … }
void SVGAnimateElement::ClearAnimationValue() { … }
void SVGAnimateElement::ApplyResultsToTarget(
const SMILAnimationValue& animation_value) { … }
bool SVGAnimateElement::AnimatedPropertyTypeSupportsAddition() const { … }
float SVGAnimateElement::CalculateDistance(const String& from_string,
const String& to_string) { … }
void SVGAnimateElement::WillChangeAnimatedType() { … }
void SVGAnimateElement::DidChangeAnimatedType() { … }
void SVGAnimateElement::WillChangeAnimationTarget() { … }
void SVGAnimateElement::DidChangeAnimationTarget() { … }
void SVGAnimateElement::SetAttributeName(const QualifiedName& attribute_name) { … }
void SVGAnimateElement::SetAttributeType(
const AtomicString& attribute_type_string) { … }
void SVGAnimateElement::Trace(Visitor* visitor) const { … }
}