Guest User

Untitled

a guest
Jul 21st, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. function MinibufferEvent(NAME) {
  2. function dispatchMessageEvent(name, obj) {
  3. var ev = document.createEvent('MessageEvent');
  4. ev.initMessageEvent(name, true, false, JSON.stringify(obj), NAME, '', null);
  5. document.dispatchEvent(ev);
  6. }
  7. // first
  8. var EVENT = GM_getValue('EVENT', NAME+'_'+Math.random().toString(36).substring(2));
  9. var AUTH = false;
  10. var AUTH_REJECTED = GM_getValue('AUTH_REJECTED', false);
  11. if (!AUTH_REJECTED) {
  12. AUTH_REJECTED = true;
  13. document.addEventListener(EVENT+'.CheckCallback', function callback(ev) {
  14. document.removeEventListener(ev.type, callback, false);
  15. AUTH_REJECTED = false;
  16. AUTH = true;
  17. }, false);
  18. dispatchMessageEvent(EVENT+'.Check', null);
  19. GM_setValue('AUTH_REJECTED', AUTH_REJECTED);
  20. if (!AUTH) {
  21. // not authentificated
  22. document.addEventListener(EVENT+'.AuthCallback', function callback(ev) {
  23. document.removeEventListener(ev.type, callback, false);
  24. AUTH = true;
  25. }, false);
  26. dispatchMessageEvent('Minibuffer.Auth', EVENT);
  27. }
  28. if (AUTH) {
  29. MinibufferEvent.dispatch = function MinibufferEventDispatch(name, obj, callback) {
  30. document.addEventListener(EVENT + '.Callback', function c(ev) {
  31. document.removeEventListener(ev.type, c, false);
  32. callback(ev);
  33. }, false);
  34. dispatchMessageEvent(EVENT, obj);
  35. }
  36. }
  37. }
  38. }
Add Comment
Please, Sign In to add comment