This tests that the navigator object of a deleted frame is disconnected properly. Accessing fields or methods shouldn't crash the browser.
 Check Navigator
navigator.appCodeName is OK
navigator.appName is OK
navigator.appVersion is OK
navigator.clipboard is OK
navigator.contacts is OK
navigator.cookieEnabled is OK
navigator.getStorageUpdates() is OK
navigator.javaEnabled() is OK
navigator.language is OK
navigator.languages is OK
navigator.maxTouchPoints is OK
navigator.mediaCapabilities is OK
navigator.mediaSession is OK
navigator.mimeTypes is OK
navigator.onLine is OK
navigator.permissions is OK
navigator.platform is OK
navigator.plugins is OK
navigator.product is OK
navigator.productSub is OK
navigator.requestMediaKeySystemAccess() is OK
navigator.sendBeacon() threw err TypeError: Not enough arguments
navigator.serviceWorker is OK
navigator.storage is OK
navigator.userAgent is OK
navigator.vendor is OK
navigator.vendorSub is OK
navigator.webdriver is OK
navigator.xr is OK
navigator.appCodeName is OK
navigator.appName is OK
navigator.appVersion is OK
navigator.clipboard is OK
navigator.contacts is OK
navigator.cookieEnabled is OK
navigator.getStorageUpdates() is OK
navigator.javaEnabled() is OK
navigator.language is OK
navigator.languages is OK
navigator.maxTouchPoints is OK
navigator.mediaCapabilities is OK
navigator.mediaSession is OK
navigator.mimeTypes is OK
navigator.onLine is OK
navigator.permissions is OK
navigator.platform is OK
navigator.plugins is OK
navigator.product is OK
navigator.productSub is OK
navigator.requestMediaKeySystemAccess() is OK
navigator.sendBeacon() threw err TypeError: Not enough arguments
navigator.serviceWorker is OK
navigator.storage is OK
navigator.userAgent is OK
navigator.vendor is OK
navigator.vendorSub is OK
navigator.webdriver is OK
navigator.xr is OK

