Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function MinibufferEvent(NAME) {
- function dispatchMessageEvent(name, obj) {
- var ev = document.createEvent('MessageEvent');
- ev.initMessageEvent(name, true, false, JSON.stringify(obj), NAME, '', null);
- document.dispatchEvent(ev);
- }
- // first
- var EVENT = GM_getValue('EVENT', NAME+'_'+Math.random().toString(36).substring(2));
- var AUTH = false;
- var AUTH_REJECTED = GM_getValue('AUTH_REJECTED', false);
- if (!AUTH_REJECTED) {
- AUTH_REJECTED = true;
- document.addEventListener(EVENT+'.CheckCallback', function callback(ev) {
- document.removeEventListener(ev.type, callback, false);
- AUTH_REJECTED = false;
- AUTH = true;
- }, false);
- dispatchMessageEvent(EVENT+'.Check', null);
- GM_setValue('AUTH_REJECTED', AUTH_REJECTED);
- if (!AUTH) {
- // not authentificated
- document.addEventListener(EVENT+'.AuthCallback', function callback(ev) {
- document.removeEventListener(ev.type, callback, false);
- AUTH = true;
- }, false);
- dispatchMessageEvent('Minibuffer.Auth', EVENT);
- }
- if (AUTH) {
- MinibufferEvent.dispatch = function MinibufferEventDispatch(name, obj, callback) {
- document.addEventListener(EVENT + '.Callback', function c(ev) {
- document.removeEventListener(ev.type, c, false);
- callback(ev);
- }, false);
- dispatchMessageEvent(EVENT, obj);
- }
- }
- }
- }
Add Comment
Please, Sign In to add comment