Simple fix to fool hasOwnProperty. This can still be detected by the method described in #1.
This would still leak the function overwrite because window.navigator.permissions.query.toString.toString() would evaluate to _ => 'function query() { [native code] }' instead of function toString() { [native code] }.
See: http://jsbin.com/vokoboloqu/1/edit?js,console
Simple fix to fool
hasOwnProperty
. This can still be detected by the method described in #1.