Tests that the following classes are not manipulable by JavaScript (NoInterfaceObject).

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS typeof NavigatorUserMedia is "undefined"
PASS NavigatorUserMedia.prototype threw exception ReferenceError
PASS typeof NavigatorUserMediaError is "undefined"
PASS NavigatorUserMediaError.prototype threw exception ReferenceError
PASS typeof NavigatorUserMediaSuccessCallback is "undefined"
PASS NavigatorUserMediaSuccessCallback.prototype threw exception ReferenceError
PASS typeof NavigatorUserMediaErrorCallback is "undefined"
PASS NavigatorUserMediaErrorCallback.prototype threw exception ReferenceError
PASS successfullyParsed is true

TEST COMPLETE

