Synchronize classList on SVGElement.className.baseVal updates
Element.classList is normally updated by AttributeChanged(). When the underlying attribute is updated via the corresponding SVG animated property AttributeChanged() is not invoked, which makes the list and attribute go out of sync. Refactor baseVal updates on SVGElement so that they go through a single entry point by renaming SvgAttributeBaseValChanged() to BaseValueChanged() and folding it into the other user (SVGElement::AttributeChanged). Fold InvalidateSVGAttributes() into BaseValueChanged() since it's the only caller. BaseValueChanged() is then updated to update the classList when the className base value is updated. Move the classList update into a shared Element::UpdateClassList() function. Fixed: 1137953 Change-Id: I64efff0bfd163b14eb937c635c3d170b4511f4a7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2480023 Commit-Queue: Fredrik Söderquist <fs@opera.com> Reviewed-by:Stephen Chenney <schenney@chromium.org> Cr-Commit-Position: refs/heads/master@{#818035}
Showing
Please register or sign in to comment