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/content-security-policy/navigate-to/anchor-navigation-always-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/anchor-navigation-always-allowed.html.headers
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/child-navigates-parent-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/child-navigates-parent-allowed.html.headers
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/child-navigates-parent-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/child-navigates-parent-blocked.sub.html.headers
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-cross-origin-allowed.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-cross-origin-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-redirected-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/form-redirected-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-cross-origin-allowed.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-cross-origin-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-redirected-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/href-location-redirected-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-cross-origin-allowed.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-cross-origin-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-redirected-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/link-click-redirected-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-cross-origin-allowed.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-cross-origin-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-redirected-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/meta-refresh-redirected-blocked.sub.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/parent-navigates-child-allowed.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/parent-navigates-child-allowed.html.headers
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/parent-navigates-child-blocked.html
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/parent-navigates-child-blocked.html.sub.headers
/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/navigate-to/spv-only-sent-to-initiator.sub.html
