Description

This test validates that, within child documents, all of the Page Visibility API attributes exist, are read-only, and match the value of the attributes within the parent document.


PASS document.hidden is defined and not null.
PASS document.visibilityState is defined and not null.
PASS Page Visibility API Child Document Test
PASS document.hidden is defined for frame with no style attribute.
PASS document.visibilityState is defined for frame with no style attribute.
PASS document.visibilityState for frame with no style attribute == visible
PASS Page Visibility API Child Document Test 1
PASS document.hidden is defined for frame with 'display:none' style.
PASS document.visibilityState is defined for frame with 'display:none' style.
PASS document.visibilityState for frame with 'display:none' style == visible
PASS Page Visibility API Child Document Test 2
PASS document.hidden is defined for frame with 'visibility:hidden' style.
PASS document.visibilityState is defined for frame with 'visibility:hidden' style.
PASS document.visibilityState for frame with 'visibility:hidden' style == visible

IFrame with no style attribute
IFrame with "display:none" style
IFrame with "visibility:hidden" style

