This test dumps all of the properties that are reachable from the window.performance object, along with their types. window.performance [object Performance] window.performance.addEventListener [function] window.performance.dispatchEvent [function] window.performance.navigation [object PerformanceNavigation] window.performance.navigation.TYPE_BACK_FORWARD [number] window.performance.navigation.TYPE_NAVIGATE [number] window.performance.navigation.TYPE_RELOAD [number] window.performance.navigation.TYPE_RESERVED [number] window.performance.navigation.redirectCount [number] window.performance.navigation.type [number] window.performance.now [function] window.performance.removeEventListener [function] window.performance.timing [object PerformanceTiming] window.performance.timing.connectEnd [number] window.performance.timing.connectStart [number] window.performance.timing.domComplete [number] window.performance.timing.domContentLoadedEventEnd [number] window.performance.timing.domContentLoadedEventStart [number] window.performance.timing.domInteractive [number] window.performance.timing.domLoading [number] window.performance.timing.domainLookupEnd [number] window.performance.timing.domainLookupStart [number] window.performance.timing.fetchStart [number] window.performance.timing.loadEventEnd [number] window.performance.timing.loadEventStart [number] window.performance.timing.navigationStart [number] window.performance.timing.redirectEnd [number] window.performance.timing.redirectStart [number] window.performance.timing.requestStart [number] window.performance.timing.responseEnd [number] window.performance.timing.responseStart [number] window.performance.timing.secureConnectionStart [number] window.performance.timing.toJSON [function] window.performance.timing.unloadEventEnd [number] window.performance.timing.unloadEventStart [number] window.performance.timing [printed above as window.performance.timing] window.performance.navigation [printed above as window.performance.navigation] window.performance [string]