MouseEvent.prototype.x or MouseEvent.prototype.y not supported fix

for browsers that don't support MouseEvent.prototype.x or MouseEvent.prototype.y

// ==UserScript==
// @name        MouseEvent.prototype.x or MouseEvent.prototype.y not supported fix
// @namespace   http://bzzzzdzzzz.blogspot.com/
// @description for browsers that don't support MouseEvent.prototype.x or MouseEvent.prototype.y
// @author      BZZZZ
// @include     *
// @version     0.2
// @grant       unsafeWindow
// @run-at      document-start
// ==/UserScript==

(function(){
  "use strict";
  var d=Object.defineProperty,g=Object.getOwnPropertyDescriptor,p=unsafeWindow.MouseEvent.prototype,h=Object.prototype.hasOwnProperty.bind(p);
  h("x")||d(p,"x",g(p,"clientX"));
  h("y")||d(p,"y",g(p,"clientY"));
})();