Update web-platform-tests to revision 7da6acfd668e66adae5ab4e2d389810d3b1460be

This commit is contained in:
James Graham 2015-10-05 17:15:15 +01:00
parent 50db64a20e
commit bae87d193d
307 changed files with 35826 additions and 209 deletions

View file

@ -269,6 +269,30 @@
"path": "html-media-capture/capture_video_cancel-manual.html", "path": "html-media-capture/capture_video_cancel-manual.html",
"url": "/html-media-capture/capture_video_cancel-manual.html" "url": "/html-media-capture/capture_video_cancel-manual.html"
}, },
{
"path": "html/browsers/history/the-history-interface/non-automated/traverse_the_history_unload_prompt_1-manual.html",
"url": "/html/browsers/history/the-history-interface/non-automated/traverse_the_history_unload_prompt_1-manual.html"
},
{
"path": "html/browsers/history/the-history-interface/non-automated/traverse_the_history_unload_prompt_2-manual.html",
"url": "/html/browsers/history/the-history-interface/non-automated/traverse_the_history_unload_prompt_2-manual.html"
},
{
"path": "html/browsers/history/the-location-interface/non-automated/manual_click_assign_during_load-manual.html",
"url": "/html/browsers/history/the-location-interface/non-automated/manual_click_assign_during_load-manual.html"
},
{
"path": "html/browsers/history/the-location-interface/non-automated/manual_click_location_replace_during_load-manual.html",
"url": "/html/browsers/history/the-location-interface/non-automated/manual_click_location_replace_during_load-manual.html"
},
{
"path": "html/browsers/history/the-location-interface/non-automated/manual_form_submit_assign_during_load-manual.html",
"url": "/html/browsers/history/the-location-interface/non-automated/manual_form_submit_assign_during_load-manual.html"
},
{
"path": "html/browsers/history/the-location-interface/non-automated/reload_in_resize-manual.html",
"url": "/html/browsers/history/the-location-interface/non-automated/reload_in_resize-manual.html"
},
{ {
"path": "html/browsers/offline/application-cache-api/api_status_checking-manual.html", "path": "html/browsers/offline/application-cache-api/api_status_checking-manual.html",
"url": "/html/browsers/offline/application-cache-api/api_status_checking-manual.html" "url": "/html/browsers/offline/application-cache-api/api_status_checking-manual.html"
@ -337,6 +361,14 @@
"path": "html/browsers/offline/section_network_online-manual.html", "path": "html/browsers/offline/section_network_online-manual.html",
"url": "/html/browsers/offline/section_network_online-manual.html" "url": "/html/browsers/offline/section_network_online-manual.html"
}, },
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/non-automated/discard_iframe_history_1-manual.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/non-automated/discard_iframe_history_1-manual.html"
},
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/non-automated/discard_iframe_history_2-manual.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/non-automated/discard_iframe_history_2-manual.html"
},
{ {
"path": "html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-locationbar-manual.html", "path": "html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-locationbar-manual.html",
"url": "/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-locationbar-manual.html" "url": "/html/browsers/the-window-object/the-windowproxy-object/test-window-proxy-locationbar-manual.html"
@ -12251,6 +12283,10 @@
"path": "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html", "path": "content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html",
"url": "/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html" "url": "/content-security-policy/blink-contrib-2/plugintypes-nourl-blocked.sub.html"
}, },
{
"path": "content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html",
"url": "/content-security-policy/blink-contrib-2/script-src-wildcards-disallowed.html"
},
{ {
"path": "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html", "path": "content-security-policy/blink-contrib-2/scripthash-allowed.sub.html",
"url": "/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html" "url": "/content-security-policy/blink-contrib-2/scripthash-allowed.sub.html"
@ -12259,6 +12295,10 @@
"path": "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html", "path": "content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html",
"url": "/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html" "url": "/content-security-policy/blink-contrib-2/scripthash-basic-blocked.sub.html"
}, },
{
"path": "content-security-policy/blink-contrib-2/scripthash-default-src.sub.html",
"url": "/content-security-policy/blink-contrib-2/scripthash-default-src.sub.html"
},
{ {
"path": "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html", "path": "content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html",
"url": "/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html" "url": "/content-security-policy/blink-contrib-2/scripthash-ignore-unsafeinline.sub.html"
@ -13987,6 +14027,10 @@
"path": "domxpath/evaluator-constructor.html", "path": "domxpath/evaluator-constructor.html",
"url": "/domxpath/evaluator-constructor.html" "url": "/domxpath/evaluator-constructor.html"
}, },
{
"path": "domxpath/xml_xpath_runner.html",
"url": "/domxpath/xml_xpath_runner.html"
},
{ {
"path": "editing/event.html", "path": "editing/event.html",
"url": "/editing/event.html" "url": "/editing/event.html"
@ -14527,10 +14571,122 @@
"path": "html-media-capture/idlharness.html", "path": "html-media-capture/idlharness.html",
"url": "/html-media-capture/idlharness.html" "url": "/html-media-capture/idlharness.html"
}, },
{
"path": "html/browsers/browsing-the-web/history-traversal/001.html",
"url": "/html/browsers/browsing-the-web/history-traversal/001.html"
},
{ {
"path": "html/browsers/browsing-the-web/history-traversal/PopStateEvent.html", "path": "html/browsers/browsing-the-web/history-traversal/PopStateEvent.html",
"url": "/html/browsers/browsing-the-web/history-traversal/PopStateEvent.html" "url": "/html/browsers/browsing-the-web/history-traversal/PopStateEvent.html"
}, },
{
"path": "html/browsers/browsing-the-web/history-traversal/browsing_context_name.html",
"url": "/html/browsers/browsing-the-web/history-traversal/browsing_context_name.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin.html",
"url": "/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_2.html",
"url": "/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_2.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html",
"url": "/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/events.html",
"url": "/html/browsers/browsing-the-web/history-traversal/events.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/hashchange_event.html",
"url": "/html/browsers/browsing-the-web/history-traversal/hashchange_event.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/popstate_event.html",
"url": "/html/browsers/browsing-the-web/history-traversal/popstate_event.html"
},
{
"path": "html/browsers/browsing-the-web/history-traversal/unset_context_name-1.html",
"url": "/html/browsers/browsing-the-web/history-traversal/unset_context_name-1.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/001.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/001.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/002.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/002.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/003.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/003.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/004.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/004.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/005.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/005.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/006.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/006.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/007.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/007.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/008.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/008.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/009.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/009.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/010.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/010.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/011.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/011.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/012.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/012.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/013.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/013.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/014.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/014.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/015.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/015.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/child_navigates_parent_location.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/child_navigates_parent_location.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/child_navigates_parent_submit.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/child_navigates_parent_submit.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_data_url.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_data_url.html"
},
{
"path": "html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin.html",
"url": "/html/browsers/browsing-the-web/navigating-across-documents/navigation_unload_same_origin.html"
},
{ {
"path": "html/browsers/browsing-the-web/read-media/pageload-image.html", "path": "html/browsers/browsing-the-web/read-media/pageload-image.html",
"url": "/html/browsers/browsing-the-web/read-media/pageload-image.html" "url": "/html/browsers/browsing-the-web/read-media/pageload-image.html"
@ -14543,6 +14699,34 @@
"path": "html/browsers/browsing-the-web/read-text/load-text-plain.html", "path": "html/browsers/browsing-the-web/read-text/load-text-plain.html",
"url": "/html/browsers/browsing-the-web/read-text/load-text-plain.html" "url": "/html/browsers/browsing-the-web/read-text/load-text-plain.html"
}, },
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/001.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/001.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/002.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/002.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/003.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/003.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/004.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/004.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/005.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/005.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/006.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/006.html"
},
{
"path": "html/browsers/browsing-the-web/scroll-to-fragid/007.html",
"url": "/html/browsers/browsing-the-web/scroll-to-fragid/007.html"
},
{ {
"path": "html/browsers/browsing-the-web/unloading-documents/001.html", "path": "html/browsers/browsing-the-web/unloading-documents/001.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/001.html" "url": "/html/browsers/browsing-the-web/unloading-documents/001.html"
@ -14563,6 +14747,66 @@
"path": "html/browsers/browsing-the-web/unloading-documents/005.html", "path": "html/browsers/browsing-the-web/unloading-documents/005.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/005.html" "url": "/html/browsers/browsing-the-web/unloading-documents/005.html"
}, },
{
"path": "html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/beforeunload-on-history-back.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/beforeunload-on-navigation-of-parent.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/beforeunload-on-navigation-of-parent.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/navigation-within-beforeunload.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/navigation-within-beforeunload.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/pagehide-on-history-forward.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/pagehide-on-history-forward.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/prompt/001.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/prompt/001.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/prompt/002.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/prompt/002.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/prompt/003.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/prompt/003.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/001.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/001.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/002.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/002.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/003.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/003.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/004.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/004.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/006.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/006.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/007.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/007.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/008.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/008.html"
},
{
"path": "html/browsers/browsing-the-web/unloading-documents/unload/009.html",
"url": "/html/browsers/browsing-the-web/unloading-documents/unload/009.html"
},
{ {
"path": "html/browsers/history/the-history-interface/001.html", "path": "html/browsers/history/the-history-interface/001.html",
"url": "/html/browsers/history/the-history-interface/001.html" "url": "/html/browsers/history/the-history-interface/001.html"
@ -14635,18 +14879,38 @@
"path": "html/browsers/history/the-history-interface/history_back.html", "path": "html/browsers/history/the-history-interface/history_back.html",
"url": "/html/browsers/history/the-history-interface/history_back.html" "url": "/html/browsers/history/the-history-interface/history_back.html"
}, },
{
"path": "html/browsers/history/the-history-interface/history_back_1.html",
"url": "/html/browsers/history/the-history-interface/history_back_1.html"
},
{ {
"path": "html/browsers/history/the-history-interface/history_forward.html", "path": "html/browsers/history/the-history-interface/history_forward.html",
"url": "/html/browsers/history/the-history-interface/history_forward.html" "url": "/html/browsers/history/the-history-interface/history_forward.html"
}, },
{
"path": "html/browsers/history/the-history-interface/history_forward_1.html",
"url": "/html/browsers/history/the-history-interface/history_forward_1.html"
},
{ {
"path": "html/browsers/history/the-history-interface/history_go_minus.html", "path": "html/browsers/history/the-history-interface/history_go_minus.html",
"url": "/html/browsers/history/the-history-interface/history_go_minus.html" "url": "/html/browsers/history/the-history-interface/history_go_minus.html"
}, },
{
"path": "html/browsers/history/the-history-interface/history_go_no_argument.html",
"url": "/html/browsers/history/the-history-interface/history_go_no_argument.html"
},
{ {
"path": "html/browsers/history/the-history-interface/history_go_plus.html", "path": "html/browsers/history/the-history-interface/history_go_plus.html",
"url": "/html/browsers/history/the-history-interface/history_go_plus.html" "url": "/html/browsers/history/the-history-interface/history_go_plus.html"
}, },
{
"path": "html/browsers/history/the-history-interface/history_go_undefined.html",
"url": "/html/browsers/history/the-history-interface/history_go_undefined.html"
},
{
"path": "html/browsers/history/the-history-interface/history_go_zero.html",
"url": "/html/browsers/history/the-history-interface/history_go_zero.html"
},
{ {
"path": "html/browsers/history/the-history-interface/history_pushstate.html", "path": "html/browsers/history/the-history-interface/history_pushstate.html",
"url": "/html/browsers/history/the-history-interface/history_pushstate.html" "url": "/html/browsers/history/the-history-interface/history_pushstate.html"
@ -14675,6 +14939,70 @@
"path": "html/browsers/history/the-history-interface/history_state.html", "path": "html/browsers/history/the-history-interface/history_state.html",
"url": "/html/browsers/history/the-history-interface/history_state.html" "url": "/html/browsers/history/the-history-interface/history_state.html"
}, },
{
"path": "html/browsers/history/the-history-interface/joint_session_history/001.html",
"url": "/html/browsers/history/the-history-interface/joint_session_history/001.html"
},
{
"path": "html/browsers/history/the-history-interface/joint_session_history/002.html",
"url": "/html/browsers/history/the-history-interface/joint_session_history/002.html"
},
{
"path": "html/browsers/history/the-history-interface/non-automated/traverse_the_session_history_unload_prompt_1.html",
"url": "/html/browsers/history/the-history-interface/non-automated/traverse_the_session_history_unload_prompt_1.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_1.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_1.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_2.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_2.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_3.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_3.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_4.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_4.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_5.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_5.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_unload_1.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_unload_1.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_write_after_load_1.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_write_after_load_1.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_write_after_load_2.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_write_after_load_2.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_write_onload_1.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_write_onload_1.html"
},
{
"path": "html/browsers/history/the-history-interface/traverse_the_history_write_onload_2.html",
"url": "/html/browsers/history/the-history-interface/traverse_the_history_write_onload_2.html"
},
{
"path": "html/browsers/history/the-location-interface/assign_after_load.html",
"url": "/html/browsers/history/the-location-interface/assign_after_load.html"
},
{
"path": "html/browsers/history/the-location-interface/assign_before_load.html",
"url": "/html/browsers/history/the-location-interface/assign_before_load.html"
},
{
"path": "html/browsers/history/the-location-interface/document_location.html",
"url": "/html/browsers/history/the-location-interface/document_location.html"
},
{ {
"path": "html/browsers/history/the-location-interface/location-stringifier.html", "path": "html/browsers/history/the-location-interface/location-stringifier.html",
"url": "/html/browsers/history/the-location-interface/location-stringifier.html" "url": "/html/browsers/history/the-location-interface/location-stringifier.html"
@ -14683,6 +15011,10 @@
"path": "html/browsers/history/the-location-interface/location_assign.html", "path": "html/browsers/history/the-location-interface/location_assign.html",
"url": "/html/browsers/history/the-location-interface/location_assign.html" "url": "/html/browsers/history/the-location-interface/location_assign.html"
}, },
{
"path": "html/browsers/history/the-location-interface/location_assign_about_blank.html",
"url": "/html/browsers/history/the-location-interface/location_assign_about_blank.html"
},
{ {
"path": "html/browsers/history/the-location-interface/location_hash.html", "path": "html/browsers/history/the-location-interface/location_hash.html",
"url": "/html/browsers/history/the-location-interface/location_hash.html" "url": "/html/browsers/history/the-location-interface/location_hash.html"
@ -14723,6 +15055,38 @@
"path": "html/browsers/history/the-location-interface/location_search.html", "path": "html/browsers/history/the-location-interface/location_search.html",
"url": "/html/browsers/history/the-location-interface/location_search.html" "url": "/html/browsers/history/the-location-interface/location_search.html"
}, },
{
"path": "html/browsers/history/the-location-interface/non-automated/manual_click_replace_during_load.html",
"url": "/html/browsers/history/the-location-interface/non-automated/manual_click_replace_during_load.html"
},
{
"path": "html/browsers/history/the-location-interface/reload_document_open_write.html",
"url": "/html/browsers/history/the-location-interface/reload_document_open_write.html"
},
{
"path": "html/browsers/history/the-location-interface/reload_document_write.html",
"url": "/html/browsers/history/the-location-interface/reload_document_write.html"
},
{
"path": "html/browsers/history/the-location-interface/reload_document_write_onload.html",
"url": "/html/browsers/history/the-location-interface/reload_document_write_onload.html"
},
{
"path": "html/browsers/history/the-location-interface/reload_post_1.html",
"url": "/html/browsers/history/the-location-interface/reload_post_1.html"
},
{
"path": "html/browsers/history/the-location-interface/scripted_click_assign_during_load.html",
"url": "/html/browsers/history/the-location-interface/scripted_click_assign_during_load.html"
},
{
"path": "html/browsers/history/the-location-interface/scripted_click_location_assign_during_load.html",
"url": "/html/browsers/history/the-location-interface/scripted_click_location_assign_during_load.html"
},
{
"path": "html/browsers/history/the-location-interface/scripted_form_submit_assign_during_load.html",
"url": "/html/browsers/history/the-location-interface/scripted_form_submit_assign_during_load.html"
},
{ {
"path": "html/browsers/history/the-location-interface/security_location_0.sub.htm", "path": "html/browsers/history/the-location-interface/security_location_0.sub.htm",
"url": "/html/browsers/history/the-location-interface/security_location_0.sub.htm" "url": "/html/browsers/history/the-location-interface/security_location_0.sub.htm"
@ -14783,10 +15147,42 @@
"path": "html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03.html", "path": "html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03.html",
"url": "/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03.html" "url": "/html/browsers/the-window-object/accessing-other-browsing-contexts/indexed-browsing-contexts-03.html"
}, },
{
"path": "html/browsers/the-window-object/accessing-other-browsing-contexts/window_length.html",
"url": "/html/browsers/the-window-object/accessing-other-browsing-contexts/window_length.html"
},
{
"path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_beforeunload.html",
"url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_beforeunload.html"
},
{
"path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_script_defer.html",
"url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_script_defer.html"
},
{
"path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload.html",
"url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/close_unload.html"
},
{ {
"path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html", "path": "html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html",
"url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html" "url": "/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/creating_browsing_context_test_01.html"
}, },
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_1.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_1.html"
},
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_2.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_2.html"
},
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_3.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_3.html"
},
{
"path": "html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_4.html",
"url": "/html/browsers/the-window-object/garbage-collection-and-browsing-contexts/discard_iframe_history_4.html"
},
{ {
"path": "html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html", "path": "html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html",
"url": "/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html" "url": "/html/browsers/the-window-object/named-access-on-the-window-object/named-objects.html"
@ -14827,6 +15223,14 @@
"path": "html/browsers/windows/browsing-context-first-created.xhtml", "path": "html/browsers/windows/browsing-context-first-created.xhtml",
"url": "/html/browsers/windows/browsing-context-first-created.xhtml" "url": "/html/browsers/windows/browsing-context-first-created.xhtml"
}, },
{
"path": "html/browsers/windows/browsing-context-names/001.html",
"url": "/html/browsers/windows/browsing-context-names/001.html"
},
{
"path": "html/browsers/windows/browsing-context-names/002.html",
"url": "/html/browsers/windows/browsing-context-names/002.html"
},
{ {
"path": "html/browsers/windows/browsing-context-names/browsing-context-choose-existing.html", "path": "html/browsers/windows/browsing-context-names/browsing-context-choose-existing.html",
"url": "/html/browsers/windows/browsing-context-names/browsing-context-choose-existing.html" "url": "/html/browsers/windows/browsing-context-names/browsing-context-choose-existing.html"
@ -14851,6 +15255,10 @@
"path": "html/browsers/windows/nested-browsing-contexts/frameElement.sub.html", "path": "html/browsers/windows/nested-browsing-contexts/frameElement.sub.html",
"url": "/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html" "url": "/html/browsers/windows/nested-browsing-contexts/frameElement.sub.html"
}, },
{
"path": "html/browsers/windows/nested-browsing-contexts/window-top-001.html",
"url": "/html/browsers/windows/nested-browsing-contexts/window-top-001.html"
},
{ {
"path": "html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html", "path": "html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html",
"url": "/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html" "url": "/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html"
@ -18239,10 +18647,6 @@
"path": "js/builtins/WeakMap.prototype-properties.html", "path": "js/builtins/WeakMap.prototype-properties.html",
"url": "/js/builtins/WeakMap.prototype-properties.html" "url": "/js/builtins/WeakMap.prototype-properties.html"
}, },
{
"path": "media-source/SourceBuffer-abort-readyState.html",
"url": "/media-source/SourceBuffer-abort-readyState.html"
},
{ {
"path": "media-source/SourceBuffer-abort-removed.html", "path": "media-source/SourceBuffer-abort-removed.html",
"url": "/media-source/SourceBuffer-abort-removed.html" "url": "/media-source/SourceBuffer-abort-removed.html"
@ -20415,6 +20819,10 @@
"path": "pointerevents/pointerevent_constructor.html", "path": "pointerevents/pointerevent_constructor.html",
"url": "/pointerevents/pointerevent_constructor.html" "url": "/pointerevents/pointerevent_constructor.html"
}, },
{
"path": "pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html",
"url": "/pointerevents/pointerevent_pointermove-on-chorded-mouse-button.html"
},
{ {
"path": "pointerevents/pointerevent_touch-action-illegal.html", "path": "pointerevents/pointerevent_touch-action-illegal.html",
"url": "/pointerevents/pointerevent_touch-action-illegal.html" "url": "/pointerevents/pointerevent_touch-action-illegal.html"
@ -25167,6 +25575,18 @@
"path": "selectors/attribute-selectors/attribute-case/syntax.html", "path": "selectors/attribute-selectors/attribute-case/syntax.html",
"url": "/selectors/attribute-selectors/attribute-case/syntax.html" "url": "/selectors/attribute-selectors/attribute-case/syntax.html"
}, },
{
"path": "shadow-dom/Element-interface-attachShadow.html",
"url": "/shadow-dom/Element-interface-attachShadow.html"
},
{
"path": "shadow-dom/Element-interface-shadowRoot-attribute.html",
"url": "/shadow-dom/Element-interface-shadowRoot-attribute.html"
},
{
"path": "shadow-dom/ShadowRoot-interface.html",
"url": "/shadow-dom/ShadowRoot-interface.html"
},
{ {
"path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html", "path": "shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html",
"url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html" "url": "/shadow-dom/untriaged/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001.html"
@ -28949,6 +29369,11 @@
"timeout": "long", "timeout": "long",
"url": "/html/syntax/parsing/html5lib_webkit02.html?run_type=write_single" "url": "/html/syntax/parsing/html5lib_webkit02.html?run_type=write_single"
}, },
{
"path": "media-source/SourceBuffer-abort-readyState.html",
"timeout": "long",
"url": "/media-source/SourceBuffer-abort-readyState.html"
},
{ {
"path": "media-source/mediasource-redundant-seek.html", "path": "media-source/mediasource-redundant-seek.html",
"timeout": "long", "timeout": "long",
@ -34629,7 +35054,7 @@
} }
] ]
}, },
"rev": "0159b3ec9ba5355a3340621226e02ae026effd7f", "rev": "7da6acfd668e66adae5ab4e2d389810d3b1460be",
"url_base": "/", "url_base": "/",
"version": 2 "version": 2
} }

