Funnel angle value updates in SVGAngle through NewValueSpecifiedUnits
Refactor/structure the code so that all cases[*] that set the
value_in_specified_units_
field does so using NewValueSpecifiedUnits.
This makes it easier to guarantee that the value the orient type enum is
only updated in one place, and that updating it isn't forgotten. Factor
out the conversion from one angle unit to another into a helper, to
facilitate this.
This fixes an issue where the 'valueInSpecifiedUnits' setter didn't
update the orient type.
Export the test svg/dom/SVGMarkerElement-orientType-synchronization.html
to WPT and add an additional case that tests the above.
[*] Code-paths that reset said field when the orient type changes still
(re)set the value themselves.
Fixed: 378120437
Change-Id: I59845590f60d1edbf022a71103d3c6fb3a21aec1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6023025
Reviewed-by: Philip Rogers pdr@chromium.org
Auto-Submit: Fredrik Söderquist fs@opera.com
Commit-Queue: Philip Rogers pdr@chromium.org
Cr-Commit-Position: refs/heads/main@{#1384659}