Currently some of SVGElements store SVGStringListValues which is an array of Strings. When the DOM requests an interface of SVGStringList a tear off object of type SVGStaticListPropertyTearOff is created to encapsulate SVGStringListValues. Like what we did for SVGAnimatedInteger and SVGAnimatedBoolean, we are going to store Ref<SVGStringList> in the SVGElement.
Created attachment 364972 [details] Patch
Created attachment 364973 [details] Patch for review
Created attachment 364974 [details] Patch
Created attachment 364989 [details] Patch
Created attachment 364990 [details] Patch for review
Comment on attachment 364990 [details] Patch for review View in context: https://bugs.webkit.org/attachment.cgi?id=364990&action=review > Source/WebCore/ChangeLog:12 > + attribute name in SVGPropertyRegistery. It will also commits changes it will also commit > Source/WebCore/svg/SVGElement.h:160 > + void commitPropertyChange(SVGProperty*) override; Can SVGProperty be a reference? > Source/WebCore/svg/SVGStringList.h:39 > + static Ref<SVGStringList> create(SVGPropertyOwner* owner) Can SVGPropertyOwner be a reference? > Source/WebCore/svg/SVGStringList.h:59 > + const UChar* end = ptr + data.length(); Are we sure that upconvertedCharacters() returns the same number of characters as data contains? > Source/WebCore/svg/SVGViewElement.h:58 > + Ref<SVGStringList> m_viewTarget { SVGStringList::create(this) }; Please initialize in the constructor. > Source/WebCore/svg/properties/SVGList.h:2 > + * Copyright (C) 2018-2019 Apple Inc. All rights reserved. Just 2019 > Source/WebCore/svg/properties/SVGPrimitiveList.h:2 > + * Copyright (C) 2018-2019 Apple Inc. All rights reserved. 2019 > Source/WebCore/svg/properties/SVGProperty.h:37 > + void attach(SVGPropertyOwner* owner, SVGPropertyAccess access) Can SVGPropertyOwner be a reference?
Created attachment 365099 [details] Patch
Comment on attachment 365099 [details] Patch Clearing flags on attachment: 365099 Committed r243130: <https://trac.webkit.org/changeset/243130>
All reviewed patches have been landed. Closing bug.
<rdar://problem/49006248>
Committed r243137: <https://trac.webkit.org/changeset/243137>