View file

@ -1 +1 @@
d588ce8d8503bf0b340abfb13e2bd6a228cab900 a350b215cc3e943985a66f1485c7eac7f4b9832e

View file

@ -20,7 +20,7 @@
e.target.transaction.abort(); e.target.transaction.abort();
assert_throws("InvalidStateError", function(){ assert_throws("TransactionInactiveError", function(){
index.openCursor(); index.openCursor();
}); });
t.done(); t.done();

View file

@ -20,7 +20,7 @@
e.target.transaction.abort(); e.target.transaction.abort();
assert_throws("InvalidStateError", function(){ assert_throws("TransactionInactiveError", function(){
index.openKeyCursor(); index.openKeyCursor();
}); });
t.done(); t.done();

View file

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html>
<head>
<title>script-src disallowed wildcard use</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<!-- enforcing policy:
script-src 'nonce-nonce' *; connect-src 'self';
-->
<script nonce="nonce">
var t1 = async_test('data: URIs should not match *');
t1.step(function() {
var script = document.createElement("script");
script.src = 'data:application/javascript,';
script.addEventListener('load', t1.step_func(function() {
assert_unreached('Should not successfully load data URI.');
}));
script.addEventListener('error', t1.step_func(function() {
t1.done();
}));
document.head.appendChild(script);
});
var t2 = async_test('blob: URIs should not match *');
t2.step(function() {
var b = new Blob([''], { type: 'application/javascript' });
var script = document.createElement('script');
script.addEventListener('load', t2.step_func(function() {
assert_unreached('Should not successfully load blob URI.');
}));
script.addEventListener('error', t2.step_func(function() {
t2.done();
}));
script.src = URL.createObjectURL(b);
document.head.appendChild(script);
});
var t3 = async_test('filesystem URIs should not match *');
if (window.webkitRequestFileSystem) {
window.webkitRequestFileSystem(TEMPORARY, 1024*1024 /*1MB*/, function(fs) {
fs.root.getFile('fail.js', {create: true}, function(fileEntry) {
fileEntry.createWriter(function(fileWriter) {
var script = document.createElement('script');
script.addEventListener('load', t3.step_func(function() {
assert_unreached('Should not successfully load filesystem URI.');
}));
script.addEventListener('error', t3.step_func(function() {
t3.done();
}));
script.src = fileEntry.toURL('application/javascript');
document.body.appendChild(script);
});
});
});
} else {
t3.done();
}
</script>
</body>
</html>

