Description

This test validates that the navigation and timing attributes exist for window.performance (but does not validate that their values are correct).


PASS window.performance is defined 
PASS window.performance.navigation is defined 
PASS window.performance.timing is defined 

