diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-06 12:48:11 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2020-10-13 09:33:43 +0000 |
commit | 7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (patch) | |
tree | fa14ba0ca8d2683ba2efdabd246dc9b18a1229c6 /chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc | |
parent | 79b4f909db1049fca459c07cca55af56a9b54fe3 (diff) | |
download | qtwebengine-chromium-7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3.tar.gz |
BASELINE: Update Chromium to 84.0.4147.141
Change-Id: Ib85eb4cfa1cbe2b2b81e5022c8cad5c493969535
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc')
-rw-r--r-- | chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc b/chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc index 900b20688cf..9c77e9224ab 100644 --- a/chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc +++ b/chromium/third_party/blink/renderer/core/paint/filter_effect_builder.cc @@ -415,22 +415,17 @@ CompositorFilterOperations FilterEffectBuilder::BuildFilterOperations( Filter* FilterEffectBuilder::BuildReferenceFilter( const ReferenceFilterOperation& reference_operation, - FilterEffect* previous_effect) const { - SVGResource* resource = reference_operation.Resource(); - if (auto* filter = - DynamicTo<SVGFilterElement>(resource ? resource->Target() : nullptr)) - return BuildReferenceFilter(*filter, previous_effect); - return nullptr; -} - -Filter* FilterEffectBuilder::BuildReferenceFilter( - SVGFilterElement& filter_element, FilterEffect* previous_effect, SVGFilterGraphNodeMap* node_map) const { + SVGResource* resource = reference_operation.Resource(); + auto* filter_element = + DynamicTo<SVGFilterElement>(resource ? resource->Target() : nullptr); + if (!filter_element) + return nullptr; FloatRect filter_region = SVGLengthContext::ResolveRectangle<SVGFilterElement>( - &filter_element, - filter_element.filterUnits()->CurrentValue()->EnumValue(), + filter_element, + filter_element->filterUnits()->CurrentValue()->EnumValue(), reference_box_); // TODO(fs): We rely on the presence of a node map here to opt-in to the // check for an empty filter region. The reason for this is that we lack a @@ -439,7 +434,7 @@ Filter* FilterEffectBuilder::BuildReferenceFilter( return nullptr; bool primitive_bounding_box_mode = - filter_element.primitiveUnits()->CurrentValue()->EnumValue() == + filter_element->primitiveUnits()->CurrentValue()->EnumValue() == SVGUnitTypes::kSvgUnitTypeObjectboundingbox; Filter::UnitScaling unit_scaling = primitive_bounding_box_mode ? Filter::kBoundingBox : Filter::kUserSpace; @@ -449,7 +444,7 @@ Filter* FilterEffectBuilder::BuildReferenceFilter( previous_effect = result->GetSourceGraphic(); SVGFilterBuilder builder(previous_effect, node_map, fill_flags_, stroke_flags_); - builder.BuildGraph(result, filter_element, reference_box_); + builder.BuildGraph(result, *filter_element, reference_box_); result->SetLastEffect(builder.LastEffect()); return result; } |