View file

@ -0,0 +1,6 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: script-src-wildcards-disallowed={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
Content-Security-Policy: script-src 'nonce-nonce' *; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<title>script-hash allowed from default-src</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>done();</script>
</head>
<body>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View file

@ -0,0 +1,6 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: scripthash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
Content-Security-Policy: default-src 'self' 'sha256-sc3CeiHrlck5tH2tTC4MnBYFnI9D5zp8f9odqnmGQjE='; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<title>stylehash allowed from default-src</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
</head>
<body>
<p id="p">Test</p>
<style>p#p { color: green; }</style>
<script>
var color = window.getComputedStyle(document.querySelector('#p')).color;
assert_equals(color, "rgb(0, 128, 0)");
done();
</script>
<div id="log"></div>
<script async defer src="../support/checkReport.sub.js?reportExists=false"></script>
</body>
</html>

View file

@ -0,0 +1,6 @@
Expires: Mon, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Cache-Control: post-check=0, pre-check=0, false
Pragma: no-cache
Set-Cookie: stylehash-default-src={{$id:uuid()}}; Path=/content-security-policy/blink-contrib-2
Content-Security-Policy: default-src 'self' 'sha256-SXMrww9+PS7ymkxYbv91id+HfXeO7p1uCY0xhNb4MIw='; script-src 'self' 'unsafe-inline'; connect-src 'self'; report-uri /content-security-policy/support/report.py?op=put&reportID={{$id}}

View file

@ -47,7 +47,6 @@ var documentNuked = [
"domConfig", "domConfig",
"normalizeDocument", "normalizeDocument",
"renameNode", "renameNode",
"charset",
"defaultCharset", "defaultCharset",
"height", "height",
"width" "width"

View file

@ -7,20 +7,37 @@
<script src=productions.js></script> <script src=productions.js></script>
<div id=log> <div id=log>
<script> <script>
var xml_document;
setup(function() {
xml_document = document.implementation.createDocument(null, null, null);
});
invalid_names.forEach(function(name) { invalid_names.forEach(function(name) {
test(function() { test(function() {
assert_throws("INVALID_CHARACTER_ERR", function() { assert_throws("INVALID_CHARACTER_ERR", function() {
document.createAttribute(name, "test"); document.createAttribute(name, "test");
}); });
}, "createAttribute(" + format_value(name) + ")"); }, "HTML document.createAttribute(" + format_value(name) + ")");
test(function() {
assert_throws("INVALID_CHARACTER_ERR", function() {
xml_document.createAttribute(name, "test");
});
}, "XML document.createAttribute(" + format_value(name) + ")");
}); });
var tests = ["title", "TITLE", null, undefined]; var tests = ["title", "TITLE", null, undefined];
tests.forEach(function(name) { tests.forEach(function(name) {
test(function() { test(function() {
var attribute = document.createAttribute(name); var attribute = document.createAttribute(name);
attr_is(attribute, "", String(name).toLowerCase(), null, null, String(name).toLowerCase());
assert_equals(attribute.ownerElement, null);
}, "HTML document.createAttribute(" + format_value(name) + ")");
test(function() {
var attribute = xml_document.createAttribute(name);
attr_is(attribute, "", String(name), null, null, String(name)); attr_is(attribute, "", String(name), null, null, String(name));
assert_equals(attribute.ownerElement, null); assert_equals(attribute.ownerElement, null);
}, "createAttribute(" + format_value(name) + ")"); }, "XML document.createAttribute(" + format_value(name) + ")");
}); });
</script> </script>

View file

@ -0,0 +1,51 @@
<!doctype html>
<title>XPath tests</title>
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script>
setup({ explicit_done: true });
function find_child_element(context, element) {
for (var i = 0; i < context.childNodes.length; i++) {
var child = context.childNodes[i];
if (child.nodeType === Node.ELEMENT_NODE && child.tagName === element)
return child;
}
}
function xpath_test(test_el) {
/* note this func adopts the tree! */
var new_doc = document.implementation.createDocument("", "");
var xpath = find_child_element(test_el, "xpath");
var tree = find_child_element(test_el, "tree");
var actual_tree = new_doc.adoptNode(tree.firstElementChild);
new_doc.appendChild(actual_tree);
test(function() {
var result = new_doc.evaluate(xpath.textContent, // expression
actual_tree, // context node
new_doc.createNSResolver(actual_tree), // resolver
XPathResult.ANY_TYPE, // type
null); // result
var matched = [];
var cur;
while ((cur = result.iterateNext()) !== null) {
matched.push(cur);
}
assert_equals(matched.length, 1, "Should match one node");
});
}
var xhr = new XMLHttpRequest();
xhr.open("GET", "xml_xpath_tests.xml");
xhr.onload = function(e) {
var tests = xhr.responseXML.documentElement;
for (var i = 0; i < tests.childNodes.length; i++) {
var child = tests.childNodes[i];
if (child.nodeType === Node.ELEMENT_NODE) {
xpath_test(child);
}
}
done();
};
xhr.send();
</script>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,11 @@
<!doctype html>
001-1
<script>
addEventListener("pageshow",
function(e) {
parent.events.push(e);
if (parent.events.length == 2) {
parent.do_test();
}
}, false);
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
001-2
<script>
onload = function() {setTimeout(function() {history.go(-1)}, 500)}
</script>

View file

@ -0,0 +1,30 @@
<!doctype html>
<title>pageshow event from traversal</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="001-1.html"></iframe>
<script>
var t = async_test();
var events = [];
var iframe = document.getElementsByTagName("iframe")[0];
onload = t.step_func(function() {
setTimeout(t.step_func(
function() {
assert_equals(iframe.contentDocument.readyState, "complete")
iframe.src = "001-2.html";
}), 500);
onload = null;
})
do_test = t.step_func(function() {
assert_equals(events.length, 2);
events.forEach(function(e, i) {
phase = i ? "after" : "before";
assert_equals(e.type, "pageshow", "type " + phase + " navigation");
assert_equals(e.persisted, i == 0 ? false : true, "persisted " + phase + " navigation");
t.done();
});
});
</script>

View file

@ -0,0 +1,16 @@
support 001-1.html
support 001-2.html
001.html
support browsing_context_name-1.html
support browsing_context_name-2.html
support browsing_context_name-3.html
support browsing_context_name-4.html
browsing_context_name_cross_origin_2.html
browsing_context_name_cross_origin_3.html
browsing_context_name_cross_origin.html
browsing_context_name.html
events.html
hashchange_event.html
popstate_event.html
support unset_context_name-1.html
unset_context_name.html

View file

@ -0,0 +1,6 @@
document 1
<script>
if (!parent.navigated) {
window.name = "test";
}
</script>

View file

@ -0,0 +1,4 @@
document 2
<script>
window.name = "test1";
</script>

View file

@ -0,0 +1,6 @@
document 3
<script>
if (!parent.navigated) {
window.name = "test3";
}
</script>

View file

@ -0,0 +1,6 @@
document 4
<script>
if (!parent.navigated) {
window.name = "test4";
}
</script>

View file

@ -0,0 +1,42 @@
<!doctype html>
<title>Retaining window.name on history traversal</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<pre id="step_log"></pre>
<iframe id="test"></iframe>
<script>
var t = async_test(undefined, {timeout:10000});
var f = document.getElementById("test");
var l = document.getElementById("step_log");
var navigated = false;
log = function(t) {l.textContent += ("\n" + t)}
var steps = [
function() {f.src = "browsing_context_name-1.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test", "Initial load");
setTimeout(next, 0);
},
function() {f.src = "browsing_context_name-2.html"; setTimeout(next, 500)},
function() {
assert_equals(f.contentWindow.name, "test1");
setTimeout(next, 0);
},
function() {history.back(); setTimeout(next, 500)},
function() {
assert_equals(f.contentWindow.name, "test1", "After navigation");
t.done();
}
].map(function(x) {return t.step_func(function() {log("Step " + step); x()})});
var step = 0;
next = t.step_func(function() {steps[step++]()});
f.onload=next;
onload = setTimeout(next, 0);
</script>

View file

@ -0,0 +1,41 @@
<!doctype html>
<title>Restoring window.name on cross-origin history traversal</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<pre id="step_log"></pre>
<iframe id="test"></iframe>
<script>
var t = async_test(undefined, {timeout:10000});
var f = document.getElementById("test");
var l = document.getElementById("step_log");
var navigated = false;
log = function(t) {l.textContent += ("\n" + t)}
var steps = [
function() {f.src = "browsing_context_name-1.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test", "Initial load");
setTimeout(next, 0);
},
function() {f.src = f.src.replace("http://", "http://www.").replace("browsing_context_name-1", "browsing_context_name-2");},
function() {
setTimeout(next, 0);
},
function() {history.back(); setTimeout(next, 500)},
function() {
assert_equals(f.contentWindow.name, "test", "After navigation");
t.done();
}
].map(function(x) {return t.step_func(function() {log("Step " + step); x()})});
var step = 0;
next = t.step_func(function() {steps[step++]()});
f.onload=next;
onload = setTimeout(next, 0);
</script>

