Commit 452afba8 authored by Abhijeet Kandalkar's avatar Abhijeet Kandalkar Committed by Commit Bot

Use new downcast helper for blink::SVGFilterElement

This CL has two goals,
  1. Use To<SVGFilterElement> and DynamicTo<SVGFilterElement> as new
   downcast helper
  2. Use IsA<SVGFilterElement>(element) in place of
   IsSVGFilterElement(element)

Bug: 891908
Change-Id: I3504c8bfd82dc6938ac53f8bd6169fa0be338592
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1936584Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Abhijeet | Igalia <abhijeet@igalia.com>
Cr-Commit-Position: refs/heads/master@{#720396}
parent aaf880c8
...@@ -87,20 +87,20 @@ bool LayoutSVGResourceFilter::RemoveClientFromCache(SVGResourceClient& client) { ...@@ -87,20 +87,20 @@ bool LayoutSVGResourceFilter::RemoveClientFromCache(SVGResourceClient& client) {
FloatRect LayoutSVGResourceFilter::ResourceBoundingBox( FloatRect LayoutSVGResourceFilter::ResourceBoundingBox(
const FloatRect& reference_box) const { const FloatRect& reference_box) const {
const auto* filter_element = ToSVGFilterElement(GetElement()); const auto* filter_element = To<SVGFilterElement>(GetElement());
return SVGLengthContext::ResolveRectangle(filter_element, FilterUnits(), return SVGLengthContext::ResolveRectangle(filter_element, FilterUnits(),
reference_box); reference_box);
} }
SVGUnitTypes::SVGUnitType LayoutSVGResourceFilter::FilterUnits() const { SVGUnitTypes::SVGUnitType LayoutSVGResourceFilter::FilterUnits() const {
return ToSVGFilterElement(GetElement()) return To<SVGFilterElement>(GetElement())
->filterUnits() ->filterUnits()
->CurrentValue() ->CurrentValue()
->EnumValue(); ->EnumValue();
} }
SVGUnitTypes::SVGUnitType LayoutSVGResourceFilter::PrimitiveUnits() const { SVGUnitTypes::SVGUnitType LayoutSVGResourceFilter::PrimitiveUnits() const {
return ToSVGFilterElement(GetElement()) return To<SVGFilterElement>(GetElement())
->primitiveUnits() ->primitiveUnits()
->CurrentValue() ->CurrentValue()
->EnumValue(); ->EnumValue();
...@@ -126,8 +126,8 @@ void LayoutSVGResourceFilter::PrimitiveAttributeChanged( ...@@ -126,8 +126,8 @@ void LayoutSVGResourceFilter::PrimitiveAttributeChanged(
return; return;
node_map->InvalidateDependentEffects(effect); node_map->InvalidateDependentEffects(effect);
} }
if (LocalSVGResource* resource = if (auto* resource =
ToSVGFilterElement(GetElement())->AssociatedResource()) { To<SVGFilterElement>(GetElement())->AssociatedResource()) {
resource->NotifyContentChanged( resource->NotifyContentChanged(
SVGResourceClient::kPaintInvalidation | SVGResourceClient::kPaintInvalidation |
SVGResourceClient::kSkipAncestorInvalidation); SVGResourceClient::kSkipAncestorInvalidation);
......
...@@ -567,8 +567,8 @@ void WriteSVGResourceContainer(WTF::TextStream& ts, ...@@ -567,8 +567,8 @@ void WriteSVGResourceContainer(WTF::TextStream& ts,
auto* dummy_filter = MakeGarbageCollected<Filter>(dummy_rect, dummy_rect, 1, auto* dummy_filter = MakeGarbageCollected<Filter>(dummy_rect, dummy_rect, 1,
Filter::kBoundingBox); Filter::kBoundingBox);
SVGFilterBuilder builder(dummy_filter->GetSourceGraphic()); SVGFilterBuilder builder(dummy_filter->GetSourceGraphic());
builder.BuildGraph(dummy_filter, ToSVGFilterElement(*filter->GetElement()), builder.BuildGraph(dummy_filter,
dummy_rect); To<SVGFilterElement>(*filter->GetElement()), dummy_rect);
if (FilterEffect* last_effect = builder.LastEffect()) if (FilterEffect* last_effect = builder.LastEffect())
last_effect->ExternalRepresentation(ts, indent + 1); last_effect->ExternalRepresentation(ts, indent + 1);
} else if (resource->ResourceType() == kClipperResourceType) { } else if (resource->ResourceType() == kClipperResourceType) {
......
...@@ -415,7 +415,7 @@ Filter* FilterEffectBuilder::BuildReferenceFilter( ...@@ -415,7 +415,7 @@ Filter* FilterEffectBuilder::BuildReferenceFilter(
FilterEffect* previous_effect) const { FilterEffect* previous_effect) const {
SVGResource* resource = reference_operation.Resource(); SVGResource* resource = reference_operation.Resource();
if (auto* filter = if (auto* filter =
ToSVGFilterElementOrNull(resource ? resource->Target() : nullptr)) DynamicTo<SVGFilterElement>(resource ? resource->Target() : nullptr))
return BuildReferenceFilter(*filter, previous_effect); return BuildReferenceFilter(*filter, previous_effect);
return nullptr; return nullptr;
} }
......
...@@ -101,7 +101,7 @@ GraphicsContext* SVGFilterPainter::PrepareEffect( ...@@ -101,7 +101,7 @@ GraphicsContext* SVGFilterPainter::PrepareEffect(
auto* node_map = MakeGarbageCollected<SVGFilterGraphNodeMap>(); auto* node_map = MakeGarbageCollected<SVGFilterGraphNodeMap>();
FilterEffectBuilder builder(object.ObjectBoundingBox(), 1); FilterEffectBuilder builder(object.ObjectBoundingBox(), 1);
Filter* filter = builder.BuildReferenceFilter( Filter* filter = builder.BuildReferenceFilter(
ToSVGFilterElement(*filter_.GetElement()), nullptr, node_map); To<SVGFilterElement>(*filter_.GetElement()), nullptr, node_map);
if (!filter || !filter->LastEffect()) if (!filter || !filter->LastEffect())
return nullptr; return nullptr;
......
...@@ -143,7 +143,7 @@ void SVGFEImageElement::ImageNotifyFinished(ImageResourceContent*) { ...@@ -143,7 +143,7 @@ void SVGFEImageElement::ImageNotifyFinished(ImageResourceContent*) {
return; return;
Element* parent = parentElement(); Element* parent = parentElement();
if (!parent || !IsSVGFilterElement(parent) || !parent->GetLayoutObject()) if (!parent || !IsA<SVGFilterElement>(parent) || !parent->GetLayoutObject())
return; return;
if (LayoutObject* layout_object = GetLayoutObject()) if (LayoutObject* layout_object = GetLayoutObject())
......
...@@ -172,20 +172,20 @@ LayoutObject* SVGFilterPrimitiveStandardAttributes::CreateLayoutObject( ...@@ -172,20 +172,20 @@ LayoutObject* SVGFilterPrimitiveStandardAttributes::CreateLayoutObject(
bool SVGFilterPrimitiveStandardAttributes::LayoutObjectIsNeeded( bool SVGFilterPrimitiveStandardAttributes::LayoutObjectIsNeeded(
const ComputedStyle& style) const { const ComputedStyle& style) const {
if (IsSVGFilterElement(parentNode())) if (IsA<SVGFilterElement>(parentNode()))
return SVGElement::LayoutObjectIsNeeded(style); return SVGElement::LayoutObjectIsNeeded(style);
return false; return false;
} }
void SVGFilterPrimitiveStandardAttributes::Invalidate() { void SVGFilterPrimitiveStandardAttributes::Invalidate() {
if (SVGFilterElement* filter = ToSVGFilterElementOrNull(parentElement())) if (auto* filter = DynamicTo<SVGFilterElement>(parentElement()))
filter->InvalidateFilterChain(); filter->InvalidateFilterChain();
} }
void SVGFilterPrimitiveStandardAttributes::PrimitiveAttributeChanged( void SVGFilterPrimitiveStandardAttributes::PrimitiveAttributeChanged(
const QualifiedName& attribute) { const QualifiedName& attribute) {
if (SVGFilterElement* filter = ToSVGFilterElementOrNull(parentElement())) if (auto* filter = DynamicTo<SVGFilterElement>(parentElement()))
filter->PrimitiveAttributeChanged(*this, attribute); filter->PrimitiveAttributeChanged(*this, attribute);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment