The tests in this directory were imported from the W3C repository.
Do NOT modify these tests directly in WebKit.
Instead, create a pull request on the WPT github:
	https://github.com/web-platform-tests/wpt

Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport

Do NOT modify or remove this file.

------------------------------------------------------------------------
Properties requiring vendor prefixes:
None
Property values requiring vendor prefixes:
None
------------------------------------------------------------------------
List of files:
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-all.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-01.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-02.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-03.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/document-color-04.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/heading-obsolete-attributes-01.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/nothing.html
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/original-id.json
/LayoutTests/imported/w3c/web-platform-tests/html/obsolete/requirements-for-implementations/other-elements-attributes-and-apis/script-IDL-event-htmlfor.html