View file

@ -0,0 +1,47 @@
<!doctype html>
<title>Restoring window.name on cross-origin history traversal</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<pre id="step_log"></pre>
<iframe id="test"></iframe>
<script>
var t = async_test(undefined, {timeout:10000});
var f = document.getElementById("test");
var l = document.getElementById("step_log");
var navigated = false;
log = function(t) {l.textContent += ("\n" + t)}
var steps = [
function() {f.src = "browsing_context_name-1.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test", "Initial load");
setTimeout(next, 0);
},
function() {f.src = "browsing_context_name-3.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test3", "Initial load");
setTimeout(next, 0);
},
function() {f.src = f.src.replace("http://", "http://www.").replace("browsing_context_name-3", "browsing_context_name-2");},
function() {
setTimeout(next, 0);
},
function() {history.go(-2); setTimeout(next, 500)},
function() {
assert_equals(f.contentWindow.name, "test3", "After navigation");
t.done();
}
].map(function(x) {return t.step_func(function() {log("Step " + step); x()})});
var step = 0;
next = t.step_func(function() {steps[step++]()});
f.onload=next;
onload = setTimeout(next, 0);
</script>

View file

@ -0,0 +1,47 @@
<!doctype html>
<title>Restoring window.name on cross-origin history traversal</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<pre id="step_log"></pre>
<iframe id="test"></iframe>
<script>
var t = async_test(undefined, {timeout:10000});
var f = document.getElementById("test");
var l = document.getElementById("step_log");
var navigated = false;
log = function(t) {l.textContent += ("\n" + t)}
var steps = [
function() {f.src = "browsing_context_name-1.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test", "Initial load");
setTimeout(next, 0);
},
function() {f.src = "browsing_context_name-3.html"},
function() {
var navigated = true;
assert_equals(f.contentWindow.name, "test3", "Initial load");
setTimeout(next, 0);
},
function() {f.src = f.src.replace("http://", "http://www.").replace("browsing_context_name-1", "browsing_context_name-2");},
function() {f.src = f.src.replace("http://www.", "http://").replace("browsing_context_name-2", "browsing_context_name-4");},
function() {
assert_equals(f.contentWindow.name, "test3", "After navigation");
history.go(-3); setTimeout(next, 500)
},
function() {
assert_equals(f.contentWindow.name, "test3", "After navigation");
t.done();
}
].map(function(x) {return t.step_func(function() {log("Step " + step + " " + f.contentWindow.location); x()})});
var step = 0;
next = t.step_func(function() {steps[step++]()});
f.onload=next;
onload = setTimeout(next, 0);
</script>

