haikuwebkit/LayoutTests/svg/dom/SVGLengthList-xml-dom-modif...

83 lines
2.8 KiB
HTML
Raw Permalink Normal View History

2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Tests: svg/dom/SVGLengthList-appendItem.xhtml svg/dom/SVGLengthList-basics.xhtml svg/dom/SVGLengthList-getItem.xhtml svg/dom/SVGLengthList-initialize.xhtml svg/dom/SVGLengthList-insertItemBefore.xhtml svg/dom/SVGLengthList-removeItem.xhtml svg/dom/SVGLengthList-replaceItem.xhtml svg/dom/SVGLengthList-xml-dom-modifications.xhtml Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings. Concrete example: The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'. Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations), both of type 'SVGLength'. These objects are all _live_. That means you can do: var foobar = rect.x.baseVal; foobar.value += 150; If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all. In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>. When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength). This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM. Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly. The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement). Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper. It works like this: A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute. It also stores a RefPtr to the SVGElement that created it. In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength> object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap. The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList). SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr. The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example: When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr. When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement. Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods. This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail). The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.) is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all. SVGLengthList is live just like most other SVG DOM object. Concrete example: var item0 = text.x.baseVal.getItem(0); item0.value += 150; Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object around the real object 'SVGLength'. This complexity is completly gone. The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength> wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized. The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases. This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept. This will change in follow-up patches. * GNUmakefile.am: Add new files from svg/properties to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::JSSVGLength::value): (WebCore::JSSVGLength::convertToSpecifiedUnits): * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList". * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C). * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::V8SVGLength::valueAccessorGetter): (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimatedLength.h: Added. * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty]. * svg/SVGAnimatedLengthList.h: Added. * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty]. * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGCursorElement.h: Ditto. * svg/SVGEllipseElement.h: Ditto. * svg/SVGFilterElement.h: Ditto. * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto. * svg/SVGForeignObjectElement.h: Ditto. * svg/SVGImageElement.h: Ditto. * svg/SVGLength.idl: Mark as [SVGProperty]. * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now. (WebCore::SVGLengthList::parse): (WebCore::SVGLengthList::valueAsString): * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now. (WebCore::SVGLengthList::SVGLengthList): * svg/SVGLengthList.idl: Mark as [SVGListProperty]. * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGLinearGradientElement.h: Ditto. * svg/SVGMarkerElement.h: Ditto. * svg/SVGMaskElement.h: Ditto. * svg/SVGPatternElement.h: Ditto. * svg/SVGRadialGradientElement.h: Ditto. * svg/SVGRectElement.h: Ditto. * svg/SVGSVGElement.h: Ditto. * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created. * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGTextPathElement.h: Ditto. * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM. (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now. * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGUseElement.h: * svg/properties/SVGAnimatedListPropertyTearOff.h: Added. * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff. * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h. * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished. * svg/properties/SVGAnimatedPropertyTearOff.h: Added. * svg/properties/SVGListPropertyTearOff.h: Added. * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff. * svg/properties/SVGPropertyTearOff.h: Added. * svg/properties/SVGPropertyTraits.h: Added. 2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Add extensive set of SVGLengthList tests, that all PASS now. * platform/mac-leopard/svg/dom: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * svg/dom/SVGLengthList-appendItem-expected.txt: Added. * svg/dom/SVGLengthList-appendItem.xhtml: Added. * svg/dom/SVGLengthList-basics-expected.txt: Added. * svg/dom/SVGLengthList-basics.xhtml: Added. * svg/dom/SVGLengthList-getItem-expected.txt: Added. * svg/dom/SVGLengthList-getItem.xhtml: Added. * svg/dom/SVGLengthList-initialize-expected.txt: Added. * svg/dom/SVGLengthList-initialize.xhtml: Added. * svg/dom/SVGLengthList-insertItemBefore-expected.txt: Added. * svg/dom/SVGLengthList-insertItemBefore.xhtml: Added. * svg/dom/SVGLengthList-removeItem-expected.txt: Added. * svg/dom/SVGLengthList-removeItem.xhtml: Added. * svg/dom/SVGLengthList-replaceItem-expected.txt: Added. * svg/dom/SVGLengthList-replaceItem.xhtml: Added. * svg/dom/SVGLengthList-xml-dom-modifications-expected.txt: Added. * svg/dom/SVGLengthList-xml-dom-modifications.xhtml: Added. Canonical link: https://commits.webkit.org/60774@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-21 10:25:25 +00:00
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>window.enablePixelTesting = true;</script>
Change LayoutTests' s* files to use pre and post js files in LayoutTests/resources. https://bugs.webkit.org/show_bug.cgi?id=120899. Rubber stamped by Filip Pizlo. * scrollbars/rtl/div-absolute.html: * scrollbars/rtl/div-horizontal.html: * scrollbars/rtl/div-vertical.html: * security/crypto-random-values-limits.html: * security/crypto-random-values-types.html: * security/crypto-random-values.html: * storage/domstorage/clear.html: * storage/domstorage/complex-keys.html: * storage/domstorage/complex-values.html: * storage/domstorage/events/basic-body-attribute.html: * storage/domstorage/events/basic-setattribute.html: * storage/domstorage/events/basic.html: * storage/domstorage/events/case-sensitive.html: * storage/domstorage/events/script-tests/TEMPLATE.html: * storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html: * storage/domstorage/localstorage/missing-arguments.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html: * storage/domstorage/quota.html: * storage/domstorage/remove-item.html: * storage/domstorage/script-tests/TEMPLATE.html: * storage/domstorage/storage-functions-not-overwritten.html: * storage/indexeddb/aborted-versionchange-closes.html: * storage/indexeddb/basics-shared-workers.html: * storage/indexeddb/basics-workers.html: * storage/indexeddb/basics.html: * storage/indexeddb/clone-exception.html: * storage/indexeddb/create-and-remove-object-store.html: * storage/indexeddb/create-object-store-options.html: * storage/indexeddb/createIndex-after-failure.html: * storage/indexeddb/createObjectStore-name-argument-required.html: * storage/indexeddb/createObjectStore-null-name.html: * storage/indexeddb/cursor-added-bug.html: * storage/indexeddb/cursor-advance-workers.html: * storage/indexeddb/cursor-advance.html: * storage/indexeddb/cursor-continue-dir.html: * storage/indexeddb/cursor-continue-validity.html: * storage/indexeddb/cursor-continue.html: * storage/indexeddb/cursor-delete.html: * storage/indexeddb/cursor-finished.html: * storage/indexeddb/cursor-inconsistency.html: * storage/indexeddb/cursor-index-delete.html: * storage/indexeddb/cursor-key-order.html: * storage/indexeddb/cursor-overloads.html: * storage/indexeddb/cursor-prev-no-duplicate.html: * storage/indexeddb/cursor-primary-key-order.html: * storage/indexeddb/cursor-properties.html: * storage/indexeddb/cursor-reverse-bug.html: * storage/indexeddb/cursor-skip-deleted.html: * storage/indexeddb/cursor-update-value-argument-required.html: * storage/indexeddb/cursor-update.html: * storage/indexeddb/cursor-value.html: * storage/indexeddb/data-corruption.html: * storage/indexeddb/database-basics.html: * storage/indexeddb/database-close.html: * storage/indexeddb/database-closepending-flag.html: * storage/indexeddb/database-deletepending-flag.html: * storage/indexeddb/database-name-undefined.html: * storage/indexeddb/database-odd-names.html: * storage/indexeddb/database-quota.html: * storage/indexeddb/database-wrapper.html: * storage/indexeddb/delete-closed-database-object.html: * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html: * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html: * storage/indexeddb/delete-range.html: * storage/indexeddb/deleteIndex-bug110792.html: * storage/indexeddb/deleteIndex.html: * storage/indexeddb/deleteObjectStore-name-argument-required.html: * storage/indexeddb/deleteObjectStore-null-name.html: * storage/indexeddb/deleted-objects.html: * storage/indexeddb/deletedatabase-blocked.html: * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html: * storage/indexeddb/deletedatabase-delayed-by-versionchange.html: * storage/indexeddb/deletedatabase-not-blocked.html: * storage/indexeddb/deletedatabase-transaction.html: * storage/indexeddb/dont-commit-on-blocked.html: * storage/indexeddb/dont-wedge.html: * storage/indexeddb/duplicates.html: * storage/indexeddb/error-causes-abort-by-default.html: * storage/indexeddb/events.html: * storage/indexeddb/exception-in-event-aborts.html: * storage/indexeddb/exceptions.html: * storage/indexeddb/factory-basics-workers.html: * storage/indexeddb/factory-basics.html: * storage/indexeddb/factory-cmp.html: * storage/indexeddb/factory-deletedatabase.html: * storage/indexeddb/get-keyrange.html: * storage/indexeddb/index-basics-workers.html: * storage/indexeddb/index-basics.html: * storage/indexeddb/index-count.html: * storage/indexeddb/index-cursor.html: * storage/indexeddb/index-duplicate-keypaths.html: * storage/indexeddb/index-get-key-argument-required.html: * storage/indexeddb/index-multientry.html: * storage/indexeddb/index-population.html: * storage/indexeddb/index-unique.html: * storage/indexeddb/interfaces.html: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: * storage/indexeddb/intversion-bad-parameters.html: * storage/indexeddb/intversion-blocked.html: * storage/indexeddb/intversion-close-between-events.html: * storage/indexeddb/intversion-close-in-oncomplete.html: * storage/indexeddb/intversion-close-in-upgradeneeded.html: * storage/indexeddb/intversion-encoding.html: * storage/indexeddb/intversion-gated-on-delete.html: * storage/indexeddb/intversion-long-queue.html: * storage/indexeddb/intversion-omit-parameter.html: * storage/indexeddb/intversion-open-in-upgradeneeded.html: * storage/indexeddb/intversion-open-with-version.html: * storage/indexeddb/intversion-persistence.html: * storage/indexeddb/intversion-revert-on-abort.html: * storage/indexeddb/intversion-two-opens-no-versions.html: * storage/indexeddb/intversion-upgrades.html: * storage/indexeddb/invalid-keys.html: * storage/indexeddb/key-generator.html: * storage/indexeddb/key-sort-order-across-types.html: * storage/indexeddb/key-sort-order-date.html: * storage/indexeddb/key-type-array.html: * storage/indexeddb/key-type-infinity.html: * storage/indexeddb/keypath-arrays.html: * storage/indexeddb/keypath-basics.html: * storage/indexeddb/keypath-edges.html: * storage/indexeddb/keypath-fetch-key.html: * storage/indexeddb/keypath-intrinsic-properties.html: * storage/indexeddb/keyrange-required-arguments.html: * storage/indexeddb/keyrange.html: * storage/indexeddb/lazy-index-population.html: * storage/indexeddb/lazy-index-types.html: * storage/indexeddb/legacy-constants.html: * storage/indexeddb/list-ordering.html: * storage/indexeddb/metadata.html: * storage/indexeddb/mozilla/add-twice-failure.html: * storage/indexeddb/mozilla/autoincrement-indexes.html: * storage/indexeddb/mozilla/bad-keypath.html: * storage/indexeddb/mozilla/clear.html: * storage/indexeddb/mozilla/create-index-unique.html: * storage/indexeddb/mozilla/create-index-with-integer-keys.html: * storage/indexeddb/mozilla/create-objectstore-basics.html: * storage/indexeddb/mozilla/create-objectstore-null-name.html: * storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html: * storage/indexeddb/mozilla/cursor-mutation.html: * storage/indexeddb/mozilla/cursor-update-updates-indexes.html: * storage/indexeddb/mozilla/cursors.html: * storage/indexeddb/mozilla/delete-result.html: * storage/indexeddb/mozilla/event-source.html: * storage/indexeddb/mozilla/global-data.html: * storage/indexeddb/mozilla/index-prev-no-duplicate.html: * storage/indexeddb/mozilla/indexes.html: * storage/indexeddb/mozilla/key-requirements-delete-null-key.html: * storage/indexeddb/mozilla/key-requirements-inline-and-passed.html: * storage/indexeddb/mozilla/key-requirements-put-no-key.html: * storage/indexeddb/mozilla/key-requirements-put-null-key.html: * storage/indexeddb/mozilla/key-requirements.html: * storage/indexeddb/mozilla/object-cursors.html: * storage/indexeddb/mozilla/object-identity.html: * storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html: * storage/indexeddb/mozilla/object-store-remove-values.html: * storage/indexeddb/mozilla/objectstorenames.html: * storage/indexeddb/mozilla/odd-result-order.html: * storage/indexeddb/mozilla/open-database-null-name.html: * storage/indexeddb/mozilla/put-get-values.html: * storage/indexeddb/mozilla/readonly-transactions.html: * storage/indexeddb/mozilla/readwrite-transactions.html: * storage/indexeddb/mozilla/readyState.html: * storage/indexeddb/mozilla/remove-index.html: * storage/indexeddb/mozilla/remove-objectstore.html: * storage/indexeddb/mozilla/resources/add-twice-failure.js: * storage/indexeddb/mozilla/resources/autoincrement-indexes.js: * storage/indexeddb/mozilla/resources/bad-keypath.js: * storage/indexeddb/mozilla/resources/clear.js: * storage/indexeddb/mozilla/resources/create-index-unique.js: * storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js: * storage/indexeddb/mozilla/resources/create-objectstore-basics.js: * storage/indexeddb/mozilla/resources/create-objectstore-null-name.js: * storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js: * storage/indexeddb/mozilla/resources/cursor-mutation.js: * storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js: * storage/indexeddb/mozilla/resources/cursors.js: * storage/indexeddb/mozilla/resources/delete-result.js: * storage/indexeddb/mozilla/resources/event-source.js: * storage/indexeddb/mozilla/resources/global-data.js: * storage/indexeddb/mozilla/resources/indexes.js: * storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js: * storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js: * storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js: * storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js: * storage/indexeddb/mozilla/resources/key-requirements.js: * storage/indexeddb/mozilla/resources/object-cursors.js: * storage/indexeddb/mozilla/resources/object-identity.js: * storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js: * storage/indexeddb/mozilla/resources/object-store-remove-values.js: * storage/indexeddb/mozilla/resources/objectstorenames.js: * storage/indexeddb/mozilla/resources/odd-result-order.js: * storage/indexeddb/mozilla/resources/open-database-null-name.js: * storage/indexeddb/mozilla/resources/put-get-values.js: * storage/indexeddb/mozilla/resources/readonly-transactions.js: * storage/indexeddb/mozilla/resources/readwrite-transactions.js: * storage/indexeddb/mozilla/resources/readyState.js: * storage/indexeddb/mozilla/resources/remove-index.js: * storage/indexeddb/mozilla/resources/remove-objectstore.js: * storage/indexeddb/mozilla/resources/versionchange-abort.js: * storage/indexeddb/mozilla/versionchange-abort.html: * storage/indexeddb/mutating-cursor.html: * storage/indexeddb/noblobs.html: * storage/indexeddb/object-lookups-in-versionchange.html: * storage/indexeddb/objectStore-required-arguments.html: * storage/indexeddb/objectstore-autoincrement.html: * storage/indexeddb/objectstore-basics-workers.html: * storage/indexeddb/objectstore-basics.html: * storage/indexeddb/objectstore-clear.html: * storage/indexeddb/objectstore-count.html: * storage/indexeddb/objectstore-cursor.html: * storage/indexeddb/objectstore-removeobjectstore.html: * storage/indexeddb/odd-strings.html: * storage/indexeddb/open-bad-versions.html: * storage/indexeddb/open-cursor.html: * storage/indexeddb/open-during-transaction.html: * storage/indexeddb/open-ordering.html: * storage/indexeddb/open-twice-workers.html: * storage/indexeddb/opencursor-key.html: * storage/indexeddb/pending-activity-workers.html: * storage/indexeddb/pending-activity.html: * storage/indexeddb/pending-version-change-on-exit.html: * storage/indexeddb/pending-version-change-stuck-works-with-terminate.html: * storage/indexeddb/pending-version-change-stuck.html: * storage/indexeddb/persistence.html: * storage/indexeddb/prefetch-bugfix-108071.html: * storage/indexeddb/queued-commands.html: * storage/indexeddb/readonly-properties.html: * storage/indexeddb/readonly.html: * storage/indexeddb/removed.html: * storage/indexeddb/request-continue-abort.html: * storage/indexeddb/request-event-propagation.html: * storage/indexeddb/resources/aborted-versionchange-closes.js: * storage/indexeddb/resources/basics.js: * storage/indexeddb/resources/create-and-remove-object-store.js: * storage/indexeddb/resources/create-object-store-options.js: * storage/indexeddb/resources/createIndex-after-failure.js: * storage/indexeddb/resources/createObjectStore-name-argument-required.js: * storage/indexeddb/resources/createObjectStore-null-name.js: * storage/indexeddb/resources/cursor-added-bug.js: * storage/indexeddb/resources/cursor-advance.js: * storage/indexeddb/resources/cursor-continue-dir.js: * storage/indexeddb/resources/cursor-continue-validity.js: * storage/indexeddb/resources/cursor-continue.js: * storage/indexeddb/resources/cursor-delete.js: * storage/indexeddb/resources/cursor-inconsistency.js: * storage/indexeddb/resources/cursor-index-delete.js: * storage/indexeddb/resources/cursor-key-order.js: * storage/indexeddb/resources/cursor-prev-no-duplicate.js: * storage/indexeddb/resources/cursor-primary-key-order.js: * storage/indexeddb/resources/cursor-properties.js: * storage/indexeddb/resources/cursor-reverse-bug.js: * storage/indexeddb/resources/cursor-skip-deleted.js: * storage/indexeddb/resources/cursor-update-value-argument-required.js: * storage/indexeddb/resources/cursor-update.js: * storage/indexeddb/resources/cursor-value.js: * storage/indexeddb/resources/data-corruption.js: * storage/indexeddb/resources/database-basics.js: * storage/indexeddb/resources/database-close.js: * storage/indexeddb/resources/database-closepending-flag.js: * storage/indexeddb/resources/database-deletepending-flag.js: * storage/indexeddb/resources/database-name-undefined.js: * storage/indexeddb/resources/database-odd-names.js: * storage/indexeddb/resources/database-quota.js: * storage/indexeddb/resources/database-wrapper.js: * storage/indexeddb/resources/delete-closed-database-object.js: * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js: * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js: * storage/indexeddb/resources/delete-range.js: * storage/indexeddb/resources/deleteIndex.js: * storage/indexeddb/resources/deleteObjectStore-name-argument-required.js: * storage/indexeddb/resources/deleteObjectStore-null-name.js: * storage/indexeddb/resources/deleted-objects.js: * storage/indexeddb/resources/deletedatabase-blocked.js: * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js: * storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js: * storage/indexeddb/resources/deletedatabase-not-blocked.js: * storage/indexeddb/resources/dont-commit-on-blocked-worker.js: * storage/indexeddb/resources/dont-wedge.js: * storage/indexeddb/resources/duplicates.js: * storage/indexeddb/resources/error-causes-abort-by-default.js: * storage/indexeddb/resources/events.js: * storage/indexeddb/resources/exception-in-event-aborts.js: * storage/indexeddb/resources/exceptions.js: * storage/indexeddb/resources/factory-basics.js: * storage/indexeddb/resources/factory-cmp.js: * storage/indexeddb/resources/factory-deletedatabase.js: * storage/indexeddb/resources/get-keyrange.js: * storage/indexeddb/resources/index-basics.js: * storage/indexeddb/resources/index-count.js: * storage/indexeddb/resources/index-cursor.js: * storage/indexeddb/resources/index-duplicate-keypaths.js: * storage/indexeddb/resources/index-get-key-argument-required.js: * storage/indexeddb/resources/index-multientry.js: * storage/indexeddb/resources/index-population.js: * storage/indexeddb/resources/index-unique.js: * storage/indexeddb/resources/interfaces.js: * storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js: * storage/indexeddb/resources/intversion-bad-parameters.js: * storage/indexeddb/resources/intversion-blocked.js: * storage/indexeddb/resources/intversion-close-between-events.js: * storage/indexeddb/resources/intversion-close-in-oncomplete.js: * storage/indexeddb/resources/intversion-close-in-upgradeneeded.js: * storage/indexeddb/resources/intversion-encoding.js: * storage/indexeddb/resources/intversion-gated-on-delete.js: * storage/indexeddb/resources/intversion-long-queue.js: * storage/indexeddb/resources/intversion-omit-parameter.js: * storage/indexeddb/resources/intversion-open-in-upgradeneeded.js: * storage/indexeddb/resources/intversion-open-with-version.js: * storage/indexeddb/resources/intversion-persistence.js: * storage/indexeddb/resources/intversion-revert-on-abort.js: * storage/indexeddb/resources/intversion-two-opens-no-versions.js: * storage/indexeddb/resources/intversion-upgrades.js: * storage/indexeddb/resources/invalid-keys.js: * storage/indexeddb/resources/key-generator.js: * storage/indexeddb/resources/key-sort-order-across-types.js: * storage/indexeddb/resources/key-sort-order-date.js: * storage/indexeddb/resources/key-type-array.js: * storage/indexeddb/resources/key-type-infinity.js: * storage/indexeddb/resources/keypath-arrays.js: * storage/indexeddb/resources/keypath-basics.js: * storage/indexeddb/resources/keypath-edges.js: * storage/indexeddb/resources/keypath-fetch-key.js: * storage/indexeddb/resources/keypath-intrinsic-properties.js: * storage/indexeddb/resources/keyrange-required-arguments.js: * storage/indexeddb/resources/keyrange.js: * storage/indexeddb/resources/lazy-index-types.js: * storage/indexeddb/resources/legacy-constants.js: * storage/indexeddb/resources/list-ordering.js: * storage/indexeddb/resources/metadata.js: * storage/indexeddb/resources/mutating-cursor.js: * storage/indexeddb/resources/objectStore-required-arguments.js: * storage/indexeddb/resources/objectstore-autoincrement.js: * storage/indexeddb/resources/objectstore-basics.js: * storage/indexeddb/resources/objectstore-clear.js: * storage/indexeddb/resources/objectstore-count.js: * storage/indexeddb/resources/objectstore-cursor.js: * storage/indexeddb/resources/objectstore-removeobjectstore.js: * storage/indexeddb/resources/odd-strings.js: * storage/indexeddb/resources/open-cursor.js: * storage/indexeddb/resources/open-during-transaction.js: * storage/indexeddb/resources/open-ordering.js: * storage/indexeddb/resources/open-twice.js: * storage/indexeddb/resources/opencursor-key.js: * storage/indexeddb/resources/pending-activity.js: * storage/indexeddb/resources/pending-version-change-on-exit.js: * storage/indexeddb/resources/pending-version-change-stuck.js: * storage/indexeddb/resources/persistence.js: * storage/indexeddb/resources/prefetch-bugfix-108071.js: * storage/indexeddb/resources/queued-commands.js: * storage/indexeddb/resources/readonly-properties.js: * storage/indexeddb/resources/readonly.js: * storage/indexeddb/resources/removed.js: * storage/indexeddb/resources/request-continue-abort.js: * storage/indexeddb/resources/request-event-propagation.js: * storage/indexeddb/resources/set_version_blocked.js: * storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js: * storage/indexeddb/resources/setversion-not-blocked.js: * storage/indexeddb/resources/transaction-abort.js: * storage/indexeddb/resources/transaction-active-flag.js: * storage/indexeddb/resources/transaction-after-close.js: * storage/indexeddb/resources/transaction-and-objectstore-calls.js: * storage/indexeddb/resources/transaction-basics.js: * storage/indexeddb/resources/transaction-complete-workers.js: * storage/indexeddb/resources/transaction-coordination-across-databases.js: * storage/indexeddb/resources/transaction-coordination-within-database.js: * storage/indexeddb/resources/transaction-crash-on-abort.js: * storage/indexeddb/resources/transaction-error.js: * storage/indexeddb/resources/transaction-event-propagation.js: * storage/indexeddb/resources/transaction-read-only.js: * storage/indexeddb/resources/transaction-readwrite-exclusive.js: * storage/indexeddb/resources/transaction-rollback.js: * storage/indexeddb/resources/transaction-scope-sequencing.js: * storage/indexeddb/resources/transaction-starvation.js: * storage/indexeddb/resources/transaction-storeNames-required.js: * storage/indexeddb/resources/unblocked-version-changes.js: * storage/indexeddb/resources/unprefix.js: * storage/indexeddb/resources/value-undefined.js: * storage/indexeddb/resources/values-odd-types.js: * storage/indexeddb/resources/version-change-abort.js: * storage/indexeddb/resources/version-change-exclusive.js: * storage/indexeddb/resources/versionchangerequest-activedomobject.js: * storage/indexeddb/set_version_blocked.html: * storage/indexeddb/setversion-blocked-by-versionchange-close.html: * storage/indexeddb/setversion-not-blocked.html: * storage/indexeddb/structured-clone.html: * storage/indexeddb/transaction-abort.html: * storage/indexeddb/transaction-active-flag.html: * storage/indexeddb/transaction-after-close.html: * storage/indexeddb/transaction-and-objectstore-calls.html: * storage/indexeddb/transaction-basics.html: * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html: * storage/indexeddb/transaction-complete-with-js-recursion.html: * storage/indexeddb/transaction-complete-workers.html: * storage/indexeddb/transaction-coordination-across-databases.html: * storage/indexeddb/transaction-coordination-within-database.html: * storage/indexeddb/transaction-crash-in-tasks.html: * storage/indexeddb/transaction-crash-on-abort.html: * storage/indexeddb/transaction-error.html: * storage/indexeddb/transaction-event-propagation.html: * storage/indexeddb/transaction-read-only.html: * storage/indexeddb/transaction-readwrite-exclusive.html: * storage/indexeddb/transaction-rollback.html: * storage/indexeddb/transaction-scope-sequencing.html: * storage/indexeddb/transaction-starvation.html: * storage/indexeddb/transaction-storeNames-required.html: * storage/indexeddb/unblocked-version-changes.html: * storage/indexeddb/unprefix-workers.html: * storage/indexeddb/unprefix.html: * storage/indexeddb/value-undefined.html: * storage/indexeddb/values-odd-types.html: * storage/indexeddb/version-change-abort.html: * storage/indexeddb/version-change-exclusive.html: * storage/indexeddb/versionchangerequest-activedomobject.html: * storage/script-tests/TEMPLATE.html: * storage/storageinfo-missing-arguments.html: * storage/storageinfo-no-callbacks.html: * storage/storageinfo-query-usage.html: * storage/storageinfo-request-quota.html: * storage/storagequota-query-usage.html: * storage/storagequota-request-quota.html: * storage/websql/execute-sql-rowsAffected.html: * svg/animations/accumulate-values-width-animation.html: * svg/animations/additive-from-to-width-animation.html: * svg/animations/additive-type-by-animation.html: * svg/animations/additive-values-width-animation.html: * svg/animations/animVal-basics.html: * svg/animations/animate-calcMode-spline-by.html: * svg/animations/animate-calcMode-spline-from-by.html: * svg/animations/animate-calcMode-spline-from-to.html: * svg/animations/animate-calcMode-spline-to.html: * svg/animations/animate-calcMode-spline-values.html: * svg/animations/animate-color-calcMode-discrete.html: * svg/animations/animate-color-fill-currentColor.html: * svg/animations/animate-color-fill-from-by.html: * svg/animations/animate-color-rgba-calcMode-discrete.html: * svg/animations/animate-color-transparent.html: * svg/animations/animate-css-xml-attributeType.html: * svg/animations/animate-currentColor.html: * svg/animations/animate-dynamic-update-attributeName.html: * svg/animations/animate-elem-02-t-drt.html: * svg/animations/animate-elem-03-t-drt.html: * svg/animations/animate-elem-04-t-drt.html: * svg/animations/animate-elem-05-t-drt.html: * svg/animations/animate-elem-06-t-drt.html: * svg/animations/animate-elem-07-t-drt.html: * svg/animations/animate-elem-08-t-drt.html: * svg/animations/animate-elem-09-t-drt.html: * svg/animations/animate-elem-10-t-drt.html: * svg/animations/animate-elem-11-t-drt.html: * svg/animations/animate-elem-12-t-drt.html: * svg/animations/animate-elem-13-t-drt.html: * svg/animations/animate-elem-14-t-drt.html: * svg/animations/animate-elem-15-t-drt.html: * svg/animations/animate-elem-16-t-drt.html: * svg/animations/animate-elem-17-t-drt.html: * svg/animations/animate-elem-18-t-drt.html: * svg/animations/animate-elem-19-t-drt.html: * svg/animations/animate-end-attribute-numeric-precision.html: * svg/animations/animate-end-attribute.html: * svg/animations/animate-endElement-beginElement.html: * svg/animations/animate-from-to-keyTimes.html: * svg/animations/animate-gradient-transform.html: * svg/animations/animate-inherit-css-property.html: * svg/animations/animate-insert-begin.html: * svg/animations/animate-insert-no-begin.html: * svg/animations/animate-keySplines.html: * svg/animations/animate-marker-orient-from-angle-to-angle.html: * svg/animations/animate-marker-orient-from-angle-to-auto.html: * svg/animations/animate-marker-orient-to-angle.html: * svg/animations/animate-mpath-insert.html: * svg/animations/animate-number-calcMode-discrete-keyTimes.html: * svg/animations/animate-number-calcMode-discrete.html: * svg/animations/animate-path-animation-Cc-Ss.html: * svg/animations/animate-path-animation-Ll-Vv-Hh.html: * svg/animations/animate-path-animation-Qq-Tt.html: * svg/animations/animate-path-animation-cC-sS-inverse.html: * svg/animations/animate-path-animation-lL-vV-hH-inverse.html: * svg/animations/animate-path-animation-qQ-tT-inverse.html: * svg/animations/animate-path-nested-transforms.html: * svg/animations/animate-path-to-animation.html: * svg/animations/animate-reset-freeze.html: * svg/animations/animate-setcurrenttime.html: * svg/animations/animate-text-nested-transforms.html: * svg/animations/animateTransform-pattern-transform.html: * svg/animations/animateTransform-translate-attributetype-auto.html: * svg/animations/animateTransform-translate-invalid-attributetype.html: * svg/animations/attributeTypes.html: * svg/animations/change-baseVal-while-animating-fill-freeze-2.html: * svg/animations/change-baseVal-while-animating-fill-freeze.html: * svg/animations/change-baseVal-while-animating-fill-remove-2.html: * svg/animations/change-baseVal-while-animating-fill-remove.html: * svg/animations/change-css-property-while-animating-fill-freeze.html: * svg/animations/change-css-property-while-animating-fill-remove.html: * svg/animations/change-target-while-animating-SVG-property.html: * svg/animations/deferred-insertion.html: * svg/animations/dynamic-modify-attributename-crash2.svg: * svg/animations/force-use-shadow-tree-recreation-while-animating.html: * svg/animations/multiple-animations-ending.html: * svg/animations/multiple-animations-fill-freeze.html: * svg/animations/multiple-begin-additive-animation.html: * svg/animations/non-additive-type-by-animation.html: * svg/animations/non-additive-type-from-by-animation.html: * svg/animations/reinserting-svg-into-document.html: * svg/animations/remove-animation-element-while-animation-is-running.html: * svg/animations/single-values-animation.html: * svg/animations/svgPreserveAspectRatio-animation-1.html: * svg/animations/svgangle-animation-deg-to-grad.html: * svg/animations/svgangle-animation-deg-to-rad.html: * svg/animations/svgangle-animation-grad-to-deg.html: * svg/animations/svgangle-animation-grad-to-rad.html: * svg/animations/svgangle-animation-rad-to-deg.html: * svg/animations/svgangle-animation-rad-to-grad.html: * svg/animations/svgboolean-animation-1.html: * svg/animations/svgenum-animation-1.html: * svg/animations/svgenum-animation-10.html: * svg/animations/svgenum-animation-11.html: * svg/animations/svgenum-animation-12.html: * svg/animations/svgenum-animation-13.html: * svg/animations/svgenum-animation-2.html: * svg/animations/svgenum-animation-3.html: * svg/animations/svgenum-animation-4.html: * svg/animations/svgenum-animation-5.html: * svg/animations/svgenum-animation-6.html: * svg/animations/svgenum-animation-7.html: * svg/animations/svgenum-animation-8.html: * svg/animations/svgenum-animation-9.html: * svg/animations/svginteger-animation-1.html: * svg/animations/svginteger-animation-2.html: * svg/animations/svglength-additive-by-1.html: * svg/animations/svglength-additive-by-2.html: * svg/animations/svglength-additive-by-3.html: * svg/animations/svglength-additive-by-4.html: * svg/animations/svglength-additive-by-5.html: * svg/animations/svglength-additive-by-6.html: * svg/animations/svglength-additive-from-by-1.html: * svg/animations/svglength-additive-from-by-2.html: * svg/animations/svglength-additive-from-by-3.html: * svg/animations/svglength-additive-from-by-4.html: * svg/animations/svglength-animation-LengthModeHeight.html: * svg/animations/svglength-animation-LengthModeOther.html: * svg/animations/svglength-animation-LengthModeWidth.html: * svg/animations/svglength-animation-invalid-value-1.html: * svg/animations/svglength-animation-invalid-value-2.html: * svg/animations/svglength-animation-invalid-value-3.html: * svg/animations/svglength-animation-number-to-number.html: * svg/animations/svglength-animation-px-to-cm.html: * svg/animations/svglength-animation-px-to-ems.html: * svg/animations/svglength-animation-px-to-exs.html: * svg/animations/svglength-animation-px-to-in.html: * svg/animations/svglength-animation-px-to-number.html: * svg/animations/svglength-animation-px-to-pc.html: * svg/animations/svglength-animation-px-to-percentage.html: * svg/animations/svglength-animation-px-to-pt.html: * svg/animations/svglength-animation-px-to-px.html: * svg/animations/svglength-animation-unitType.html: * svg/animations/svglength-animation-values.html: * svg/animations/svglengthlist-animation-1.html: * svg/animations/svglengthlist-animation-2.html: * svg/animations/svglengthlist-animation-3.html: * svg/animations/svglengthlist-animation-4.html: * svg/animations/svglengthlist-animation-5.html: * svg/animations/svgnumber-animation-1.html: * svg/animations/svgnumber-animation-2.html: * svg/animations/svgnumber-animation-3.html: * svg/animations/svgnumber-animation-4.html: * svg/animations/svgnumberlist-animation-1.html: * svg/animations/svgnumberlist-animation-2.html: * svg/animations/svgnumberoptionalnumber-animation-1.html: * svg/animations/svgnumberoptionalnumber-animation-2.html: * svg/animations/svgnumberoptionalnumber-animation-3.html: * svg/animations/svgnumberoptionalnumber-animation-4.html: * svg/animations/svgpath-animation-1.html: * svg/animations/svgpointlist-animation-1.html: * svg/animations/svgpointlist-animation-2.html: * svg/animations/svgrect-animation-1.html: * svg/animations/svgrect-animation-2.html: * svg/animations/svgstring-animation-1.html: * svg/animations/svgstring-animation-fallback-to-discrete.html: * svg/animations/svgtransform-animation-1.html: * svg/animations/svgtransform-animation-discrete.html: * svg/animations/use-animate-transform-and-position.html: * svg/as-image/svg-canvas-link-not-colored.html: * svg/as-image/svg-canvas-xhtml-tainted.html: * svg/as-image/svg-container-size-after-reload.html: * svg/as-object/embedded-svg-immediate-offsetWidth-query.html: * svg/as-object/embedded-svg-size-changes.html: * svg/as-object/nested-embedded-svg-size-changes.html: * svg/css/buffered-rendering.html: * svg/css/case-sensitive-attrname-selectors.html: * svg/css/glyph-orientation-rounding-test.xhtml: * svg/css/mask-type.html: * svg/css/rect-system-color.xhtml: * svg/css/scientific-numbers.html: * svg/css/svg-attribute-length-parsing.html: * svg/css/svg-attribute-parser-mode.html: * svg/custom/SVGException.html: * svg/custom/acid3-test-77.html: * svg/custom/currentColor-on-color.html: * svg/custom/document-all-includes-svg.html: * svg/custom/focus-event-handling-keyboard.xhtml: * svg/custom/focus-event-handling.xhtml: * svg/custom/frame-getSVGDocument.html: * svg/custom/getBoundingClientRect.xhtml: * svg/custom/getSubStringLength.html: * svg/custom/global-constructors.html: * svg/custom/immutable-properties.html: * svg/custom/invalid-length-units.html: * svg/custom/loadevents-async.html: * svg/custom/poly-parsing-error.html: * svg/custom/script-tests/TEMPLATE.html: * svg/custom/selectSubString.html: * svg/custom/svg-createsvgtransform-type.html: * svg/custom/svg-fonts-in-text-controls.html: * svg/custom/svg-getelementid.xhtml: * svg/custom/svg-modify-currentTranslate.html: * svg/custom/svg-viewBox-dynamic.html: * svg/custom/svg-xml-dom-sync.html: * svg/custom/tearoffs-with-tearoffs.html: * svg/custom/use-href-update-crash.svg: * svg/custom/use-instanceRoot-as-event-target.xhtml: * svg/custom/use-instanceRoot-event-bubbling.xhtml: * svg/custom/use-instanceRoot-event-listeners.xhtml: * svg/custom/window-named-item-lookup.html: * svg/dom/SVGAngle.html: * svg/dom/SVGAnimatedAngle.html: * svg/dom/SVGAnimatedBoolean.html: * svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html: * svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html: * svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html: * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html: * svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html: * svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html: * svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html: * svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html: * svg/dom/SVGAnimatedEnumeration.html: * svg/dom/SVGAnimatedInteger.html: * svg/dom/SVGAnimatedLength.html: * svg/dom/SVGAnimatedLengthList.html: * svg/dom/SVGAnimatedNumber.html: * svg/dom/SVGAnimatedNumberList.html: * svg/dom/SVGAnimatedPreserveAspectRatio.html: * svg/dom/SVGAnimatedRect.html: * svg/dom/SVGColor.html: * svg/dom/SVGLength-px-with-context.html: * svg/dom/SVGLength-px.html: * svg/dom/SVGLength.html: * svg/dom/SVGLengthList-appendItem.xhtml: * svg/dom/SVGLengthList-basics.xhtml: * svg/dom/SVGLengthList-getItem.xhtml: * svg/dom/SVGLengthList-initialize.xhtml: * svg/dom/SVGLengthList-insertItemBefore.xhtml: * svg/dom/SVGLengthList-removeItem.xhtml: * svg/dom/SVGLengthList-replaceItem.xhtml: * svg/dom/SVGLengthList-xml-dom-modifications.xhtml: * svg/dom/SVGLocatable-getCTM-svg-root.html: * svg/dom/SVGMatrix-interface.xhtml: * svg/dom/SVGMatrix.html: * svg/dom/SVGNumber.html: * svg/dom/SVGNumberList-basics.xhtml: * svg/dom/SVGPaint.html: * svg/dom/SVGPathSegList-appendItem.xhtml: * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: * svg/dom/SVGPathSegList-insertItemBefore.xhtml: * svg/dom/SVGPathSegList-removeItem.xhtml: * svg/dom/SVGPathSegList-replaceItem.xhtml: * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: * svg/dom/SVGPoint.html: * svg/dom/SVGPointList-basics.xhtml: * svg/dom/SVGPreserveAspectRatio.html: * svg/dom/SVGRect.html: * svg/dom/SVGStringList-basics.xhtml: * svg/dom/SVGStringList.html: * svg/dom/SVGStyleElement/disable-svg-style-element.html: * svg/dom/SVGStyleElement/script-tests/TEMPLATE.html: * svg/dom/SVGStyleElement/style-langspace.html: * svg/dom/SVGTransform.html: * svg/dom/SVGTransformList-basics.xhtml: * svg/dom/SVGTransformList.html: * svg/dom/SVGViewSpec-defaults.html: * svg/dom/SVGViewSpec-invalid-ref-crash.html: * svg/dom/SVGViewSpec.html: * svg/dom/altGlyph-dom.xhtml: * svg/dom/baseVal-animVal-crash.html: * svg/dom/css-transforms.xhtml: * svg/dom/feFlood-no-in1.html: * svg/dom/font-face-elements.html: * svg/dom/fuzz-path-parser.html: * svg/dom/getElementsByTagName-localName-matching.html: * svg/dom/id-reflect.html: * svg/dom/length-list-parser.html: * svg/dom/operatorAttribute.html: * svg/dom/path-parser.html: * svg/dom/path-pointAtLength.html: * svg/dom/path-segments.html: * svg/dom/path-totalLength.html: * svg/dom/points-parser.html: * svg/dom/preserve-aspect-ratio-parser.html: * svg/dom/resources/viewspec-parser.js: (continueFuzzing): * svg/dom/rgb-color-parser.html: * svg/dom/script-tests/SVGViewSpec.js: (completeTest): * svg/dom/script-tests/TEMPLATE.html: * svg/dom/string-list-parser.html: * svg/dom/style-reflect.html: * svg/dom/svg2-inheritance.html: * svg/dom/svglist-exception-on-out-bounds-error.html: * svg/dom/svglist-insertItemBefore-appends.html: * svg/dom/svgpath-getPathSegAtLength.html: * svg/dom/svgpath-out-of-bounds-getPathSeg.html: * svg/dom/text-rotate-live.html: * svg/dom/transform-parser.html: * svg/dom/viewspec-parser-1.html: * svg/dom/viewspec-parser-2.html: * svg/dom/viewspec-parser-3.html: * svg/dom/viewspec-parser-4.html: * svg/dom/viewspec-parser-5.html: * svg/dom/viewspec-parser-6.html: * svg/dom/viewspec-parser-7.html: * svg/dynamic-updates/SVG-dynamic-css-transform.html: * svg/dynamic-updates/SVGAElement-dom-href-attr.html: * svg/dynamic-updates/SVGAElement-dom-target-attr.html: * svg/dynamic-updates/SVGAElement-svgdom-href-prop.html: * svg/dynamic-updates/SVGAElement-svgdom-target-prop.html: * svg/dynamic-updates/SVGCircleElement-dom-cx-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-cy-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-r-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGCircleElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-r-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGClipPath-influences-hitTesting.html: * svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html: * svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html: * svg/dynamic-updates/SVGClipPathElement-svgdom-clipPathUnits-prop.html: * svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html: * svg/dynamic-updates/SVGCursorElement-dom-x-attr.html: * svg/dynamic-updates/SVGCursorElement-dom-y-attr.html: * svg/dynamic-updates/SVGCursorElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGCursorElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGEllipseElement-dom-cx-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-cy-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGEllipseElement-dom-rx-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-ry-attr.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-rx-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-ry-prop.html: * svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-amplitude-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-exponent-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-intercept-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-offset-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-slope-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-type-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-amplitude-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-exponent-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-intercept-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-offset-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-slope-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html: * svg/dynamic-updates/SVGFEDistantLightElement-dom-azimuth-attr.html: * svg/dynamic-updates/SVGFEDistantLightElement-dom-elevation-attr.html: * svg/dynamic-updates/SVGFEDistantLightElement-svgdom-azimuth-prop.html: * svg/dynamic-updates/SVGFEDistantLightElement-svgdom-elevation-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html: * svg/dynamic-updates/SVGFEFloodElement-dom-flood-color-attr.html: * svg/dynamic-updates/SVGFEFloodElement-dom-flood-opacity-attr.html: * svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html: * svg/dynamic-updates/SVGFEFloodElement-svgdom-flood-color-prop.html: * svg/dynamic-updates/SVGFEFloodElement-svgdom-flood-opacity-prop.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html: * svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html: * svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-x-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-y-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-z-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-z-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html: * svg/dynamic-updates/SVGFETileElement-dom-in-attr.html: * svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-height-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-width-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-x-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-y-attr.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-dom-height-attr.html: * svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html: * svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-dom-width-attr.html: * svg/dynamic-updates/SVGImageElement-dom-x-attr.html: * svg/dynamic-updates/SVGImageElement-dom-y-attr.html: * svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGLineElement-dom-x1-attr.html: * svg/dynamic-updates/SVGLineElement-dom-x2-attr.html: * svg/dynamic-updates/SVGLineElement-dom-y1-attr.html: * svg/dynamic-updates/SVGLineElement-dom-y2-attr.html: * svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGLineElement-svgdom-x1-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-x2-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-y1-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-y2-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-gradientTransform-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-gradientUnits-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-x1-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-x2-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-y1-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-y2-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientUnits-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-x1-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-x2-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-y1-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-y2-prop.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html: * svg/dynamic-updates/SVGMaskElement-dom-height-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-width-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-x-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-y-attr.html: * svg/dynamic-updates/SVGMaskElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGPatternElement-dom-height-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-width-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-x-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-y-attr.html: * svg/dynamic-updates/SVGPatternElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop.html: * svg/dynamic-updates/SVGRectElement-dom-height-attr.html: * svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGRectElement-dom-width-attr.html: * svg/dynamic-updates/SVGRectElement-dom-x-attr.html: * svg/dynamic-updates/SVGRectElement-dom-y-attr.html: * svg/dynamic-updates/SVGRectElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGRectElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGTRefElement-dom-href-attr.html: * svg/dynamic-updates/SVGTextElement-dom-dx-attr.html: * svg/dynamic-updates/SVGTextElement-dom-dy-attr.html: * svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html: * svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGTextElement-dom-rotate-attr.html: * svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html: * svg/dynamic-updates/SVGTextElement-dom-transform-attr.html: * svg/dynamic-updates/SVGTextElement-dom-x-attr.html: * svg/dynamic-updates/SVGTextElement-dom-y-attr.html: * svg/dynamic-updates/SVGTextElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: * svg/dynamic-updates/SVGUseElement-dom-href2-attr.html: * svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html: * svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html: * svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/resources/SVGTestCase.js: (completeTest): * svg/foreignObject/absolute-position-foreign-object-child-crash.html: * svg/in-html/script-external.html: * svg/in-html/script-nested.html: * svg/in-html/script-write.html: * svg/in-html/script.html: * svg/text/lengthAdjust-text-metrics.html: * svg/text/script-tests/TEMPLATE.html: * svg/text/text-rect-precision.html: * svg/zoom/page/zoom-get-screen-ctm.html: * svg/zoom/page/zoom-getBoundingClientRect.xhtml: * svg/zoom/page/zoom-zoom-coords.xhtml: * svg/zoom/resources/testPageZoom.js: (completeDynamicTest): Canonical link: https://commits.webkit.org/138888@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-08 05:29:22 +00:00
<script src="../../resources/js-test-pre.js"></script>
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Tests: svg/dom/SVGLengthList-appendItem.xhtml svg/dom/SVGLengthList-basics.xhtml svg/dom/SVGLengthList-getItem.xhtml svg/dom/SVGLengthList-initialize.xhtml svg/dom/SVGLengthList-insertItemBefore.xhtml svg/dom/SVGLengthList-removeItem.xhtml svg/dom/SVGLengthList-replaceItem.xhtml svg/dom/SVGLengthList-xml-dom-modifications.xhtml Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings. Concrete example: The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'. Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations), both of type 'SVGLength'. These objects are all _live_. That means you can do: var foobar = rect.x.baseVal; foobar.value += 150; If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all. In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>. When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength). This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM. Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly. The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement). Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper. It works like this: A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute. It also stores a RefPtr to the SVGElement that created it. In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength> object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap. The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList). SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr. The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example: When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr. When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement. Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods. This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail). The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.) is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all. SVGLengthList is live just like most other SVG DOM object. Concrete example: var item0 = text.x.baseVal.getItem(0); item0.value += 150; Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object around the real object 'SVGLength'. This complexity is completly gone. The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength> wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized. The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases. This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept. This will change in follow-up patches. * GNUmakefile.am: Add new files from svg/properties to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::JSSVGLength::value): (WebCore::JSSVGLength::convertToSpecifiedUnits): * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList". * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C). * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::V8SVGLength::valueAccessorGetter): (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimatedLength.h: Added. * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty]. * svg/SVGAnimatedLengthList.h: Added. * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty]. * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGCursorElement.h: Ditto. * svg/SVGEllipseElement.h: Ditto. * svg/SVGFilterElement.h: Ditto. * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto. * svg/SVGForeignObjectElement.h: Ditto. * svg/SVGImageElement.h: Ditto. * svg/SVGLength.idl: Mark as [SVGProperty]. * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now. (WebCore::SVGLengthList::parse): (WebCore::SVGLengthList::valueAsString): * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now. (WebCore::SVGLengthList::SVGLengthList): * svg/SVGLengthList.idl: Mark as [SVGListProperty]. * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGLinearGradientElement.h: Ditto. * svg/SVGMarkerElement.h: Ditto. * svg/SVGMaskElement.h: Ditto. * svg/SVGPatternElement.h: Ditto. * svg/SVGRadialGradientElement.h: Ditto. * svg/SVGRectElement.h: Ditto. * svg/SVGSVGElement.h: Ditto. * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created. * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGTextPathElement.h: Ditto. * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM. (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now. * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGUseElement.h: * svg/properties/SVGAnimatedListPropertyTearOff.h: Added. * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff. * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h. * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished. * svg/properties/SVGAnimatedPropertyTearOff.h: Added. * svg/properties/SVGListPropertyTearOff.h: Added. * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff. * svg/properties/SVGPropertyTearOff.h: Added. * svg/properties/SVGPropertyTraits.h: Added. 2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Add extensive set of SVGLengthList tests, that all PASS now. * platform/mac-leopard/svg/dom: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * svg/dom/SVGLengthList-appendItem-expected.txt: Added. * svg/dom/SVGLengthList-appendItem.xhtml: Added. * svg/dom/SVGLengthList-basics-expected.txt: Added. * svg/dom/SVGLengthList-basics.xhtml: Added. * svg/dom/SVGLengthList-getItem-expected.txt: Added. * svg/dom/SVGLengthList-getItem.xhtml: Added. * svg/dom/SVGLengthList-initialize-expected.txt: Added. * svg/dom/SVGLengthList-initialize.xhtml: Added. * svg/dom/SVGLengthList-insertItemBefore-expected.txt: Added. * svg/dom/SVGLengthList-insertItemBefore.xhtml: Added. * svg/dom/SVGLengthList-removeItem-expected.txt: Added. * svg/dom/SVGLengthList-removeItem.xhtml: Added. * svg/dom/SVGLengthList-replaceItem-expected.txt: Added. * svg/dom/SVGLengthList-replaceItem.xhtml: Added. * svg/dom/SVGLengthList-xml-dom-modifications-expected.txt: Added. * svg/dom/SVGLengthList-xml-dom-modifications.xhtml: Added. Canonical link: https://commits.webkit.org/60774@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-21 10:25:25 +00:00
</head>
<body>
<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200">
<text id="text1" x="500 1000 1500" y="50"> ABC </text>
<text id="reference" x="50 100" y="100"> ABC </text>
</svg>
<p id="description"></p>
<div id="console"></div>
<script type="text/javascript">
<![CDATA[
description("This is a test how SVGLengthList reacts to XML DOM modifications.");
var text1 = document.getElementById("text1");
shouldBe("text1.x.baseVal.numberOfItems", "3");
var text1XBaseValGetItem0 = text1.x.baseVal.getItem(0);
var text1XBaseValGetItem1 = text1.x.baseVal.getItem(1);
var text1XBaseValGetItem2 = text1.x.baseVal.getItem(2);
shouldBe("text1XBaseValGetItem0.value", "500");
shouldBe("text1XBaseValGetItem1.value", "1000");
shouldBe("text1XBaseValGetItem2.value", "1500");
debug("");
debug("Setting x = x - 250 on all three items");
text1XBaseValGetItem0.value -= 250;
text1XBaseValGetItem1.value -= 250;
text1XBaseValGetItem2.value -= 250;
shouldBe("text1XBaseValGetItem0.value", "250");
shouldBe("text1XBaseValGetItem1.value", "750");
shouldBe("text1XBaseValGetItem2.value", "1250");
debug("");
debug("Now using text.setAttribute('x', '50 100')");
text1.setAttribute("x", "50 100");
debug("");
debug("Assure that the wrappers still point to the OLD values");
shouldBe("text1XBaseValGetItem0.value", "250");
shouldBe("text1XBaseValGetItem1.value", "750");
shouldBe("text1XBaseValGetItem2.value", "1250");
debug("");
debug("Assure that obtaining new wrappers will give the right NEW values");
shouldBe("text1.x.baseVal.numberOfItems", "2");
shouldBe("text1.x.baseVal.getItem(0).value", "50");
shouldBe("text1.x.baseVal.getItem(1).value", "100");
debug("");
debug("Setting x = x + 100 on all old wrapper items");
text1XBaseValGetItem0.value += 100;
text1XBaseValGetItem1.value += 100;
text1XBaseValGetItem2.value += 100;
debug("");
debug("Assure that the old wrappers can still be modified, but don't influence the new wrappers");
shouldBe("text1XBaseValGetItem0.value", "350");
shouldBe("text1XBaseValGetItem1.value", "850");
shouldBe("text1XBaseValGetItem2.value", "1350");
debug("");
debug("Assure that the new wrappers stayed the same");
shouldBe("text1.x.baseVal.numberOfItems", "2");
shouldBe("text1.x.baseVal.getItem(0).value", "50");
shouldBe("text1.x.baseVal.getItem(1).value", "100");
debug("");
debug("The test passes if you only see 'PASS' messages, and both elements on top look the same");
debug("");
]]>
</script>
Change LayoutTests' s* files to use pre and post js files in LayoutTests/resources. https://bugs.webkit.org/show_bug.cgi?id=120899. Rubber stamped by Filip Pizlo. * scrollbars/rtl/div-absolute.html: * scrollbars/rtl/div-horizontal.html: * scrollbars/rtl/div-vertical.html: * security/crypto-random-values-limits.html: * security/crypto-random-values-types.html: * security/crypto-random-values.html: * storage/domstorage/clear.html: * storage/domstorage/complex-keys.html: * storage/domstorage/complex-values.html: * storage/domstorage/events/basic-body-attribute.html: * storage/domstorage/events/basic-setattribute.html: * storage/domstorage/events/basic.html: * storage/domstorage/events/case-sensitive.html: * storage/domstorage/events/script-tests/TEMPLATE.html: * storage/domstorage/localstorage/close-idle-localstorage-databases-immediately.html: * storage/domstorage/localstorage/missing-arguments.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html: * storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html: * storage/domstorage/quota.html: * storage/domstorage/remove-item.html: * storage/domstorage/script-tests/TEMPLATE.html: * storage/domstorage/storage-functions-not-overwritten.html: * storage/indexeddb/aborted-versionchange-closes.html: * storage/indexeddb/basics-shared-workers.html: * storage/indexeddb/basics-workers.html: * storage/indexeddb/basics.html: * storage/indexeddb/clone-exception.html: * storage/indexeddb/create-and-remove-object-store.html: * storage/indexeddb/create-object-store-options.html: * storage/indexeddb/createIndex-after-failure.html: * storage/indexeddb/createObjectStore-name-argument-required.html: * storage/indexeddb/createObjectStore-null-name.html: * storage/indexeddb/cursor-added-bug.html: * storage/indexeddb/cursor-advance-workers.html: * storage/indexeddb/cursor-advance.html: * storage/indexeddb/cursor-continue-dir.html: * storage/indexeddb/cursor-continue-validity.html: * storage/indexeddb/cursor-continue.html: * storage/indexeddb/cursor-delete.html: * storage/indexeddb/cursor-finished.html: * storage/indexeddb/cursor-inconsistency.html: * storage/indexeddb/cursor-index-delete.html: * storage/indexeddb/cursor-key-order.html: * storage/indexeddb/cursor-overloads.html: * storage/indexeddb/cursor-prev-no-duplicate.html: * storage/indexeddb/cursor-primary-key-order.html: * storage/indexeddb/cursor-properties.html: * storage/indexeddb/cursor-reverse-bug.html: * storage/indexeddb/cursor-skip-deleted.html: * storage/indexeddb/cursor-update-value-argument-required.html: * storage/indexeddb/cursor-update.html: * storage/indexeddb/cursor-value.html: * storage/indexeddb/data-corruption.html: * storage/indexeddb/database-basics.html: * storage/indexeddb/database-close.html: * storage/indexeddb/database-closepending-flag.html: * storage/indexeddb/database-deletepending-flag.html: * storage/indexeddb/database-name-undefined.html: * storage/indexeddb/database-odd-names.html: * storage/indexeddb/database-quota.html: * storage/indexeddb/database-wrapper.html: * storage/indexeddb/delete-closed-database-object.html: * storage/indexeddb/delete-in-upgradeneeded-close-in-open-success.html: * storage/indexeddb/delete-in-upgradeneeded-close-in-versionchange.html: * storage/indexeddb/delete-range.html: * storage/indexeddb/deleteIndex-bug110792.html: * storage/indexeddb/deleteIndex.html: * storage/indexeddb/deleteObjectStore-name-argument-required.html: * storage/indexeddb/deleteObjectStore-null-name.html: * storage/indexeddb/deleted-objects.html: * storage/indexeddb/deletedatabase-blocked.html: * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange-workers.html: * storage/indexeddb/deletedatabase-delayed-by-open-and-versionchange.html: * storage/indexeddb/deletedatabase-delayed-by-versionchange.html: * storage/indexeddb/deletedatabase-not-blocked.html: * storage/indexeddb/deletedatabase-transaction.html: * storage/indexeddb/dont-commit-on-blocked.html: * storage/indexeddb/dont-wedge.html: * storage/indexeddb/duplicates.html: * storage/indexeddb/error-causes-abort-by-default.html: * storage/indexeddb/events.html: * storage/indexeddb/exception-in-event-aborts.html: * storage/indexeddb/exceptions.html: * storage/indexeddb/factory-basics-workers.html: * storage/indexeddb/factory-basics.html: * storage/indexeddb/factory-cmp.html: * storage/indexeddb/factory-deletedatabase.html: * storage/indexeddb/get-keyrange.html: * storage/indexeddb/index-basics-workers.html: * storage/indexeddb/index-basics.html: * storage/indexeddb/index-count.html: * storage/indexeddb/index-cursor.html: * storage/indexeddb/index-duplicate-keypaths.html: * storage/indexeddb/index-get-key-argument-required.html: * storage/indexeddb/index-multientry.html: * storage/indexeddb/index-population.html: * storage/indexeddb/index-unique.html: * storage/indexeddb/interfaces.html: * storage/indexeddb/intversion-abort-in-initial-upgradeneeded.html: * storage/indexeddb/intversion-bad-parameters.html: * storage/indexeddb/intversion-blocked.html: * storage/indexeddb/intversion-close-between-events.html: * storage/indexeddb/intversion-close-in-oncomplete.html: * storage/indexeddb/intversion-close-in-upgradeneeded.html: * storage/indexeddb/intversion-encoding.html: * storage/indexeddb/intversion-gated-on-delete.html: * storage/indexeddb/intversion-long-queue.html: * storage/indexeddb/intversion-omit-parameter.html: * storage/indexeddb/intversion-open-in-upgradeneeded.html: * storage/indexeddb/intversion-open-with-version.html: * storage/indexeddb/intversion-persistence.html: * storage/indexeddb/intversion-revert-on-abort.html: * storage/indexeddb/intversion-two-opens-no-versions.html: * storage/indexeddb/intversion-upgrades.html: * storage/indexeddb/invalid-keys.html: * storage/indexeddb/key-generator.html: * storage/indexeddb/key-sort-order-across-types.html: * storage/indexeddb/key-sort-order-date.html: * storage/indexeddb/key-type-array.html: * storage/indexeddb/key-type-infinity.html: * storage/indexeddb/keypath-arrays.html: * storage/indexeddb/keypath-basics.html: * storage/indexeddb/keypath-edges.html: * storage/indexeddb/keypath-fetch-key.html: * storage/indexeddb/keypath-intrinsic-properties.html: * storage/indexeddb/keyrange-required-arguments.html: * storage/indexeddb/keyrange.html: * storage/indexeddb/lazy-index-population.html: * storage/indexeddb/lazy-index-types.html: * storage/indexeddb/legacy-constants.html: * storage/indexeddb/list-ordering.html: * storage/indexeddb/metadata.html: * storage/indexeddb/mozilla/add-twice-failure.html: * storage/indexeddb/mozilla/autoincrement-indexes.html: * storage/indexeddb/mozilla/bad-keypath.html: * storage/indexeddb/mozilla/clear.html: * storage/indexeddb/mozilla/create-index-unique.html: * storage/indexeddb/mozilla/create-index-with-integer-keys.html: * storage/indexeddb/mozilla/create-objectstore-basics.html: * storage/indexeddb/mozilla/create-objectstore-null-name.html: * storage/indexeddb/mozilla/cursor-mutation-objectstore-only.html: * storage/indexeddb/mozilla/cursor-mutation.html: * storage/indexeddb/mozilla/cursor-update-updates-indexes.html: * storage/indexeddb/mozilla/cursors.html: * storage/indexeddb/mozilla/delete-result.html: * storage/indexeddb/mozilla/event-source.html: * storage/indexeddb/mozilla/global-data.html: * storage/indexeddb/mozilla/index-prev-no-duplicate.html: * storage/indexeddb/mozilla/indexes.html: * storage/indexeddb/mozilla/key-requirements-delete-null-key.html: * storage/indexeddb/mozilla/key-requirements-inline-and-passed.html: * storage/indexeddb/mozilla/key-requirements-put-no-key.html: * storage/indexeddb/mozilla/key-requirements-put-null-key.html: * storage/indexeddb/mozilla/key-requirements.html: * storage/indexeddb/mozilla/object-cursors.html: * storage/indexeddb/mozilla/object-identity.html: * storage/indexeddb/mozilla/object-store-inline-autoincrement-key-added-on-put.html: * storage/indexeddb/mozilla/object-store-remove-values.html: * storage/indexeddb/mozilla/objectstorenames.html: * storage/indexeddb/mozilla/odd-result-order.html: * storage/indexeddb/mozilla/open-database-null-name.html: * storage/indexeddb/mozilla/put-get-values.html: * storage/indexeddb/mozilla/readonly-transactions.html: * storage/indexeddb/mozilla/readwrite-transactions.html: * storage/indexeddb/mozilla/readyState.html: * storage/indexeddb/mozilla/remove-index.html: * storage/indexeddb/mozilla/remove-objectstore.html: * storage/indexeddb/mozilla/resources/add-twice-failure.js: * storage/indexeddb/mozilla/resources/autoincrement-indexes.js: * storage/indexeddb/mozilla/resources/bad-keypath.js: * storage/indexeddb/mozilla/resources/clear.js: * storage/indexeddb/mozilla/resources/create-index-unique.js: * storage/indexeddb/mozilla/resources/create-index-with-integer-keys.js: * storage/indexeddb/mozilla/resources/create-objectstore-basics.js: * storage/indexeddb/mozilla/resources/create-objectstore-null-name.js: * storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js: * storage/indexeddb/mozilla/resources/cursor-mutation.js: * storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js: * storage/indexeddb/mozilla/resources/cursors.js: * storage/indexeddb/mozilla/resources/delete-result.js: * storage/indexeddb/mozilla/resources/event-source.js: * storage/indexeddb/mozilla/resources/global-data.js: * storage/indexeddb/mozilla/resources/indexes.js: * storage/indexeddb/mozilla/resources/key-requirements-delete-null-key.js: * storage/indexeddb/mozilla/resources/key-requirements-inline-and-passed.js: * storage/indexeddb/mozilla/resources/key-requirements-put-no-key.js: * storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js: * storage/indexeddb/mozilla/resources/key-requirements.js: * storage/indexeddb/mozilla/resources/object-cursors.js: * storage/indexeddb/mozilla/resources/object-identity.js: * storage/indexeddb/mozilla/resources/object-store-inline-autoincrement-key-added-on-put.js: * storage/indexeddb/mozilla/resources/object-store-remove-values.js: * storage/indexeddb/mozilla/resources/objectstorenames.js: * storage/indexeddb/mozilla/resources/odd-result-order.js: * storage/indexeddb/mozilla/resources/open-database-null-name.js: * storage/indexeddb/mozilla/resources/put-get-values.js: * storage/indexeddb/mozilla/resources/readonly-transactions.js: * storage/indexeddb/mozilla/resources/readwrite-transactions.js: * storage/indexeddb/mozilla/resources/readyState.js: * storage/indexeddb/mozilla/resources/remove-index.js: * storage/indexeddb/mozilla/resources/remove-objectstore.js: * storage/indexeddb/mozilla/resources/versionchange-abort.js: * storage/indexeddb/mozilla/versionchange-abort.html: * storage/indexeddb/mutating-cursor.html: * storage/indexeddb/noblobs.html: * storage/indexeddb/object-lookups-in-versionchange.html: * storage/indexeddb/objectStore-required-arguments.html: * storage/indexeddb/objectstore-autoincrement.html: * storage/indexeddb/objectstore-basics-workers.html: * storage/indexeddb/objectstore-basics.html: * storage/indexeddb/objectstore-clear.html: * storage/indexeddb/objectstore-count.html: * storage/indexeddb/objectstore-cursor.html: * storage/indexeddb/objectstore-removeobjectstore.html: * storage/indexeddb/odd-strings.html: * storage/indexeddb/open-bad-versions.html: * storage/indexeddb/open-cursor.html: * storage/indexeddb/open-during-transaction.html: * storage/indexeddb/open-ordering.html: * storage/indexeddb/open-twice-workers.html: * storage/indexeddb/opencursor-key.html: * storage/indexeddb/pending-activity-workers.html: * storage/indexeddb/pending-activity.html: * storage/indexeddb/pending-version-change-on-exit.html: * storage/indexeddb/pending-version-change-stuck-works-with-terminate.html: * storage/indexeddb/pending-version-change-stuck.html: * storage/indexeddb/persistence.html: * storage/indexeddb/prefetch-bugfix-108071.html: * storage/indexeddb/queued-commands.html: * storage/indexeddb/readonly-properties.html: * storage/indexeddb/readonly.html: * storage/indexeddb/removed.html: * storage/indexeddb/request-continue-abort.html: * storage/indexeddb/request-event-propagation.html: * storage/indexeddb/resources/aborted-versionchange-closes.js: * storage/indexeddb/resources/basics.js: * storage/indexeddb/resources/create-and-remove-object-store.js: * storage/indexeddb/resources/create-object-store-options.js: * storage/indexeddb/resources/createIndex-after-failure.js: * storage/indexeddb/resources/createObjectStore-name-argument-required.js: * storage/indexeddb/resources/createObjectStore-null-name.js: * storage/indexeddb/resources/cursor-added-bug.js: * storage/indexeddb/resources/cursor-advance.js: * storage/indexeddb/resources/cursor-continue-dir.js: * storage/indexeddb/resources/cursor-continue-validity.js: * storage/indexeddb/resources/cursor-continue.js: * storage/indexeddb/resources/cursor-delete.js: * storage/indexeddb/resources/cursor-inconsistency.js: * storage/indexeddb/resources/cursor-index-delete.js: * storage/indexeddb/resources/cursor-key-order.js: * storage/indexeddb/resources/cursor-prev-no-duplicate.js: * storage/indexeddb/resources/cursor-primary-key-order.js: * storage/indexeddb/resources/cursor-properties.js: * storage/indexeddb/resources/cursor-reverse-bug.js: * storage/indexeddb/resources/cursor-skip-deleted.js: * storage/indexeddb/resources/cursor-update-value-argument-required.js: * storage/indexeddb/resources/cursor-update.js: * storage/indexeddb/resources/cursor-value.js: * storage/indexeddb/resources/data-corruption.js: * storage/indexeddb/resources/database-basics.js: * storage/indexeddb/resources/database-close.js: * storage/indexeddb/resources/database-closepending-flag.js: * storage/indexeddb/resources/database-deletepending-flag.js: * storage/indexeddb/resources/database-name-undefined.js: * storage/indexeddb/resources/database-odd-names.js: * storage/indexeddb/resources/database-quota.js: * storage/indexeddb/resources/database-wrapper.js: * storage/indexeddb/resources/delete-closed-database-object.js: * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-open-success.js: * storage/indexeddb/resources/delete-in-upgradeneeded-close-in-versionchange.js: * storage/indexeddb/resources/delete-range.js: * storage/indexeddb/resources/deleteIndex.js: * storage/indexeddb/resources/deleteObjectStore-name-argument-required.js: * storage/indexeddb/resources/deleteObjectStore-null-name.js: * storage/indexeddb/resources/deleted-objects.js: * storage/indexeddb/resources/deletedatabase-blocked.js: * storage/indexeddb/resources/deletedatabase-delayed-by-open-and-versionchange.js: * storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js: * storage/indexeddb/resources/deletedatabase-not-blocked.js: * storage/indexeddb/resources/dont-commit-on-blocked-worker.js: * storage/indexeddb/resources/dont-wedge.js: * storage/indexeddb/resources/duplicates.js: * storage/indexeddb/resources/error-causes-abort-by-default.js: * storage/indexeddb/resources/events.js: * storage/indexeddb/resources/exception-in-event-aborts.js: * storage/indexeddb/resources/exceptions.js: * storage/indexeddb/resources/factory-basics.js: * storage/indexeddb/resources/factory-cmp.js: * storage/indexeddb/resources/factory-deletedatabase.js: * storage/indexeddb/resources/get-keyrange.js: * storage/indexeddb/resources/index-basics.js: * storage/indexeddb/resources/index-count.js: * storage/indexeddb/resources/index-cursor.js: * storage/indexeddb/resources/index-duplicate-keypaths.js: * storage/indexeddb/resources/index-get-key-argument-required.js: * storage/indexeddb/resources/index-multientry.js: * storage/indexeddb/resources/index-population.js: * storage/indexeddb/resources/index-unique.js: * storage/indexeddb/resources/interfaces.js: * storage/indexeddb/resources/intversion-abort-in-initial-upgradeneeded.js: * storage/indexeddb/resources/intversion-bad-parameters.js: * storage/indexeddb/resources/intversion-blocked.js: * storage/indexeddb/resources/intversion-close-between-events.js: * storage/indexeddb/resources/intversion-close-in-oncomplete.js: * storage/indexeddb/resources/intversion-close-in-upgradeneeded.js: * storage/indexeddb/resources/intversion-encoding.js: * storage/indexeddb/resources/intversion-gated-on-delete.js: * storage/indexeddb/resources/intversion-long-queue.js: * storage/indexeddb/resources/intversion-omit-parameter.js: * storage/indexeddb/resources/intversion-open-in-upgradeneeded.js: * storage/indexeddb/resources/intversion-open-with-version.js: * storage/indexeddb/resources/intversion-persistence.js: * storage/indexeddb/resources/intversion-revert-on-abort.js: * storage/indexeddb/resources/intversion-two-opens-no-versions.js: * storage/indexeddb/resources/intversion-upgrades.js: * storage/indexeddb/resources/invalid-keys.js: * storage/indexeddb/resources/key-generator.js: * storage/indexeddb/resources/key-sort-order-across-types.js: * storage/indexeddb/resources/key-sort-order-date.js: * storage/indexeddb/resources/key-type-array.js: * storage/indexeddb/resources/key-type-infinity.js: * storage/indexeddb/resources/keypath-arrays.js: * storage/indexeddb/resources/keypath-basics.js: * storage/indexeddb/resources/keypath-edges.js: * storage/indexeddb/resources/keypath-fetch-key.js: * storage/indexeddb/resources/keypath-intrinsic-properties.js: * storage/indexeddb/resources/keyrange-required-arguments.js: * storage/indexeddb/resources/keyrange.js: * storage/indexeddb/resources/lazy-index-types.js: * storage/indexeddb/resources/legacy-constants.js: * storage/indexeddb/resources/list-ordering.js: * storage/indexeddb/resources/metadata.js: * storage/indexeddb/resources/mutating-cursor.js: * storage/indexeddb/resources/objectStore-required-arguments.js: * storage/indexeddb/resources/objectstore-autoincrement.js: * storage/indexeddb/resources/objectstore-basics.js: * storage/indexeddb/resources/objectstore-clear.js: * storage/indexeddb/resources/objectstore-count.js: * storage/indexeddb/resources/objectstore-cursor.js: * storage/indexeddb/resources/objectstore-removeobjectstore.js: * storage/indexeddb/resources/odd-strings.js: * storage/indexeddb/resources/open-cursor.js: * storage/indexeddb/resources/open-during-transaction.js: * storage/indexeddb/resources/open-ordering.js: * storage/indexeddb/resources/open-twice.js: * storage/indexeddb/resources/opencursor-key.js: * storage/indexeddb/resources/pending-activity.js: * storage/indexeddb/resources/pending-version-change-on-exit.js: * storage/indexeddb/resources/pending-version-change-stuck.js: * storage/indexeddb/resources/persistence.js: * storage/indexeddb/resources/prefetch-bugfix-108071.js: * storage/indexeddb/resources/queued-commands.js: * storage/indexeddb/resources/readonly-properties.js: * storage/indexeddb/resources/readonly.js: * storage/indexeddb/resources/removed.js: * storage/indexeddb/resources/request-continue-abort.js: * storage/indexeddb/resources/request-event-propagation.js: * storage/indexeddb/resources/set_version_blocked.js: * storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js: * storage/indexeddb/resources/setversion-not-blocked.js: * storage/indexeddb/resources/transaction-abort.js: * storage/indexeddb/resources/transaction-active-flag.js: * storage/indexeddb/resources/transaction-after-close.js: * storage/indexeddb/resources/transaction-and-objectstore-calls.js: * storage/indexeddb/resources/transaction-basics.js: * storage/indexeddb/resources/transaction-complete-workers.js: * storage/indexeddb/resources/transaction-coordination-across-databases.js: * storage/indexeddb/resources/transaction-coordination-within-database.js: * storage/indexeddb/resources/transaction-crash-on-abort.js: * storage/indexeddb/resources/transaction-error.js: * storage/indexeddb/resources/transaction-event-propagation.js: * storage/indexeddb/resources/transaction-read-only.js: * storage/indexeddb/resources/transaction-readwrite-exclusive.js: * storage/indexeddb/resources/transaction-rollback.js: * storage/indexeddb/resources/transaction-scope-sequencing.js: * storage/indexeddb/resources/transaction-starvation.js: * storage/indexeddb/resources/transaction-storeNames-required.js: * storage/indexeddb/resources/unblocked-version-changes.js: * storage/indexeddb/resources/unprefix.js: * storage/indexeddb/resources/value-undefined.js: * storage/indexeddb/resources/values-odd-types.js: * storage/indexeddb/resources/version-change-abort.js: * storage/indexeddb/resources/version-change-exclusive.js: * storage/indexeddb/resources/versionchangerequest-activedomobject.js: * storage/indexeddb/set_version_blocked.html: * storage/indexeddb/setversion-blocked-by-versionchange-close.html: * storage/indexeddb/setversion-not-blocked.html: * storage/indexeddb/structured-clone.html: * storage/indexeddb/transaction-abort.html: * storage/indexeddb/transaction-active-flag.html: * storage/indexeddb/transaction-after-close.html: * storage/indexeddb/transaction-and-objectstore-calls.html: * storage/indexeddb/transaction-basics.html: * storage/indexeddb/transaction-complete-with-js-recursion-cross-frame.html: * storage/indexeddb/transaction-complete-with-js-recursion.html: * storage/indexeddb/transaction-complete-workers.html: * storage/indexeddb/transaction-coordination-across-databases.html: * storage/indexeddb/transaction-coordination-within-database.html: * storage/indexeddb/transaction-crash-in-tasks.html: * storage/indexeddb/transaction-crash-on-abort.html: * storage/indexeddb/transaction-error.html: * storage/indexeddb/transaction-event-propagation.html: * storage/indexeddb/transaction-read-only.html: * storage/indexeddb/transaction-readwrite-exclusive.html: * storage/indexeddb/transaction-rollback.html: * storage/indexeddb/transaction-scope-sequencing.html: * storage/indexeddb/transaction-starvation.html: * storage/indexeddb/transaction-storeNames-required.html: * storage/indexeddb/unblocked-version-changes.html: * storage/indexeddb/unprefix-workers.html: * storage/indexeddb/unprefix.html: * storage/indexeddb/value-undefined.html: * storage/indexeddb/values-odd-types.html: * storage/indexeddb/version-change-abort.html: * storage/indexeddb/version-change-exclusive.html: * storage/indexeddb/versionchangerequest-activedomobject.html: * storage/script-tests/TEMPLATE.html: * storage/storageinfo-missing-arguments.html: * storage/storageinfo-no-callbacks.html: * storage/storageinfo-query-usage.html: * storage/storageinfo-request-quota.html: * storage/storagequota-query-usage.html: * storage/storagequota-request-quota.html: * storage/websql/execute-sql-rowsAffected.html: * svg/animations/accumulate-values-width-animation.html: * svg/animations/additive-from-to-width-animation.html: * svg/animations/additive-type-by-animation.html: * svg/animations/additive-values-width-animation.html: * svg/animations/animVal-basics.html: * svg/animations/animate-calcMode-spline-by.html: * svg/animations/animate-calcMode-spline-from-by.html: * svg/animations/animate-calcMode-spline-from-to.html: * svg/animations/animate-calcMode-spline-to.html: * svg/animations/animate-calcMode-spline-values.html: * svg/animations/animate-color-calcMode-discrete.html: * svg/animations/animate-color-fill-currentColor.html: * svg/animations/animate-color-fill-from-by.html: * svg/animations/animate-color-rgba-calcMode-discrete.html: * svg/animations/animate-color-transparent.html: * svg/animations/animate-css-xml-attributeType.html: * svg/animations/animate-currentColor.html: * svg/animations/animate-dynamic-update-attributeName.html: * svg/animations/animate-elem-02-t-drt.html: * svg/animations/animate-elem-03-t-drt.html: * svg/animations/animate-elem-04-t-drt.html: * svg/animations/animate-elem-05-t-drt.html: * svg/animations/animate-elem-06-t-drt.html: * svg/animations/animate-elem-07-t-drt.html: * svg/animations/animate-elem-08-t-drt.html: * svg/animations/animate-elem-09-t-drt.html: * svg/animations/animate-elem-10-t-drt.html: * svg/animations/animate-elem-11-t-drt.html: * svg/animations/animate-elem-12-t-drt.html: * svg/animations/animate-elem-13-t-drt.html: * svg/animations/animate-elem-14-t-drt.html: * svg/animations/animate-elem-15-t-drt.html: * svg/animations/animate-elem-16-t-drt.html: * svg/animations/animate-elem-17-t-drt.html: * svg/animations/animate-elem-18-t-drt.html: * svg/animations/animate-elem-19-t-drt.html: * svg/animations/animate-end-attribute-numeric-precision.html: * svg/animations/animate-end-attribute.html: * svg/animations/animate-endElement-beginElement.html: * svg/animations/animate-from-to-keyTimes.html: * svg/animations/animate-gradient-transform.html: * svg/animations/animate-inherit-css-property.html: * svg/animations/animate-insert-begin.html: * svg/animations/animate-insert-no-begin.html: * svg/animations/animate-keySplines.html: * svg/animations/animate-marker-orient-from-angle-to-angle.html: * svg/animations/animate-marker-orient-from-angle-to-auto.html: * svg/animations/animate-marker-orient-to-angle.html: * svg/animations/animate-mpath-insert.html: * svg/animations/animate-number-calcMode-discrete-keyTimes.html: * svg/animations/animate-number-calcMode-discrete.html: * svg/animations/animate-path-animation-Cc-Ss.html: * svg/animations/animate-path-animation-Ll-Vv-Hh.html: * svg/animations/animate-path-animation-Qq-Tt.html: * svg/animations/animate-path-animation-cC-sS-inverse.html: * svg/animations/animate-path-animation-lL-vV-hH-inverse.html: * svg/animations/animate-path-animation-qQ-tT-inverse.html: * svg/animations/animate-path-nested-transforms.html: * svg/animations/animate-path-to-animation.html: * svg/animations/animate-reset-freeze.html: * svg/animations/animate-setcurrenttime.html: * svg/animations/animate-text-nested-transforms.html: * svg/animations/animateTransform-pattern-transform.html: * svg/animations/animateTransform-translate-attributetype-auto.html: * svg/animations/animateTransform-translate-invalid-attributetype.html: * svg/animations/attributeTypes.html: * svg/animations/change-baseVal-while-animating-fill-freeze-2.html: * svg/animations/change-baseVal-while-animating-fill-freeze.html: * svg/animations/change-baseVal-while-animating-fill-remove-2.html: * svg/animations/change-baseVal-while-animating-fill-remove.html: * svg/animations/change-css-property-while-animating-fill-freeze.html: * svg/animations/change-css-property-while-animating-fill-remove.html: * svg/animations/change-target-while-animating-SVG-property.html: * svg/animations/deferred-insertion.html: * svg/animations/dynamic-modify-attributename-crash2.svg: * svg/animations/force-use-shadow-tree-recreation-while-animating.html: * svg/animations/multiple-animations-ending.html: * svg/animations/multiple-animations-fill-freeze.html: * svg/animations/multiple-begin-additive-animation.html: * svg/animations/non-additive-type-by-animation.html: * svg/animations/non-additive-type-from-by-animation.html: * svg/animations/reinserting-svg-into-document.html: * svg/animations/remove-animation-element-while-animation-is-running.html: * svg/animations/single-values-animation.html: * svg/animations/svgPreserveAspectRatio-animation-1.html: * svg/animations/svgangle-animation-deg-to-grad.html: * svg/animations/svgangle-animation-deg-to-rad.html: * svg/animations/svgangle-animation-grad-to-deg.html: * svg/animations/svgangle-animation-grad-to-rad.html: * svg/animations/svgangle-animation-rad-to-deg.html: * svg/animations/svgangle-animation-rad-to-grad.html: * svg/animations/svgboolean-animation-1.html: * svg/animations/svgenum-animation-1.html: * svg/animations/svgenum-animation-10.html: * svg/animations/svgenum-animation-11.html: * svg/animations/svgenum-animation-12.html: * svg/animations/svgenum-animation-13.html: * svg/animations/svgenum-animation-2.html: * svg/animations/svgenum-animation-3.html: * svg/animations/svgenum-animation-4.html: * svg/animations/svgenum-animation-5.html: * svg/animations/svgenum-animation-6.html: * svg/animations/svgenum-animation-7.html: * svg/animations/svgenum-animation-8.html: * svg/animations/svgenum-animation-9.html: * svg/animations/svginteger-animation-1.html: * svg/animations/svginteger-animation-2.html: * svg/animations/svglength-additive-by-1.html: * svg/animations/svglength-additive-by-2.html: * svg/animations/svglength-additive-by-3.html: * svg/animations/svglength-additive-by-4.html: * svg/animations/svglength-additive-by-5.html: * svg/animations/svglength-additive-by-6.html: * svg/animations/svglength-additive-from-by-1.html: * svg/animations/svglength-additive-from-by-2.html: * svg/animations/svglength-additive-from-by-3.html: * svg/animations/svglength-additive-from-by-4.html: * svg/animations/svglength-animation-LengthModeHeight.html: * svg/animations/svglength-animation-LengthModeOther.html: * svg/animations/svglength-animation-LengthModeWidth.html: * svg/animations/svglength-animation-invalid-value-1.html: * svg/animations/svglength-animation-invalid-value-2.html: * svg/animations/svglength-animation-invalid-value-3.html: * svg/animations/svglength-animation-number-to-number.html: * svg/animations/svglength-animation-px-to-cm.html: * svg/animations/svglength-animation-px-to-ems.html: * svg/animations/svglength-animation-px-to-exs.html: * svg/animations/svglength-animation-px-to-in.html: * svg/animations/svglength-animation-px-to-number.html: * svg/animations/svglength-animation-px-to-pc.html: * svg/animations/svglength-animation-px-to-percentage.html: * svg/animations/svglength-animation-px-to-pt.html: * svg/animations/svglength-animation-px-to-px.html: * svg/animations/svglength-animation-unitType.html: * svg/animations/svglength-animation-values.html: * svg/animations/svglengthlist-animation-1.html: * svg/animations/svglengthlist-animation-2.html: * svg/animations/svglengthlist-animation-3.html: * svg/animations/svglengthlist-animation-4.html: * svg/animations/svglengthlist-animation-5.html: * svg/animations/svgnumber-animation-1.html: * svg/animations/svgnumber-animation-2.html: * svg/animations/svgnumber-animation-3.html: * svg/animations/svgnumber-animation-4.html: * svg/animations/svgnumberlist-animation-1.html: * svg/animations/svgnumberlist-animation-2.html: * svg/animations/svgnumberoptionalnumber-animation-1.html: * svg/animations/svgnumberoptionalnumber-animation-2.html: * svg/animations/svgnumberoptionalnumber-animation-3.html: * svg/animations/svgnumberoptionalnumber-animation-4.html: * svg/animations/svgpath-animation-1.html: * svg/animations/svgpointlist-animation-1.html: * svg/animations/svgpointlist-animation-2.html: * svg/animations/svgrect-animation-1.html: * svg/animations/svgrect-animation-2.html: * svg/animations/svgstring-animation-1.html: * svg/animations/svgstring-animation-fallback-to-discrete.html: * svg/animations/svgtransform-animation-1.html: * svg/animations/svgtransform-animation-discrete.html: * svg/animations/use-animate-transform-and-position.html: * svg/as-image/svg-canvas-link-not-colored.html: * svg/as-image/svg-canvas-xhtml-tainted.html: * svg/as-image/svg-container-size-after-reload.html: * svg/as-object/embedded-svg-immediate-offsetWidth-query.html: * svg/as-object/embedded-svg-size-changes.html: * svg/as-object/nested-embedded-svg-size-changes.html: * svg/css/buffered-rendering.html: * svg/css/case-sensitive-attrname-selectors.html: * svg/css/glyph-orientation-rounding-test.xhtml: * svg/css/mask-type.html: * svg/css/rect-system-color.xhtml: * svg/css/scientific-numbers.html: * svg/css/svg-attribute-length-parsing.html: * svg/css/svg-attribute-parser-mode.html: * svg/custom/SVGException.html: * svg/custom/acid3-test-77.html: * svg/custom/currentColor-on-color.html: * svg/custom/document-all-includes-svg.html: * svg/custom/focus-event-handling-keyboard.xhtml: * svg/custom/focus-event-handling.xhtml: * svg/custom/frame-getSVGDocument.html: * svg/custom/getBoundingClientRect.xhtml: * svg/custom/getSubStringLength.html: * svg/custom/global-constructors.html: * svg/custom/immutable-properties.html: * svg/custom/invalid-length-units.html: * svg/custom/loadevents-async.html: * svg/custom/poly-parsing-error.html: * svg/custom/script-tests/TEMPLATE.html: * svg/custom/selectSubString.html: * svg/custom/svg-createsvgtransform-type.html: * svg/custom/svg-fonts-in-text-controls.html: * svg/custom/svg-getelementid.xhtml: * svg/custom/svg-modify-currentTranslate.html: * svg/custom/svg-viewBox-dynamic.html: * svg/custom/svg-xml-dom-sync.html: * svg/custom/tearoffs-with-tearoffs.html: * svg/custom/use-href-update-crash.svg: * svg/custom/use-instanceRoot-as-event-target.xhtml: * svg/custom/use-instanceRoot-event-bubbling.xhtml: * svg/custom/use-instanceRoot-event-listeners.xhtml: * svg/custom/window-named-item-lookup.html: * svg/dom/SVGAngle.html: * svg/dom/SVGAnimatedAngle.html: * svg/dom/SVGAnimatedBoolean.html: * svg/dom/SVGAnimatedEnumeration-SVGClipPathElement.html: * svg/dom/SVGAnimatedEnumeration-SVGComponentTransferFunctionElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEBlendElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEColorMatrixElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFECompositeElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEConvolveMatrixElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEDisplacementMapElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFEMorphologyElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFETurbulenceElement.html: * svg/dom/SVGAnimatedEnumeration-SVGFilterElement.html: * svg/dom/SVGAnimatedEnumeration-SVGGradientElement.html: * svg/dom/SVGAnimatedEnumeration-SVGMarkerElement.html: * svg/dom/SVGAnimatedEnumeration-SVGMaskElement.html: * svg/dom/SVGAnimatedEnumeration-SVGPatternElement.html: * svg/dom/SVGAnimatedEnumeration-SVGTextContentElement.html: * svg/dom/SVGAnimatedEnumeration-SVGTextPathElement.html: * svg/dom/SVGAnimatedEnumeration.html: * svg/dom/SVGAnimatedInteger.html: * svg/dom/SVGAnimatedLength.html: * svg/dom/SVGAnimatedLengthList.html: * svg/dom/SVGAnimatedNumber.html: * svg/dom/SVGAnimatedNumberList.html: * svg/dom/SVGAnimatedPreserveAspectRatio.html: * svg/dom/SVGAnimatedRect.html: * svg/dom/SVGColor.html: * svg/dom/SVGLength-px-with-context.html: * svg/dom/SVGLength-px.html: * svg/dom/SVGLength.html: * svg/dom/SVGLengthList-appendItem.xhtml: * svg/dom/SVGLengthList-basics.xhtml: * svg/dom/SVGLengthList-getItem.xhtml: * svg/dom/SVGLengthList-initialize.xhtml: * svg/dom/SVGLengthList-insertItemBefore.xhtml: * svg/dom/SVGLengthList-removeItem.xhtml: * svg/dom/SVGLengthList-replaceItem.xhtml: * svg/dom/SVGLengthList-xml-dom-modifications.xhtml: * svg/dom/SVGLocatable-getCTM-svg-root.html: * svg/dom/SVGMatrix-interface.xhtml: * svg/dom/SVGMatrix.html: * svg/dom/SVGNumber.html: * svg/dom/SVGNumberList-basics.xhtml: * svg/dom/SVGPaint.html: * svg/dom/SVGPathSegList-appendItem.xhtml: * svg/dom/SVGPathSegList-clear-and-initialize.xhtml: * svg/dom/SVGPathSegList-insertItemBefore.xhtml: * svg/dom/SVGPathSegList-removeItem.xhtml: * svg/dom/SVGPathSegList-replaceItem.xhtml: * svg/dom/SVGPathSegList-xml-dom-synchronization.xhtml: * svg/dom/SVGPoint.html: * svg/dom/SVGPointList-basics.xhtml: * svg/dom/SVGPreserveAspectRatio.html: * svg/dom/SVGRect.html: * svg/dom/SVGStringList-basics.xhtml: * svg/dom/SVGStringList.html: * svg/dom/SVGStyleElement/disable-svg-style-element.html: * svg/dom/SVGStyleElement/script-tests/TEMPLATE.html: * svg/dom/SVGStyleElement/style-langspace.html: * svg/dom/SVGTransform.html: * svg/dom/SVGTransformList-basics.xhtml: * svg/dom/SVGTransformList.html: * svg/dom/SVGViewSpec-defaults.html: * svg/dom/SVGViewSpec-invalid-ref-crash.html: * svg/dom/SVGViewSpec.html: * svg/dom/altGlyph-dom.xhtml: * svg/dom/baseVal-animVal-crash.html: * svg/dom/css-transforms.xhtml: * svg/dom/feFlood-no-in1.html: * svg/dom/font-face-elements.html: * svg/dom/fuzz-path-parser.html: * svg/dom/getElementsByTagName-localName-matching.html: * svg/dom/id-reflect.html: * svg/dom/length-list-parser.html: * svg/dom/operatorAttribute.html: * svg/dom/path-parser.html: * svg/dom/path-pointAtLength.html: * svg/dom/path-segments.html: * svg/dom/path-totalLength.html: * svg/dom/points-parser.html: * svg/dom/preserve-aspect-ratio-parser.html: * svg/dom/resources/viewspec-parser.js: (continueFuzzing): * svg/dom/rgb-color-parser.html: * svg/dom/script-tests/SVGViewSpec.js: (completeTest): * svg/dom/script-tests/TEMPLATE.html: * svg/dom/string-list-parser.html: * svg/dom/style-reflect.html: * svg/dom/svg2-inheritance.html: * svg/dom/svglist-exception-on-out-bounds-error.html: * svg/dom/svglist-insertItemBefore-appends.html: * svg/dom/svgpath-getPathSegAtLength.html: * svg/dom/svgpath-out-of-bounds-getPathSeg.html: * svg/dom/text-rotate-live.html: * svg/dom/transform-parser.html: * svg/dom/viewspec-parser-1.html: * svg/dom/viewspec-parser-2.html: * svg/dom/viewspec-parser-3.html: * svg/dom/viewspec-parser-4.html: * svg/dom/viewspec-parser-5.html: * svg/dom/viewspec-parser-6.html: * svg/dom/viewspec-parser-7.html: * svg/dynamic-updates/SVG-dynamic-css-transform.html: * svg/dynamic-updates/SVGAElement-dom-href-attr.html: * svg/dynamic-updates/SVGAElement-dom-target-attr.html: * svg/dynamic-updates/SVGAElement-svgdom-href-prop.html: * svg/dynamic-updates/SVGAElement-svgdom-target-prop.html: * svg/dynamic-updates/SVGCircleElement-dom-cx-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-cy-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-r-attr.html: * svg/dynamic-updates/SVGCircleElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGCircleElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-r-prop.html: * svg/dynamic-updates/SVGCircleElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGClipPath-influences-hitTesting.html: * svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html: * svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html: * svg/dynamic-updates/SVGClipPathElement-svgdom-clipPathUnits-prop.html: * svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html: * svg/dynamic-updates/SVGCursorElement-dom-x-attr.html: * svg/dynamic-updates/SVGCursorElement-dom-y-attr.html: * svg/dynamic-updates/SVGCursorElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGCursorElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGEllipseElement-dom-cx-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-cy-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGEllipseElement-dom-rx-attr.html: * svg/dynamic-updates/SVGEllipseElement-dom-ry-attr.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-rx-prop.html: * svg/dynamic-updates/SVGEllipseElement-svgdom-ry-prop.html: * svg/dynamic-updates/SVGFEBlendElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEBlendElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFEBlendElement-dom-mode-attr.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFEBlendElement-svgdom-mode-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-type-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-dom-values-attr.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFEColorMatrixElement-svgdom-values-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-amplitude-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-exponent-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-intercept-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-offset-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-slope-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-tableValues-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-dom-type-attr.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-amplitude-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-exponent-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-intercept-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-offset-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-slope-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-tableValues-prop.html: * svg/dynamic-updates/SVGFEComponentTransferElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFECompositeElement-dom-in-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k1-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k2-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k3-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-k4-attr.html: * svg/dynamic-updates/SVGFECompositeElement-dom-operator-attr.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k1-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k2-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k3-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-k4-prop.html: * svg/dynamic-updates/SVGFECompositeElement-svgdom-operator-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-bias-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-divisor-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-edgeMode-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelMatrix-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-kernelUnitLength-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-order-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-preserveAlpha-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetX-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-dom-targetY-attr.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-bias-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-divisor-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-edgeMode-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelMatrix-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-kernelUnitLength-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-order-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-preserveAlpha-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetX-prop.html: * svg/dynamic-updates/SVGFEConvolveMatrixElement-svgdom-targetY-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-diffuseConstant-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-lighting-color-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-dom-surfaceScale-attr.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-diffuseConstant-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDiffuseLightingElement-svgdom-surfaceScale-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-in2-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-scale-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-xChannelSelector-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-dom-yChannelSelector-attr.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-in2-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-scale-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-xChannelSelector-prop.html: * svg/dynamic-updates/SVGFEDisplacementMapElement-svgdom-yChannelSelector-prop.html: * svg/dynamic-updates/SVGFEDistantLightElement-dom-azimuth-attr.html: * svg/dynamic-updates/SVGFEDistantLightElement-dom-elevation-attr.html: * svg/dynamic-updates/SVGFEDistantLightElement-svgdom-azimuth-prop.html: * svg/dynamic-updates/SVGFEDistantLightElement-svgdom-elevation-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html: * svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html: * svg/dynamic-updates/SVGFEFloodElement-dom-flood-color-attr.html: * svg/dynamic-updates/SVGFEFloodElement-dom-flood-opacity-attr.html: * svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html: * svg/dynamic-updates/SVGFEFloodElement-svgdom-flood-color-prop.html: * svg/dynamic-updates/SVGFEFloodElement-svgdom-flood-opacity-prop.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-attr.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-dom-stdDeviation-call.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html: * svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEImageElement-dom-preserveAspectRatio-attr.html: * svg/dynamic-updates/SVGFEImageElement-svgdom-preserveAspectRatio-prop.html: * svg/dynamic-updates/SVGFEMergeNodeElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEMergeNodeElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-operator-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-dom-radius-attr.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-operator-prop.html: * svg/dynamic-updates/SVGFEMorphologyElement-svgdom-radius-call.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-dx-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-dy-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-dom-in-attr.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGFEOffsetElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-x-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-y-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-dom-z-attr.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFEPointLightElement-svgdom-z-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-in-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularConstant-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-specularExponent-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-dom-suraceScale-attr.html: * svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularConstant-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-specularExponent-prop.html: * svg/dynamic-updates/SVGFESpecularLightingElement-svgdom-suraceScale-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-limitingConeAngle-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtX-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtY-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-pointsAtZ-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-specularExponent-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-x-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-y-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-dom-z-attr.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-limitingConeAngle-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtX-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtY-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-pointsAtZ-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-specularExponent-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFESpotLightElement-svgdom-z-prop.html: * svg/dynamic-updates/SVGFETileElement-dom-in-attr.html: * svg/dynamic-updates/SVGFETileElement-svgdom-in-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-baseFrequency-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-numOctaves-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-seed-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-stitchTiles-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-dom-type-attr.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-baseFrequency-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-numOctaves-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-seed-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-stitchTiles-prop.html: * svg/dynamic-updates/SVGFETurbulenceElement-svgdom-type-prop.html: * svg/dynamic-updates/SVGFilterElement-dom-filterRes-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-filterUnits-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-height-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-primitiveUnits-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-width-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-x-attr.html: * svg/dynamic-updates/SVGFilterElement-dom-y-attr.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterRes-call.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterResX-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterResY-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-filterUnits-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-primitiveUnits-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGFilterElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-height-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-result-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-width-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-x-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-dom-y-attr.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-height-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-result-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-width-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-x-prop.html: * svg/dynamic-updates/SVGFilterPrimitiveStandardAttributes-svgdom-y-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-height-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-width-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-x-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-dom-y-attr.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGForeignObjectElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGGElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGGElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-dom-height-attr.html: * svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html: * svg/dynamic-updates/SVGImageElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-dom-width-attr.html: * svg/dynamic-updates/SVGImageElement-dom-x-attr.html: * svg/dynamic-updates/SVGImageElement-dom-y-attr.html: * svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGLineElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGLineElement-dom-x1-attr.html: * svg/dynamic-updates/SVGLineElement-dom-x2-attr.html: * svg/dynamic-updates/SVGLineElement-dom-y1-attr.html: * svg/dynamic-updates/SVGLineElement-dom-y2-attr.html: * svg/dynamic-updates/SVGLineElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGLineElement-svgdom-x1-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-x2-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-y1-prop.html: * svg/dynamic-updates/SVGLineElement-svgdom-y2-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-gradientTransform-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-gradientUnits-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-x1-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-x2-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-y1-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-dom-y2-attr.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientUnits-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-x1-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-x2-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-y1-prop.html: * svg/dynamic-updates/SVGLinearGradientElement-svgdom-y2-prop.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html: * svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html: * svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html: * svg/dynamic-updates/SVGMaskElement-dom-height-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-maskContentUnits-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-maskUnits-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-width-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-x-attr.html: * svg/dynamic-updates/SVGMaskElement-dom-y-attr.html: * svg/dynamic-updates/SVGMaskElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-maskContentUnits-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-maskUnits-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGMaskElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGPathElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPathElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGPatternElement-dom-height-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternContentUnits-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternTransform-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-patternUnits-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-width-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-x-attr.html: * svg/dynamic-updates/SVGPatternElement-dom-y-attr.html: * svg/dynamic-updates/SVGPatternElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternContentUnits-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternTransform-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-patternUnits-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGPatternElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGPolygonElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPolygonElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGPolylineElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGPolylineElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-cx-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-cy-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-fx-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-fy-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientTransform-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-gradientUnits-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-dom-r-attr.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cx-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-cy-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fx-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-fy-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientTransform-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-gradientUnits-prop.html: * svg/dynamic-updates/SVGRadialGradientElement-svgdom-r-prop.html: * svg/dynamic-updates/SVGRectElement-dom-height-attr.html: * svg/dynamic-updates/SVGRectElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGRectElement-dom-width-attr.html: * svg/dynamic-updates/SVGRectElement-dom-x-attr.html: * svg/dynamic-updates/SVGRectElement-dom-y-attr.html: * svg/dynamic-updates/SVGRectElement-svgdom-height-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGRectElement-svgdom-width-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGRectElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGSVGElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGSVGElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGTRefElement-dom-href-attr.html: * svg/dynamic-updates/SVGTextElement-dom-dx-attr.html: * svg/dynamic-updates/SVGTextElement-dom-dy-attr.html: * svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html: * svg/dynamic-updates/SVGTextElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGTextElement-dom-rotate-attr.html: * svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html: * svg/dynamic-updates/SVGTextElement-dom-transform-attr.html: * svg/dynamic-updates/SVGTextElement-dom-x-attr.html: * svg/dynamic-updates/SVGTextElement-dom-y-attr.html: * svg/dynamic-updates/SVGTextElement-svgdom-dx-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-dy-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-x-prop.html: * svg/dynamic-updates/SVGTextElement-svgdom-y-prop.html: * svg/dynamic-updates/SVGUseElement-dom-href1-attr.html: * svg/dynamic-updates/SVGUseElement-dom-href2-attr.html: * svg/dynamic-updates/SVGUseElement-dom-requiredFeatures.html: * svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html: * svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html: * svg/dynamic-updates/SVGUseElement-svgdom-requiredFeatures.html: * svg/dynamic-updates/resources/SVGTestCase.js: (completeTest): * svg/foreignObject/absolute-position-foreign-object-child-crash.html: * svg/in-html/script-external.html: * svg/in-html/script-nested.html: * svg/in-html/script-write.html: * svg/in-html/script.html: * svg/text/lengthAdjust-text-metrics.html: * svg/text/script-tests/TEMPLATE.html: * svg/text/text-rect-precision.html: * svg/zoom/page/zoom-get-screen-ctm.html: * svg/zoom/page/zoom-getBoundingClientRect.xhtml: * svg/zoom/page/zoom-zoom-coords.xhtml: * svg/zoom/resources/testPageZoom.js: (completeDynamicTest): Canonical link: https://commits.webkit.org/138888@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@155284 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-09-08 05:29:22 +00:00
<script src="../../resources/js-test-post.js"></script>
2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Tests: svg/dom/SVGLengthList-appendItem.xhtml svg/dom/SVGLengthList-basics.xhtml svg/dom/SVGLengthList-getItem.xhtml svg/dom/SVGLengthList-initialize.xhtml svg/dom/SVGLengthList-insertItemBefore.xhtml svg/dom/SVGLengthList-removeItem.xhtml svg/dom/SVGLengthList-replaceItem.xhtml svg/dom/SVGLengthList-xml-dom-modifications.xhtml Introduce a more lightweight, less intrusive way to expose SVGAnimated* DOM bindings. Concrete example: The SVG DOM defines a 'SVGAnimatedLength' object, that's used to represent the x / y / width / height attributes of a 'SVGRectElement'. Each 'SVGAnimatedLength' object exposes a baseVal (markup defined attribute value) and an animVal (reflects the current state during animations), both of type 'SVGLength'. These objects are all _live_. That means you can do: var foobar = rect.x.baseVal; foobar.value += 150; If we'd implement the SVG DOM straightforward, we'd have to store a refcounted SVGAnimatedLength object, containing two refcounted SVGLength objects in SVGRectElement, for each of the x/y/width/height attributes. Our solution, to reduce memory footprint and increase performance is to store SVGLength stack-allocated, non refcounted types in SVGRectElement for x/y/width/height, and don't implement the SVGAnimatedLength object at all. In the past the JS bindings had to expose wrappers for SVGAnimatedLength on their own, and wrap each SVGLength object in an object called JSSVGPODTypeWrapper<SVGLength>. When JS changed the 'value' of the 'SVGLength', we constructed a copy of the SVGLength object, modified it, and called rectElement->setXBaseValue(newLength). This is not efficient at all, as we have to construct several copies of the SVGLength object, utilize callbacks to propagate the value changes in the SVG DOM. Furthermore, all bindings had to expose a similar concept, otherwhise SVG DOM wouldn't work. Up until now, only JSC and V8 bindings were available, that worked properly. The new SVGAnimatedProperty concept removes the need for JSSVGPODTypeWrapper (and friends like JSSVGContextCache, that associated a SVGLength with its SVGRectElement). Instead a solution is offered, that all bindings can use simultaneously, without adding new types or special concepts like JSSVGPODTypeWrapper. It works like this: A new refcounted SVGAnimatedProperty<PropertyType> template class is available, that stores a QualifiedName to associate the SVG DOM property with a XML DOM attribute. It also stores a RefPtr to the SVGElement that created it. In SVGRectElement we still store SVGLength m_x/m_y/m_width/m_height members, and offer a new "xAnimated()" method which looks up or creates a SVGAnimatedProperty<SVGLength> object. The JS/V8/ObjC bindings call this method whenever someone requests "rect.x/y/width/height", and a new wrapper is created, and stored in a HashMap. The SVGAnimatedProperty<PropertyType> is a base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff, the latter is used for all types of lists (SVGLengthList). SVGAnimatedProperty contains two methods used in the bindings: SVGProperty* baseVal and SVGProperty* animVal. SVGProperty is a base class for SVGPropertyTearOff and SVGListPropertyTearOff. Upon invocation of the baseVal/animVal methods a new SVG(List)PropertyTearOff object is created and stored in a RefPtr. The SVGPropertyTearOff objects stores a _reference_ to the type it wraps. Concrete example: When calling rect.x, a SVGAnimatedPropertyTearOff<SVGLength> is created, that stores a pointer to the SVGRectElement, and a SVGNames::xAttr. When calling rect.x.baseVal, a SVGPropertyTearOf<SVGLength> is created, that stores a reference to the "m_x" member variable of the SVGRectElement. Any changes applied to the SVGLength object, through the wrapper, are immediately live, as no copies are involved anymore, nor the need to fire any callback methods. This is the key concept of the new tear offs, no copies, no callbacks, no virtual methods (except one, needed for lists, but it's a detail). The SVGAnimatedListPropertyTearOff and SVGListPropertyTearOff work the same, but for SVG*List objects. The whole SVG*List API is _removed_ from the SVG DOM classes like SVGLengthList. It now inherits from Vector<SVGLength>, where it used to store a Vector<RefPtr<SVGListItem<SVGLength> > >. The SVGList API (insertItemBefore, appendItem, etc.) is exposed through SVGListPropertyTearOff, and there's no need anymore for SVGLengthList to deal with it at all. SVGLengthList is live just like most other SVG DOM object. Concrete example: var item0 = text.x.baseVal.getItem(0); item0.value += 150; Previously we chose to store a refcounted SVGListItem object, which wrapped the SVGLength object, to achieve liveness. We could change a single list item from DOM w/o copying the whole list. The drawback is that a simple type likeSVGLengthList, was heavy to store, as it contained a list of RefPtrs around a wrapper object around the real object 'SVGLength'. This complexity is completly gone. The SVGListPropertyTearOff<SVGLengthList> stores a reference to the SVGLengthList object (eg. SVGTextElement::m_x) and maintains a list of SVGPropertyTearOff<SVGLength> wrappers, that are created when necessary (getItem(2), will create a wrapper around the third list item), and cached. These SVGPropertyTearOff<SVGLength> objects store references to the SVGLength object _in the SVGLengthList_. One has to be extra carefully, to keep those lists synchronized. The SVGLengthList API is fully implemented for the first time, including moving items between lists, and is extensively tested with 8 new testcases. This patch only changed SVGLength/SVGLengthList to the new concept. All other types remain using the old DeprecatedSVGAnimatedProperty* concept. This will change in follow-up patches. * GNUmakefile.am: Add new files from svg/properties to build. * WebCore.gypi: Ditto. * WebCore.pro: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * bindings/js/JSSVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::JSSVGLength::value): (WebCore::JSSVGLength::convertToSpecifiedUnits): * bindings/scripts/CodeGenerator.pm: Add new isSVGNewStyleAnimatedProperty() helper method, return true for "SVGAnimatedLength" and "SVGAnimatedLengthList". * bindings/scripts/CodeGeneratorJS.pm: Generate new style SVG JS bindings, that don't need JSSVGContextCache / JSSVGPODTypeWrapper. * bindings/scripts/CodeGeneratorObjC.pm: Ditto. (+ Finally expose a working set of SVG DOM API for Objective C). * bindings/scripts/CodeGeneratorV8.pm: Ditto. * bindings/v8/custom/V8SVGLengthCustom.cpp: Adapt to context cache removal for SVGLength. (WebCore::V8SVGLength::valueAccessorGetter): (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback): * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: (WebCore::extractFloatValuesFromSVGLengthList): SVGLengthList is a POD type now, passed as const reference. * svg/DeprecatedSVGAnimatedPropertyTraits.h: Remove handling for SVGLength/SVGLengthList, those are converted to the new SVGAnimatedProperty design now. * svg/DeprecatedSVGAnimatedTemplate.h: Ditto. * svg/SVGAnimatedLength.h: Added. * svg/SVGAnimatedLength.idl: Mark as [SVGAnimatedProperty]. * svg/SVGAnimatedLengthList.h: Added. * svg/SVGAnimatedLengthList.idl: Mark as [SVGAnimatedProperty]. * svg/SVGCircleElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGCursorElement.h: Ditto. * svg/SVGEllipseElement.h: Ditto. * svg/SVGFilterElement.h: Ditto. * svg/SVGFilterPrimitiveStandardAttributes.h: Ditto. * svg/SVGForeignObjectElement.h: Ditto. * svg/SVGImageElement.h: Ditto. * svg/SVGLength.idl: Mark as [SVGProperty]. * svg/SVGLengthList.cpp: Use Vector API (appendItem -> append). No need to ever use the SVGList API internally. SVGLengthList is a Vector<SVGLength> now. (WebCore::SVGLengthList::parse): (WebCore::SVGLengthList::valueAsString): * svg/SVGLengthList.h: Inherit from Vector<SVGLength> - not from the SVGList base class. It's a simple, non-refcounted POD type now. (WebCore::SVGLengthList::SVGLengthList): * svg/SVGLengthList.idl: Mark as [SVGListProperty]. * svg/SVGLineElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGLinearGradientElement.h: Ditto. * svg/SVGMarkerElement.h: Ditto. * svg/SVGMaskElement.h: Ditto. * svg/SVGPatternElement.h: Ditto. * svg/SVGRadialGradientElement.h: Ditto. * svg/SVGRectElement.h: Ditto. * svg/SVGSVGElement.h: Ditto. * svg/SVGSVGElement.idl: Mark createSVGLength() as [SVGLiveProperty] - a wrapper for the returned object has to be created. * svg/SVGTextContentElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGTextPathElement.h: Ditto. * svg/SVGTextPositioningElement.cpp: (WebCore::SVGTextPositioningElement::SVGTextPositioningElement): (WebCore::SVGTextPositioningElement::parseMappedAttribute): Detach wrappers pointing to the old x/y/dx/dy list, if the underlying list changes via XML DOM. (WebCore::listContainsRelativeValue): Adapt to SVGLengthList interface changes, it's a POD type now. * svg/SVGTextPositioningElement.h: s/DECLARE_ANIMATED_PROPERTY/DECLARE_ANIMATED_LIST_PROPERTY_NEW/ until the transition to the new concept is finished. * svg/SVGUseElement.h: * svg/properties/SVGAnimatedListPropertyTearOff.h: Added. * svg/properties/SVGAnimatedProperty.h: Added. This is the base class for SVGAnimatedPropertyTearOff and SVGAnimatedListPropertyTearOff. * svg/properties/SVGAnimatedPropertyDescription.h: Added. Refactored from DeprecatedSVGAnimatedProperty.h. * svg/properties/SVGAnimatedPropertyMacros.h: Added. These macros will be _removed_ as soon as the transition to the new concept is finished. * svg/properties/SVGAnimatedPropertyTearOff.h: Added. * svg/properties/SVGListPropertyTearOff.h: Added. * svg/properties/SVGProperty.h: Added. This is the base class for SVGPropertyTearOff and SVGListPropertyTearOff. * svg/properties/SVGPropertyTearOff.h: Added. * svg/properties/SVGPropertyTraits.h: Added. 2010-10-20 Nikolas Zimmermann <nzimmermann@rim.com> Reviewed by Dirk Schulze. Redesign SVGAnimatedProperty concept to share "POD type wrappers" between all bindings (-> add ObjC SVG bindings) https://bugs.webkit.org/show_bug.cgi?id=47905 Add extensive set of SVGLengthList tests, that all PASS now. * platform/mac-leopard/svg/dom: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac-leopard/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-appendItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-basics-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-getItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-initialize-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-insertItemBefore-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-removeItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-replaceItem-expected.png: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.checksum: Added. * platform/mac/svg/dom/SVGLengthList-xml-dom-modifications-expected.png: Added. * svg/dom/SVGLengthList-appendItem-expected.txt: Added. * svg/dom/SVGLengthList-appendItem.xhtml: Added. * svg/dom/SVGLengthList-basics-expected.txt: Added. * svg/dom/SVGLengthList-basics.xhtml: Added. * svg/dom/SVGLengthList-getItem-expected.txt: Added. * svg/dom/SVGLengthList-getItem.xhtml: Added. * svg/dom/SVGLengthList-initialize-expected.txt: Added. * svg/dom/SVGLengthList-initialize.xhtml: Added. * svg/dom/SVGLengthList-insertItemBefore-expected.txt: Added. * svg/dom/SVGLengthList-insertItemBefore.xhtml: Added. * svg/dom/SVGLengthList-removeItem-expected.txt: Added. * svg/dom/SVGLengthList-removeItem.xhtml: Added. * svg/dom/SVGLengthList-replaceItem-expected.txt: Added. * svg/dom/SVGLengthList-replaceItem.xhtml: Added. * svg/dom/SVGLengthList-xml-dom-modifications-expected.txt: Added. * svg/dom/SVGLengthList-xml-dom-modifications.xhtml: Added. Canonical link: https://commits.webkit.org/60774@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@70223 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-10-21 10:25:25 +00:00
</body>
</html>