View file

@ -0,0 +1,151 @@
<!doctype html>
<title> PageTransitionEffect Event </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
var e = new PageTransitionEvent("pageshow", {persisted:false, cancelable:false, bubbles:false});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
assert_false(e.persisted, "persisted");
}, "Constructing pageshow event");
test(function() {
var e = new PageTransitionEvent("pagehide", {persisted:false, cancelable:false, bubbles:false});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event");
test(function() {
var e = new PageTransitionEvent("pageshow", {persisted:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_true(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, persisted true");
test(function() {
var e = new PageTransitionEvent("pagehide", {persisted:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_true(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, persisted true");
test(function() {
var e = new PageTransitionEvent("pageshow", {});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, empty options");
test(function() {
var e = new PageTransitionEvent("pagehide", {});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, empty options");
test(function() {
var e = new PageTransitionEvent("pageshow");
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, missing options");
test(function() {
var e = new PageTransitionEvent("pagehide");
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, missing options");
test(function() {
var e = new PageTransitionEvent("pageshow", {persisted:null});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, persisted:null");
test(function() {
var e = new PageTransitionEvent("pagehide", {persisted:null});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, persisted:null");
test(function() {
var e = new PageTransitionEvent("pageshow", {persisted:undefined});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, persisted:undefined");
test(function() {
var e = new PageTransitionEvent("pagehide", {persisted:undefined});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, persisted:undefined");
test(function() {
var e = new PageTransitionEvent("pageshow", {bubbles:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_true(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pageshow event, bubbles:true");
test(function() {
var e = new PageTransitionEvent("pagehide", {bubbles:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_true(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
}, "Constructing pagehide event, bubbles:true");
test(function() {
var e = new PageTransitionEvent("pageshow", {cancelable:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pageshow");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_true(e.cancelable, "cancelable");
}, "Constructing pageshow event, cancelable:true");
test(function() {
var e = new PageTransitionEvent("pagehide", {cancelable:true});
assert_true(e instanceof PageTransitionEvent);
assert_equals(e.type, "pagehide");
assert_false(e.persisted, "persisted");
assert_false(e.bubbles, "bubbles");
assert_true(e.cancelable, "cancelable");
}, "Constructing pagehide event, cancelable:true");
</script>

View file

@ -0,0 +1,43 @@
<!doctype html>
<title>Queue a task to fire hashchange event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
t = async_test();
window.onload = t.step_func(function () {
if (location.href.toString().indexOf("#") > -1) {
location.href = location.href.replace(/#.*$/,'');
return;
}
var root = location.href;
var oldURLs = [];
var newURLs = [];
var timer = null;
location.hash = 'foo';
window.onhashchange = t.step_func(function (e) {
oldURLs.push(e.oldURL);
newURLs.push(e.newURL);
if (newURLs.length === 2) {
check_result();
} else if (timer === null) {
timer = setTimeout(function() {check_result()}, 500);
}
})
check_result = t.step_func(function() {
clearTimeout(timer);
try {
assert_array_equals([root, root+"#foo"], oldURLs, "e.newURL");
assert_array_equals([root+"#foo", root+"#bar"], newURLs, "e.newURL");
t.done();
} finally {
location.hash = "";
}
});
location.hash = 'bar';
});
</script>

View file

@ -0,0 +1,40 @@
<!doctype html>
<title>Queue a task to fire popstate event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
t = async_test();
window.onload = t.step_func(function () {
var states = [];
var timer = null;
history.pushState("a", "State a", "/a");
history.pushState("b", "State b", "/b");
history.back();
window.onpopstate = t.step_func(function (e) {
states.push(e.state);
if (states.length === 2) {
check_result();
} else if (timer === null) {
timer = setTimeout(function() {check_result()}, 500);
}
})
check_result = t.step_func(function() {
clearTimeout(timer);
try {
assert_array_equals(states, ["a", null]);
t.done();
} finally {
location.hash = "";
}
});
setTimeout(function() {history.back()}, 0);
});
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
<title>window.name after navigating to a different origin</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
test(function() {assert_equals(window.name, "")})
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
<!-- test must be run in a top level browsing context -->
<title>window.name after navigating to a different origin</title>
<script>
window.name = "test_window";
location.href = location.href.replace("http://", "http://www.").replace("unset_context_name", "unset_context_name-1");
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
001-1
<script>
addEventListener("unload", function() {
location = location.href.replace("http://", "http://www.").replace(/\d{3}-\d\.html/, "001-3.html");
}, false);
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
001-2
<script>
parent.postMessage("001-2", "*");
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
001-3.html
<script>
parent.postMessage("001-3", "*");
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>Cross-origin navigation started from unload handler</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="001-1.html"></iframe>
<script>
var t = async_test();
onload = t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0];
var new_src = iframe.src.replace(/\d{3}-\d\.html/, "001-2.html");
iframe.src = new_src;
});
onmessage = t.step_func(function(e) {
assert_equals(e.data, "001-2");
t.done();
});
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
002-1
<script>
parent.postMessage("002-1", "*");
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
002-2
<script>
parent.postMessage("002-2", "*");
</script>

View file

@ -0,0 +1,23 @@
<!doctype html>
<title>Multiple simultaneous navigations</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="about:blank"></iframe>
<script>
var t = async_test();
onload = t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0];
setTimeout(t.step_func(function() {
iframe.src = "002-1.html?pipe=trickle(d1)";
setTimeout(t.step_func(function(){iframe.src = "002-2.html"}), 500);
}), 100);
});
onmessage = t.step_func(function(e) {
assert_equals(e.data, "002-2");
t.done();
});
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
<script>
onload = function() {
parent.postMessage("003-1", "*");
setTimeout(function() {location = "003-2.html";}, 100);
}
</script>

View file

@ -0,0 +1,9 @@
<!doctype html>
003-2
<script>
onload = function() {
parent.postMessage("003-2", "*")
setTimeout(function() {history.go(-1)})
}
onunload = function() {location = "003-3.html"}
</script>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
parent.postMessage("003-3", "*");
</script>

View file

@ -0,0 +1,22 @@
<!doctype html>
<title>Navigation from unload whilst traversing history</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="003-1.html"></iframe>
<script>
var t = async_test();
var pages = [];
var iframe = document.getElementsByTagName("iframe")[0];
onmessage = t.step_func(function(e) {
pages.push(e.data);
if(pages.length == 3) {
assert_array_equals(pages, ["003-1", "003-2", "003-1"]);
t.done();
iframe.parentNode.removeChild(iframe);
}
});
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
<script>
onload = function() {
parent.postMessage("003-1", "*");
setTimeout(function() {location = location.replace("http://", "http://www.").replace("004-1.html", "004-2.html");}, 100);
}
</script>

View file

@ -0,0 +1,9 @@
<!doctype html>
003-2
<script>
onload = function() {
parent.postMessage("004-2", "*")
setTimeout(function() {history.go(-1)})
}
onunload = function() {location = "004-3.html"}
</script>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
parent.postMessage("004-3", "*");
</script>

View file

@ -0,0 +1,22 @@
<!doctype html>
<title>Navigation from unload whilst traversing cross-origin history</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="004-1.html"></iframe>
<script>
var t = async_test();
var pages = [];
var iframe = document.getElementsByTagName("iframe")[0];
onmessage = t.step_func(function(e) {
pages.push(e.data);
if(pages.length == 3) {
assert_array_equals(pages, ["004-1", "004-2", "004-1"]);
t.done();
iframe.parentNode.removeChild(iframe);
}
});
</script>

View file

@ -0,0 +1,16 @@
<!doctype html>
<title>Link with onclick navigation and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe name="test"></iframe>
<a target="test" onclick="document.getElementById('test').contentWindow.location='click.html'" href="href.html">Test</a>
<script>
var t = async_test();
t.step(function() {document.links[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>Link with onclick form submit and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe name="test"></iframe>
<form target="test" action="click.html"></form>
<a target="test" onclick="document.forms[0].submit()" href="href.html">Test</a>
<script>
var t = async_test();
t.step(function() {document.links[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,16 @@
<!doctype html>
<title>Link with onclick javascript url and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<a target="test" onclick="document.getElementById('test').contentWindow.location = 'javascript:\'abc<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>\'';" href="href.html">Test</a>
<script>
var t = async_test();
t.step(function() {document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>Link with onclick form submit to javascript url and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<form target="test" action="javascript:'<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>'"></form>
<a target="test" onclick="document.forms[0].submit()" href="href.html">Test</a>
<script>
var t = async_test();
t.step(function() {document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,22 @@
<!doctype html>
<title>Link with onclick form submit to javascript url with document.write and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<form target="test" action="javascript:(function() {document.write('<script>parent.postMessage(&quot;write&quot;, &quot;*&quot;)</script>'); return '<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>'})()"></form>
<a target="test" onclick="document.forms[0].submit()" href="href.html">Test</a>
<script>
var t = async_test();
var events = [];
t.step(function() {
document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
events.push(e.data);
if (events.length === 2) {
assert_array_equals(events, ["write", "href"]);
t.done();
}
});
</script>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>Link with onclick form submit to javascript url with delayed document.write and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<form target="test" action="javascript:(function() {var x = new XMLHttpRequest(); x.open('GET', 'blank.html?pipe=trickle(d2)', false); x.send(); document.write('<script>parent.postMessage(&quot;write&quot;, &quot;*&quot;)</script>'); return '<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>'})()"></form>
<a target="test" onclick="document.forms[0].submit()" href="href.html">Test</a>
<script>
var t = async_test(undefined, {timeout:4000});
t.step(function() {document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,21 @@
<!doctype html>
<title>Link with onclick navigation to javascript url with document.write and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<a target="test" onclick="javascript:(function() {document.write('<script>parent.postMessage(&quot;write&quot;, &quot;*&quot;)</script>'); return '<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>'})()" href="href.html">Test</a>
<script>
var t = async_test();
var events = [];
t.step(function() {
document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
events.push(e.data);
if (events.length === 2) {
assert_array_equals(events, ["write", "href"]);
t.done();
}
});
</script>

View file

@ -0,0 +1,16 @@
<!doctype html>
<title>Link with onclick navigation to javascript url with delayed document.write and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<a target="test" onclick="javascript:(function() {var x = new XMLHttpRequest(); x.open('GET', 'blank.html?pipe=trickle(d2)', false); x.send(); document.write('write<script>parent.postMessage(&quot;write&quot;, &quot;*&quot;)</script>'); return '<script>parent.postMessage(&quot;click&quot;, &quot;*&quot;)</script>'})()" href="href.html">Test</a>
<script>
var t = async_test(undefined, {timeout:4000});
t.step(function() {document.getElementsByTagName("a")[0].click()});
onmessage = t.step_func(
function(e) {
assert_equals(e.data, "href");
t.done();
});
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>Link with onclick navigation to javascript url with delayed document.write and href navigation </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<a target="test" href="javascript:parent.events.push('javascript');">Test</a>
<script>
var t = async_test(undefined, {timeout:4000});
var events = [];
t.step(function() {
document.getElementsByTagName("a")[0].click();
events.push('after script');
});
onload = t.step_func(function() {
//assuming the order is sync
assert_array_equals(events, ['javascript', 'after script']);
t.done();
});
</script>

View file

@ -0,0 +1,21 @@
<!doctype html>
<title> Link with javascript onclick form submission script order </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<form action="javascript:parent.events.push('submit')"></form>
<a target="test" onclick="document.forms[0].submit()">Test</a>
<script>
var t = async_test(undefined, {timeout:4000});
var events = [];
t.step(function() {
document.getElementsByTagName("a")[0].click();
events.push('after script');
});
onload = t.step_func(function() {
//assuming the order is sync
assert_array_equals(events, ['javascript', 'after script']);
t.done();
});
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title> Link with javascript onclick and href script order </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe id="test" name="test"></iframe>
<a target="test" onclick="parent.events.push('click');" href="javascript:parent.events.push('href')">Test</a>
<script>
var t = async_test(undefined, {timeout:4000});
var events = [];
t.step(function() {
document.getElementsByTagName("a")[0].click();
events.push('after script');
});
onload = t.step_func(function() {
//assuming the order is sync
assert_array_equals(events, ['click', 'href', 'after script']);
t.done();
});
</script>

View file

@ -0,0 +1,42 @@
support 001-1.html
support 001-2.html
support 001-3.html
http 001.html
support 002-1.html
support 002-2.html
002.html
support 003-1.html
support 003-2.html
support 003-3.html
003.html
support 004-1.html
support 004-2.html
support 004-3.html
004.html
005.html
006.html
007.html
008.html
009.html
010.html
011.html
012.html
013.html
014.html
015.html
support blank.html
support child_navigates_parent_location-1.html
support child_navigates_parent_location-2.html
support child_navigates_parent_location-3.html
child_navigates_parent_location.html
support child_navigates_parent_submit-1.html
support child_navigates_parent_submit-2.html
support child_navigates_parent_submit-3.html
child_navigates_parent_submit.html
support click.html
support href.html
support navigation_unload_data_url-1.html
navigation_unload_data_url.html
support navigation_unload_same_origin-1.html
navigation_unload_same_origin.html
support slice-and-dice.php

View file

@ -0,0 +1,3 @@
<!doctype html>
<script>parent.postMessage("initial", "*")</script>
<iframe src="child_navigates_parent_location-2.html"></iframe>

View file

@ -0,0 +1,5 @@
<!doctype html>
<script>
parent.parent.postMessage("inner", "*");
parent.location = "child_navigates_parent_location-3.html"
</script>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
parent.postMessage("destination", "*");
</script>

View file

@ -0,0 +1,17 @@
<!doctype html>
<title>Child document navigating parent via location </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
var events = [];
onmessage = t.step_func(function(e) {
events.push(e.data);
if (events.length == 3) {
assert_array_equals(events, ["initial", "inner", "destination"]);
t.done();
}
});
</script>
<iframe src="child_navigates_parent_location-1.html"></iframe>

View file

@ -0,0 +1,3 @@
<!doctype html>
<script>parent.postMessage("initial", "*")</script>
<iframe src="child_navigates_parent_submit-2.html"></iframe>

View file

@ -0,0 +1,6 @@
<!doctype html>
<form action="child_navigates_parent_submit-3.html" target="_parent"></form>
<script>
parent.parent.postMessage("inner", "*");
document.forms[0].submit()
</script>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
parent.postMessage("destination", "*");
</script>

View file

@ -0,0 +1,18 @@
<!doctype html>
<title>Child document navigating parent via submit </title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
var events = [];
onmessage = t.step_func(function(e) {
events.push(e.data);
if (events.length == 3) {
assert_array_equals(events, ["initial", "inner", "destination"]);
t.done();
}
});
</script>
<iframe src="child_navigates_parent_submit-1.html"></iframe>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
parent.postMessage("click", "*");
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
<script>
parent.postMessage("href", "*");
</script>
href

View file

@ -0,0 +1,7 @@
<!doctype html>
001-1
<script>
addEventListener("unload", function() {
location = "data:text/html,unload<script>parent.postMessage('fail', '*');<\/script>";
}, false);
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>Same-origin navigation started from unload handler</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="navigation_unload_data_url-1.html"></iframe>
<script>
var t = async_test();
onload = t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0];
var new_src = "data:text/html,load<script>parent.postMessage('pass', '*')<\/script>";
iframe.src = new_src;
});
onmessage = t.step_func(function(e) {
assert_equals(e.data, "pass");
t.done();
});
</script>

View file

@ -0,0 +1,7 @@
<!doctype html>
001-1
<script>
addEventListener("unload", function() {
location = location.href.replace(/[^\/\.]*\.html/, "001-3.html");
}, false);
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>Same-origin navigation started from unload handler</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<iframe src="navigation_unload_same_origin-1.html"></iframe>
<script>
var t = async_test();
onload = t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0];
var new_src = iframe.src.replace(/[^\/\.]*\.html/, "001-2.html");
iframe.src = new_src;
});
onmessage = t.step_func(function(e) {
assert_equals(e.data, "001-3");
t.done();
});
</script>

View file

@ -0,0 +1,16 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: Updating document address</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
assert_equals(location.hash, "", "Page must be loaded with no hash")
var original_location = location.href;
location.hash = "test";
assert_equals(location.hash, "#test");
assert_equals(location.href, original_location + "#test");
location.hash = ""
});
</script>

View file

@ -0,0 +1,21 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: Updating document address twice</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
test(function() {
assert_equals(location.hash, "", "Page must be loaded with no hash")
var original_location = location.href;
location.hash = "test";
assert_equals(location.hash, "#test");
assert_equals(location.href, original_location + "#test");
location.hash = "test1";
assert_equals(location.hash, "#test1");
assert_equals(location.href, original_location + "#test1");
location.hash = "";
});
</script>

View file

@ -0,0 +1,25 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: Updating scroll position</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<div id="test">scroll 1</div>
<div style="height:10000px">Filler</div>
<div id="test1">scroll 2</div>
<script>
test(function() {
assert_equals(document.body.scrollTop, 0);
location.hash = "test";
var scroll1 = document.body.scrollTop;
assert_true(scroll1 > 0);
location.hash = "test1";
var scroll2 = document.body.scrollTop;
assert_true(scroll2 > scroll1);
location.hash = ""
});
</script>

View file

@ -0,0 +1,23 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: hashchange event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<script>
var t = async_test();
t.step(function() {
assert_equals(location.hash, "", "Page must be loaded with no hash");
location.hash = "test";
addEventListener("hashchange",
t.step_func(function(e) {
assert_equals(e.target, window);
assert_equals(e.type, "hashchange");
assert_true(e.bubbles, "bubbles");
assert_false(e.cancelable, "cancelable");
t.done();
}), true)
});
</script>

View file

@ -0,0 +1,23 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: hashchange event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<script>
var t = async_test();
t.step(function() {
var original_url = location.href;
assert_equals(location.hash, "", "Page must be loaded with no hash");
location.hash = "test";
addEventListener("hashchange",
t.step_func(function(e) {
assert_equals(e.oldURL, original_url, "oldURL property");
assert_equals(e.newURL, location.href, "newURL property");
location.hash = "";
t.done();
}), true);
});
</script>

View file

@ -0,0 +1,34 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: hashchange event multiple changes old/newURL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<script>
var t = async_test();
t.step(function() {
var original_url = location.href;
assert_equals(location.hash, "", "Page must be loaded with no hash");
location.hash = "test";
var count = 0;
var mid_url = location.href;
addEventListener("hashchange",
t.step_func(function(e) {
if (count === 0) {
assert_equals(e.oldURL, original_url, "oldURL property first update");
assert_equals(e.newURL, mid_url, "newURL property first update");
count = 1;
} else if (count === 1) {
assert_equals(e.oldURL, mid_url, "oldURL property second update");
assert_equals(e.newURL, location.href, "newURL property second update");
location.hash = "";
t.done();
}
}), true);
location.hash = "test1";
});
</script>

View file

@ -0,0 +1,36 @@
<!doctype html>
<!-- this tests the spec as it hopefully will be once bug https://www.w3.org/Bugs/Public/show_bug.cgi?id=17155 is fixed -->
<title>Fragment Navigation: hashchange event multiple changes old/newURL</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<div id="log"></div>
<script>
var t = async_test(undefined, {timeout:30000});
t.step(function() {
var original_url = location.href;
assert_equals(location.hash, "", "Page must be loaded with no hash");
var count = 0;
location.hash = "test";
hashes = [];
addEventListener("hashchange",
t.step_func(function(e) {
if (count < 1000) {
location.hash = "test" + count++;
hashes.push(location.hash);
} else if (count === 1000) {
expected = [];
for (var i=0; i<1000; i++) {
expected.push("#test" + i);
}
assert_array_equals(hashes, expected);
location.hash = "";
t.done();
}
}), true);
});
</script>

View file

@ -0,0 +1,7 @@
001.html
002.html
003.html
004.html
005.html
006.html
007.html

View file

@ -0,0 +1,33 @@
support 001-1.html
support 001a.html
support 001b.html
001.html
support 002-1.html
support 002a.html
support 002b.html
002.html
support 003-1.html
support 003a.html
support 003b.html
003.html
support 004-1.html
support 004a.html
support 004b.html
004.html
support 005-1.html
support 005a.html
support 005b.html
005.html
base.html
support beforeunload-on-history-back-1.html
beforeunload-on-history-back.html
support beforeunload-on-navigation-of-parent-1.html
support beforeunload-on-navigation-of-parent-2.html
beforeunload-on-navigation-of-parent.html
support navigation-within-beforeunload-1.html
support navigation-within-beforeunload-2.html
navigation-within-beforeunload.html
support pagehide-on-history-forward-1.html
pagehide-on-history-forward.html
dir prompt
dir unload

View file

@ -0,0 +1,14 @@
<!doctype html>
Base
<script>
onpagehide = function() {
if(top.base_hide) {
top.base_hide();
}
}
onpageshow = function() {
if (top.base_show) {
top.base_show();
}
}
</script>

View file

@ -0,0 +1,5 @@
<!doctype html>
001-1
<script>
addEventListener("beforeunload", function() {top.t.step(function() {top.beforeunload_fired = true})}, false);
</script>

View file

@ -0,0 +1,31 @@
<!doctype html>
<title>beforeunload event fires on history navigation back</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
beforeunload_fired = false;
var t = async_test();
var base_count = 0;
onload = function() {setTimeout(t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0]
iframe.onload = t.step_func(function() {
iframe.onload = null;
history.go(-1);
});
iframe.src = "beforeunload-on-history-back-1.html";
}), 100)};
base_show = t.step_func(function() {
base_count++;
if (base_count > 1) {
assert_true(beforeunload_fired);
t.done();
}
});
</script>
<iframe src="base.html"></iframe>

View file

@ -0,0 +1,2 @@
<!doctype html>
<iframe src="beforeunload-on-navigation-of-parent-2.html"></iframe>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
addEventListener("beforeunload", function() {parent.parent.beforeunload_fired=true}, false)
</script>

View file

@ -0,0 +1,31 @@
<!doctype html>
<title>beforeunload in iframe on navigation of parent</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
beforeunload_fired = false;
var t = async_test();
var base_count = 0;
onload = function() {setTimeout(t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0]
iframe.onload = t.step_func(function() {
iframe.onload = null;
history.go(-1);
});
iframe.src = "beforeunload-on-navigation-of-parent-1.html";
}), 100)};
base_show = t.step_func(function() {
base_count++;
if (base_count > 1) {
assert_true(beforeunload_fired);
t.done();
}
});
</script>
<iframe src="base.html"></iframe>

View file

@ -0,0 +1,10 @@
<!doctype html>
004-1
<script>
addEventListener("beforeunload",
function() {
if (top.counter++ < 999) {
location = "navigation-within-beforeunload-2.html?" + top.counter;
}
}, false);
</script>

View file

@ -0,0 +1,4 @@
<!doctype html>
<script>
document.write(location)
</script>

View file

@ -0,0 +1,26 @@
<!doctype html>
<title>Triggering navigation from withing beforeunload event</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
beforeunload_fired = false;
var t = async_test();
var base_count = 0;
var counter = 0;
onload = function() {setTimeout(function() {
var iframe = document.getElementsByTagName("iframe")[0]
iframe.onload = function() {
setTimeout(function() {iframe.contentWindow.location="navigation-within-beforeunload-2.html";}, 100);
iframe.onload = t.step_func(function() {assert_equals(counter, 1000); t.done()});
};
iframe.src = "navigation-within-beforeunload-1.html?" + Math.random();
}, 100)};
</script>
<iframe src="base.html"></iframe>

View file

@ -0,0 +1,19 @@
<!doctype html>
<title>pagehide event fires on history navigation forward</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
onload = function() {setTimeout(t.step_func(function() {
var iframe = document.getElementsByTagName("iframe")[0]
iframe.src = "pagehide-on-history-forward-1.html";
}), 100)};
base_hide = t.step_func(function() {
t.done()
});
</script>
<iframe src="base.html"></iframe>

View file

@ -0,0 +1,10 @@
<script>
addEventListener("beforeunload",
function() {
parent.events.push("beforeunload");
}, false);
parent.events.push("before src change");
location.href = "001-2.html&pipe=trickle(d2)";
parent.events.push("after src change");
</script>

View file

@ -0,0 +1,14 @@
<!doctype html>
<title>beforeunload event order</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
events = [];
onload = t.step_func(function() {
assert_array_equals(events, ["before src change", "beforeunload", "after src change"]);
t.done();
})
</script>
<iframe src="001-1.html"></iframe>

View file

@ -0,0 +1,7 @@
<script>
addEventListsner("beforeunload", parent.t.step_func(
function(e) {
parent.do_test(e);
}, false);
location.href = "001-2.html&pipe=trickle(d2)";
</script>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>beforeunload event properties</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
function do_test(e) {
assert_equals(e.type, "beforeunload");
assert_false(e.bubbles, "bubbles");
assert_true(e.cancelable, "bubbles");
assert_equals(e.returnValue, "");
}
onload = t.step_func(function() {
t.done();
})
</script>
<iframe src="001-1.html"></iframe>

View file

@ -0,0 +1,20 @@
<!doctype html>
<title>beforeunload event in child frame for parent navigation</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
var t = async_test();
function do_test(e) {
assert_equals(e.type, "beforeunload");
assert_false(e.bubbles, "bubbles");
assert_true(e.cancelable, "bubbles");
assert_equals(e.returnValue, "");
}
onload = t.step_func(function() {
t.done();
})
</script>
<iframe src="001-1.html"></iframe>

View file

@ -0,0 +1,14 @@
support 001-1.html
support 001-2.html
001.html
support 002-1.html
002.html
003.html
manual manual-001.html
manual manual-002.html
manual manual-003.html
manual manual-004.html
manual manual-005.html
manual manual-006.html
support next.html
support slice-and-dice.php

Some files were not shown because too many files have changed in this diff Show more