From 38ac7450a62ffee9aedf01d0ede697b9bff95639 Mon Sep 17 00:00:00 2001 From: "Ilya Ig. Petrov" Date: Fri, 2 Dec 2016 10:52:11 -0800 Subject: [PATCH] Add error catching, viewing and reporting via sentry --- .../extension/11-api-error-handlers.js | 92 +++-- ...2-api-sync-pac-script-with-pac-provider.js | 22 +- .../extension/20-api-fixes.js | 15 +- .../extension/manifest.json | 1 + .../pages/choose-pac-provider/index.js | 371 +++++++++--------- .../extension/pages/view-error/err.jpg | Bin 0 -> 112260 bytes .../extension/pages/view-error/index.html | 75 ++++ .../extension/pages/view-error/index.js | 100 +++++ .../vendor/code-prettify/run_prettify.js | 63 +++ .../vendor/code-prettify/skins/sunburst.css | 1 + .../vendor/highlight.js/highlight9.8.0.min.js | 2 + .../highlight.js/styles/atom-one-dark.css | 96 +++++ .../pages/view-error/vendor/raven3.8.1.min.js | 3 + 13 files changed, 607 insertions(+), 234 deletions(-) create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/err.jpg create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.html create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.js create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/code-prettify/run_prettify.js create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/code-prettify/skins/sunburst.css create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/highlight.js/highlight9.8.0.min.js create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/highlight.js/styles/atom-one-dark.css create mode 100644 extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/raven3.8.1.min.js diff --git a/extensions/chromium/minimalistic-pac-setter/extension/11-api-error-handlers.js b/extensions/chromium/minimalistic-pac-setter/extension/11-api-error-handlers.js index aa1e5ff..fdd9fcf 100644 --- a/extensions/chromium/minimalistic-pac-setter/extension/11-api-error-handlers.js +++ b/extensions/chromium/minimalistic-pac-setter/extension/11-api-error-handlers.js @@ -4,7 +4,6 @@ const handlersState = function(key, value) { - console.log(key, value, '!'); key = 'handlers-' + key; if (value === null) { return localStorage.removeItem(key); @@ -21,6 +20,7 @@ }; const ifPrefix = 'if-on-'; + const extName = chrome.runtime.getManifest().name; window.apis.errorHandlers = { @@ -67,29 +67,19 @@ }, - }; + idToErr: {}, -} - -// INIT -chrome.proxy.settings.get( - {}, - (details) => window.apis.errorHandlers.isNotControlled(details) -); - -{ - - const extName = chrome.runtime.getManifest().name; - - const mayNotify = function( - id, title, message, + mayNotify( + id, title, errOrMessage, icon = 'default-128.png', context = extName ) { - if ( !window.apis.errorHandlers.isOn(id) ) { + if ( !this.isOn(id) ) { return; } + this.idToErr[id] = errOrMessage; + const message = errOrMessage.message || errOrMessage.toString(); chrome.notifications.create( id, { @@ -103,31 +93,66 @@ chrome.proxy.settings.get( } ); - }; + }, - window.addEventListener('error', (err) => { + installListenersOn(win, name, cb) { - console.warn('GLOBAL ERROR', err); - mayNotify('ext-error', 'Unhandled error', JSON.stringify(err), - 'ext-error-128.png'); + win.addEventListener('error', (errEvent) => { + + console.warn(name + ':GLOBAL ERROR', errEvent); + this.mayNotify('ext-error', 'Ошибка расширения', errEvent, + 'ext-error-128.png'); + + }); + + win.addEventListener('unhandledrejection', (event) => { + + console.warn(name + ':Unhandled rejection. Throwing error.'); + event.preventDefault(); + throw event.reason; + + }); + + if (cb) { + // setTimeout changes error context. + setTimeout(cb, 0); + } + + }, + + }; + +} + +{ + + const handlers = window.apis.errorHandlers; + + // INIT + chrome.proxy.settings.get( + {}, + (details) => handlers.isNotControlled(details) + ); + + chrome.notifications.onClicked.addListener( function(notId) { + + chrome.notifications.clear(notId); + if(notId === 'no-control') { + return chrome.tabs.create({active: true, url: 'chrome://settings/#proxy'}); + } + chrome.tabs.create({active: true, url: './pages/view-error/index.html#' + notId}); }); - window.addEventListener('unhandledrejection', (event) => { - - console.warn('Unhandled rejection. Throwing error.'); - event.preventDefault(); - throw event.reason; - - }); + handlers.installListenersOn(window, 'BG'); chrome.proxy.onProxyError.addListener((details) => { - if (window.apis.errorHandlers.ifNoControl) { + if (handlers.ifNoControl) { return; } console.warn('PAC ERROR', details); - mayNotify('pac-error', ' PAC !', JSON.stringify(details), + handlers.mayNotify('pac-error', 'Ошибка PAC!', details, 'pac-error-128.png' ); }); @@ -136,8 +161,9 @@ chrome.proxy.settings.get( console.log('Proxy settings changed.', details); const noCon = 'no-control'; - if ( window.apis.errorHandlers.isNotControlled(details) ) { - mayNotify(noCon, 'Proxy changed', JSON.stringify(details), + if ( handlers.isNotControlled(details) ) { + console.log(details); + handlers.mayNotify(noCon, 'Прокси контролирует другое расширение', details, 'no-control-128.png'); } else { chrome.notifications.clear( noCon ); diff --git a/extensions/chromium/minimalistic-pac-setter/extension/12-api-sync-pac-script-with-pac-provider.js b/extensions/chromium/minimalistic-pac-setter/extension/12-api-sync-pac-script-with-pac-provider.js index fc7743a..f914863 100644 --- a/extensions/chromium/minimalistic-pac-setter/extension/12-api-sync-pac-script-with-pac-provider.js +++ b/extensions/chromium/minimalistic-pac-setter/extension/12-api-sync-pac-script-with-pac-provider.js @@ -99,7 +99,7 @@ _periodicUpdateAlarmReason: 'Периодичное обновление PAC-скрипта Антизапрет', - pushToStorage(cb) { + pushToStorageAsync(cb) { console.log('Pushing to storage...'); @@ -143,7 +143,7 @@ }, */ - syncWithPacProvider(key, cb) { + syncWithPacProviderAsync(key, cb) { if( !key || typeof(key) === 'function' ) { cb = key; @@ -200,7 +200,7 @@ if (pacErr && ipsErr) { return cb(pacErr, pacRes); } - this.pushToStorage( + this.pushToStorageAsync( (pushErr) => cb(pacErr || ipsErr || pushErr, pacRes) ); @@ -239,21 +239,21 @@ }, - installPac(key, cb) { + installPacAsync(key, cb) { console.log('Installing PAC...'); if (!key) { throw new Error('Key must be defined.'); } if (this.currentProviderKey !== key) { - return this.syncWithPacProvider(key, cb); + return this.syncWithPacProviderAsync(key, cb); } console.log(key + ' already installed.'); cb(); }, - clearPac(cb) { + clearPacAsync(cb) { cb = asyncLogGroup('Cearing alarms and PAC...', cb); chrome.alarms.clearAll( @@ -266,7 +266,7 @@ return cb(err); } this.currentPacProviderKey = null; - this.pushToStorage(cb); + this.pushToStorageAsync(cb); } ) @@ -296,7 +296,7 @@ 'Periodic PAC update triggered:', new Date().toLocaleString('ru-RU') ); - antiCensorRu.syncWithPacProvider(/* Swallows errors. */); + antiCensorRu.syncWithPacProviderAsync(/* Swallows errors. */); } } @@ -358,7 +358,7 @@ // UPDATE & MIGRATION console.log('Extension updated.'); if (!ifAlarmTriggered) { - antiCensorRu.pushToStorage(/* Swallows errors. */); + antiCensorRu.pushToStorageAsync(/* Swallows errors. */); } /* @@ -414,7 +414,9 @@ args = replaceArgs; } const err = checkChromeError(stack); - cb && cb.call(null, err, ...args); + if (cb) { + setTimeout( cb.bind(null, err, ...args), 0 ); + } }; diff --git a/extensions/chromium/minimalistic-pac-setter/extension/20-api-fixes.js b/extensions/chromium/minimalistic-pac-setter/extension/20-api-fixes.js index 998915c..f05c5c2 100644 --- a/extensions/chromium/minimalistic-pac-setter/extension/20-api-fixes.js +++ b/extensions/chromium/minimalistic-pac-setter/extension/20-api-fixes.js @@ -4,20 +4,23 @@ (e.g. popup) to background window, so we may catch errors in bg error handlers. More: https://bugs.chromium.org/p/chromium/issues/detail?id=357568 + + setTimeout is applied to Async methods only (name ends with Async) */ // Fix error context of methods of all APIs. -for(const api of Object.keys(window.apis)) { +/* +for(const apiName of Object.keys(window.apis)) { + const api = window.apis[apiName]; for(const prop of Object.keys(api)) { - if ( typeof(api[prop]) !== 'function' ) { + const method = api[prop]; + if ( !(typeof(api[prop]) === 'function' + && method.name.endsWith('Async')) ) { continue; } - const method = api[prop]; api[prop] = function(...args) { setTimeout(method.bind(this, ...args), 0); }; } -} - - +}*/ diff --git a/extensions/chromium/minimalistic-pac-setter/extension/manifest.json b/extensions/chromium/minimalistic-pac-setter/extension/manifest.json index 295fdb6..9282edd 100755 --- a/extensions/chromium/minimalistic-pac-setter/extension/manifest.json +++ b/extensions/chromium/minimalistic-pac-setter/extension/manifest.json @@ -20,6 +20,7 @@ "contextMenus", "notifications" ], + "background": { "scripts": ["00-init-apis.js", "11-api-error-handlers.js", "12-api-sync-pac-script-with-pac-provider.js", "20-api-fixes.js", "30-block-informer.js", "40-context-menus.js"] }, diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.js b/extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.js index 9405386..6a94245 100755 --- a/extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.js +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/choose-pac-provider/index.js @@ -1,210 +1,211 @@ 'use strict'; -chrome.runtime.getBackgroundPage( (backgroundPage) => { +chrome.runtime.getBackgroundPage( (backgroundPage) => + backgroundPage.apis.errorHandlers.installListenersOn(window, 'POPUP', () => { - const getStatus = () => document.querySelector('#status'); + const getStatus = () => document.querySelector('#status'); - const setStatusTo = (msg) => { + const setStatusTo = (msg) => { - const status = getStatus(); - if (msg) { - status.classList.remove('off'); - status.innerHTML = msg; - } else { - status.classList.add('off'); - } - - }; - - const antiCensorRu = backgroundPage.apis.antiCensorRu; - - // SET DATE - - const setDate = () => { - - let dateForUser = 'никогда'; - if( antiCensorRu.lastPacUpdateStamp ) { - let diff = Date.now() - antiCensorRu.lastPacUpdateStamp; - let units = ' мс'; - const gauges = [ - [1000, ' с'], - [60, ' мин'], - [60, ' ч'], - [24, ' дн'], - [7, ' недель'], - [4, ' месяцев'], - [12, ' г'], - ]; - for(const g of gauges) { - const diffy = Math.floor(diff / g[0]); - if (!diffy) - break; - diff = diffy; - units = g[1]; + const status = getStatus(); + if (msg) { + status.classList.remove('off'); + status.innerHTML = msg; + } else { + status.classList.add('off'); } - dateForUser = diff + units + ' назад'; - } - - const dateElement = document.querySelector('.update-date'); - dateElement.innerText = dateForUser; - dateElement.title = new Date(antiCensorRu.lastPacUpdateStamp) - .toLocaleString('ru-RU'); - - }; - - setDate(); - chrome.storage.onChanged.addListener( - (changes) => changes.lastPacUpdateStamp.newValue && setDate() - ); - - // CLOSE BUTTON - - document.querySelector('.close-button').onclick = () => window.close(); - - // RADIOS - - const currentProviderRadio = () => { - - const id = antiCensorRu.currentPacProviderKey || 'none'; - return document.querySelector('#'+id); - - }; - const checkChosenProvider = () => currentProviderRadio().checked = true; - - const showError = (err) => { - - let clarification = err.clarification; - const ifNotCritical = clarification && clarification.ifNotCritical; - let message = err.message || ''; - - while( clarification ) { - message = (clarification && (clarification.message + ' ')) + message; - clarification = clarification.prev; - } - message = message.trim(); - setStatusTo( -` -${ifNotCritical ? 'Некритичная ошибка.' : 'Ошибка!'} - -
-${message} -[Ещё подробнее]` - ); - getStatus().querySelector('.link-button').onclick = function() { - - const div = document.createElement('div'); - div.innerHTML = ` -Более подробную информацию можно узнать из логов фоновой страницы:
- -chrome://extensions › -Это расширение › Отладка страниц: фоновая страница › Console (DevTools) -
-Ещё: ${JSON.stringify({err: err, stack: err.stack})} -`; - getStatus().replaceChild(div, this); - return false; }; - }; + const antiCensorRu = backgroundPage.apis.antiCensorRu; - const enableDisableInputs = function() { + // SET DATE - const inputs = document.querySelectorAll('input'); - for ( let i = 0; i < inputs.length; i++ ) { - inputs[i].disabled = !inputs[i].disabled; - } + const setDate = () => { - }; - - const conduct = (beforeStatus, operation, afterStatus, onSuccess) => { - - setStatusTo(beforeStatus); - enableDisableInputs(); - operation((err) => { - if (err) { - showError(err); - } else { - setStatusTo(afterStatus); - onSuccess && onSuccess(); + let dateForUser = 'никогда'; + if( antiCensorRu.lastPacUpdateStamp ) { + let diff = Date.now() - antiCensorRu.lastPacUpdateStamp; + let units = ' мс'; + const gauges = [ + [1000, ' с'], + [60, ' мин'], + [60, ' ч'], + [24, ' дн'], + [7, ' недель'], + [4, ' месяцев'], + [12, ' г'], + ]; + for(const g of gauges) { + const diffy = Math.floor(diff / g[0]); + if (!diffy) + break; + diff = diffy; + units = g[1]; + } + dateForUser = diff + units + ' назад'; } + + const dateElement = document.querySelector('.update-date'); + dateElement.innerText = dateForUser; + dateElement.title = new Date(antiCensorRu.lastPacUpdateStamp) + .toLocaleString('ru-RU'); + + }; + + setDate(); + chrome.storage.onChanged.addListener( + (changes) => changes.lastPacUpdateStamp.newValue && setDate() + ); + + // CLOSE BUTTON + + document.querySelector('.close-button').onclick = () => window.close(); + + // RADIOS + + const currentProviderRadio = () => { + + const id = antiCensorRu.currentPacProviderKey || 'none'; + return document.querySelector('#'+id); + + }; + const checkChosenProvider = () => currentProviderRadio().checked = true; + + const showError = (err) => { + + let clarification = err.clarification; + const ifNotCritical = clarification && clarification.ifNotCritical; + let message = err.message || ''; + + while( clarification ) { + message = (clarification && (clarification.message + ' ')) + message; + clarification = clarification.prev; + } + message = message.trim(); + setStatusTo( + ` + ${ifNotCritical ? 'Некритичная ошибка.' : 'Ошибка!'} + +
+ ${message} + [Ещё подробнее]` + ); + getStatus().querySelector('.link-button').onclick = function() { + + const div = document.createElement('div'); + div.innerHTML = ` + Более подробную информацию можно узнать из логов фоновой страницы:
+ + chrome://extensions › + Это расширение › Отладка страниц: фоновая страница › Console (DevTools) +
+ Ещё: ` + JSON.stringify({err: err, stack: err.stack}); + getStatus().replaceChild(div, this); + return false; + + }; + + }; + + const enableDisableInputs = function() { + + const inputs = document.querySelectorAll('input'); + for ( let i = 0; i < inputs.length; i++ ) { + inputs[i].disabled = !inputs[i].disabled; + } + + }; + + const conduct = (beforeStatus, operation, afterStatus, onSuccess) => { + + setStatusTo(beforeStatus); enableDisableInputs(); - }); + operation((err) => { + if (err) { + showError(err); + } else { + setStatusTo(afterStatus); + onSuccess && onSuccess(); + } + enableDisableInputs(); + }); - }; + }; - const ul = document.querySelector('#list-of-providers'); - const _firstChild = ul.firstChild; - for( const providerKey of Object.keys(antiCensorRu.pacProviders).sort() ) { - const li = document.createElement('li'); - li.innerHTML = ` - - [обновить]`; - li.querySelector('.link-button').onclick = - () => { - conduct( - 'Обновляем...', (cb) => antiCensorRu.syncWithPacProvider(cb), - 'Обновлено.' - ); + const ul = document.querySelector('#list-of-providers'); + const _firstChild = ul.firstChild; + for( const providerKey of Object.keys(antiCensorRu.pacProviders).sort() ) { + const li = document.createElement('li'); + li.innerHTML = ` + + [обновить]`; + li.querySelector('.link-button').onclick = + () => { + conduct( + 'Обновляем...', (cb) => antiCensorRu.syncWithPacProviderAsync(cb), + 'Обновлено.' + ); + return false; + }; + ul.insertBefore( li, _firstChild ); + } + checkChosenProvider(); + + const radios = [].slice.apply( + document.querySelectorAll('[name=pacProvider]') + ); + for(const radio of radios) { + radio.onclick = function(event) { + + if (event.target.id === (antiCensorRu.currentPacProviderKey || 'none')) { + return false; + } + const pacKey = event.target.id; + if (pacKey === 'none') { + conduct( + 'Отключение...', + (cb) => antiCensorRu.clearPacAsync(cb), + 'Отключено.', + checkChosenProvider + ); + } else { + conduct( + 'Установка...', + (cb) => antiCensorRu.installPacAsync(pacKey, cb), + 'PAC-скрипт установлен.', + checkChosenProvider + ); + } return false; }; - ul.insertBefore( li, _firstChild ); - } - checkChosenProvider(); + } - const radios = [].slice.apply( - document.querySelectorAll('[name=pacProvider]') - ); - for(const radio of radios) { - radio.onclick = function(event) { + const conpanel = document.getElementById('list-of-handlers'); + backgroundPage.apis.errorHandlers.getEventsMap().forEach( (value, name) => { - if (event.target.id === (antiCensorRu.currentPacProviderKey || 'none')) { - return false; - } - const pacKey = event.target.id; - if (pacKey === 'none') { - conduct( - 'Отключение...', - (cb) => antiCensorRu.clearPac(cb), - 'Отключено.', - checkChosenProvider - ); - } else { - conduct( - 'Установка...', - (cb) => antiCensorRu.installPac(pacKey, cb), - 'PAC-скрипт установлен.', - checkChosenProvider - ); - } - return false; - }; - } + const li = document.createElement('li'); + li.innerHTML = ` + + `; + const box = li.querySelector('input'); + box.checked = backgroundPage.apis.errorHandlers.isOn(name); + box.onclick = function() { - const conpanel = document.getElementById('list-of-handlers'); - backgroundPage.apis.errorHandlers.getEventsMap().forEach( (value, name) => { + const id = this.id.replace('if-on-', ''); + backgroundPage.apis.errorHandlers.switch(this.checked ? 'on' : 'off', id); - const li = document.createElement('li'); - li.innerHTML = ` - - `; - const box = li.querySelector('input'); - box.checked = backgroundPage.apis.errorHandlers.isOn(name); - box.onclick = function() { + }; + conpanel.appendChild(li); - const id = this.id.replace('if-on-', ''); - backgroundPage.apis.errorHandlers.switch(this.checked ? 'on' : 'off', id); + }); - }; - conpanel.appendChild(li); + setStatusTo(''); + if (antiCensorRu.ifFirstInstall) { + const id = antiCensorRu.currentPacProviderKey || 'none'; + document.querySelector('#update-' + id).click(); + } - }); - - setStatusTo(''); - if (antiCensorRu.ifFirstInstall) { - const id = antiCensorRu.currentPacProviderKey || 'none'; - document.querySelector('#update-' + id).click(); - } - -}); + }) +); diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/err.jpg b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/err.jpg new file mode 100644 index 0000000000000000000000000000000000000000..61fae227cadb49991342db5a36a8ea3d845c54ce GIT binary patch literal 112260 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 HmFfT4It-nd literal 0 HcmV?d00001 diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.html b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.html new file mode 100644 index 0000000..8344142 --- /dev/null +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.html @@ -0,0 +1,75 @@ + + + + Ошибка + + + +

+

Информация об ошибке

+
+
+
    +
  1. Тип: ext-error
  2. +
  3. +
  4. +
  5. + + + +
  6. +
+
+ + + + + + diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.js b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.js new file mode 100644 index 0000000..c11b596 --- /dev/null +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/index.js @@ -0,0 +1,100 @@ +'use strict'; + +function errorJsonReplacer(key, value) { + + if ( !['Error', 'ErrorEvent'].includes( value.constructor.name ) ) { + return value; + } + const alt = {}; + + Object.getOwnPropertyNames(value).forEach(function (key) { + alt[key] = value[key]; + }, value); + + for(const prop in value) { + if (/^[A-Z]/.test(prop)) { + continue; + } + alt[prop] = value[prop]; + } + + // fooWindow.ErrorEvent !== barWindow.ErrorEvent + if (value.constructor.name === 'ErrorEvent') { + for(const circularProp of + [ // First line are circular props. + 'target', 'srcElement', 'path', 'currentTarget', + 'bubbles', 'cancelBubble', 'cancelable', 'composed', + 'defaultPrevented', 'eventPhase', 'isTrusted', 'returnValue', + 'timeStamp']) { + delete alt[circularProp]; + } + } + + return alt; + +} + +chrome.runtime.getBackgroundPage( (backgroundPage) => + backgroundPage.apis.errorHandlers.installListenersOn(window, 'ErrView', () => { + + Raven.config('https://bc534321358f455b9ae861740c2d3af8@sentry.io/116007', { + release: chrome.runtime.getManifest().version, + autoBreadcrumbs: false, + }).install(); + + const errId = window.location.hash.slice(1); + const err = backgroundPage.apis.errorHandlers.idToErr[errId]; + const json = JSON.stringify(err, errorJsonReplacer, 2); + document.getElementById('output').innerHTML = hljs.highlight('json', json).value; + + document.addEventListener('ravenSuccess', () => alert('Готово')); + document.addEventListener('ravenFailure', () => alert('Ошибка sentry.io! (подробности недоступны)')); + + document.getElementById('raven-report').onclick = () => { + + const e = err.error || err; + const extra = JSON.parse(json); + const comment = document.getElementById('comment').value; + if (comment.trim()) { + extra.comment = comment; + } + Raven.captureException(e, { + extra: extra, + onSuccess: () => alert('Готово'), + onError: (err) => { throw err; } + }); + + }; + + document.getElementById('github-search').onclick = () => { + + const title = err.message || err; + chrome.tabs.create({ + active: true, + url: 'https://rebrand.ly/ac-search-issues?q=' + encodeURIComponent(title) + }); + + }; + document.getElementById('github-report').onclick = () => { + + const comment = document.getElementById('comment').value; + const title = err.message || err; + const body = (comment || 'Ваш текст') + ` + +### Ошибка + +\`\`\`json +${json} +\`\`\` + +Версия: ${chrome.runtime.getManifest().version} +`; + chrome.tabs.create({ + active: true, + url: `https://rebrand.ly/ac-new-issue?title=${encodeURIComponent(title)}&body=${encodeURIComponent(body)}` + }); + + }; + + }) +); diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/code-prettify/run_prettify.js b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/code-prettify/run_prettify.js new file mode 100644 index 0000000..5820b2c --- /dev/null +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/code-prettify/run_prettify.js @@ -0,0 +1,63 @@ +!function(){/* + + Copyright (C) 2013 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + Copyright (C) 2006 Google Inc. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ +(function(){function ba(g){function k(){try{M.doScroll("left")}catch(g){t.setTimeout(k,50);return}z("poll")}function z(k){if("readystatechange"!=k.type||"complete"==A.readyState)("load"==k.type?t:A)[B](p+k.type,z,!1),!q&&(q=!0)&&g.call(t,k.type||k)}var Y=A.addEventListener,q=!1,C=!0,x=Y?"addEventListener":"attachEvent",B=Y?"removeEventListener":"detachEvent",p=Y?"":"on";if("complete"==A.readyState)g.call(t,"lazy");else{if(A.createEventObject&&M.doScroll){try{C=!t.frameElement}catch(da){}C&&k()}A[x](p+ +"DOMContentLoaded",z,!1);A[x](p+"readystatechange",z,!1);t[x](p+"load",z,!1)}}function U(){V&&ba(function(){var g=N.length;ca(g?function(){for(var k=0;k=a?parseInt(e.substring(1),8):"u"===a||"x"===a?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(32>e)return(16>e?"\\x0":"\\x")+e.toString(16);e=String.fromCharCode(e);return"\\"===e||"-"=== +e||"]"===e||"^"===e?"\\"+e:e}function b(e){var b=e.substring(1,e.length-1).match(/\\u[0-9A-Fa-f]{4}|\\x[0-9A-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\s\S]|-|[^-\\]/g);e=[];var a="^"===b[0],c=["["];a&&c.push("^");for(var a=a?1:0,h=b.length;an||122n||90n||122l[0]&&(l[1]+1>l[0]&&c.push("-"),c.push(f(l[1])));c.push("]");return c.join("")}function g(e){for(var a=e.source.match(/(?:\[(?:[^\x5C\x5D]|\\[\s\S])*\]|\\u[A-Fa-f0-9]{4}|\\x[A-Fa-f0-9]{2}|\\[0-9]+|\\[^ux0-9]|\(\?[:!=]|[\(\)\^]|[^\x5B\x5C\(\)\^]+)/g),c=a.length,d=[],h=0,l=0;h/,null])):d.push(["com",/^#[^\r\n]*/,null,"#"]));a.cStyleComments&&(f.push(["com",/^\/\/[^\r\n]*/,null]),f.push(["com",/^\/\*[\s\S]*?(?:\*\/|$)/,null]));if(b=a.regexLiterals){var g=(b=1|\\/=?|::?|<>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+ +("/(?=[^/*"+b+"])(?:[^/\\x5B\\x5C"+b+"]|\\x5C"+g+"|\\x5B(?:[^\\x5C\\x5D"+b+"]|\\x5C"+g+")*(?:\\x5D|$))+/")+")")])}(b=a.types)&&f.push(["typ",b]);b=(""+a.keywords).replace(/^ | $/g,"");b.length&&f.push(["kwd",new RegExp("^(?:"+b.replace(/[\s,]+/g,"|")+")\\b"),null]);d.push(["pln",/^\s+/,null," \r\n\t\u00a0"]);b="^.[^\\s\\w.$@'\"`/\\\\]*";a.regexLiterals&&(b+="(?!s*/)");f.push(["lit",/^@[a-z_$][a-z_$@0-9]*/i,null],["typ",/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],["pln",/^[a-z_$][a-z_$@0-9]*/i, +null],["lit",/^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i,null,"0123456789"],["pln",/^\\[\s\S]?/,null],["pun",new RegExp(b),null]);return C(d,f)}function B(a,d,f){function b(a){var c=a.nodeType;if(1==c&&!k.test(a.className))if("br"===a.nodeName)g(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)b(a);else if((3==c||4==c)&&f){var d=a.nodeValue,p=d.match(q);p&&(c=d.substring(0,p.index),a.nodeValue=c,(d=d.substring(p.index+p[0].length))&& +a.parentNode.insertBefore(m.createTextNode(d),a.nextSibling),g(a),c||a.parentNode.removeChild(a))}}function g(a){function b(a,c){var d=c?a.cloneNode(!1):a,n=a.parentNode;if(n){var n=b(n,1),e=a.nextSibling;n.appendChild(d);for(var f=e;f;f=e)e=f.nextSibling,n.appendChild(f)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;a=b(a.nextSibling,0);for(var d;(d=a.parentNode)&&1===d.nodeType;)a=d;c.push(a)}for(var k=/(?:^|\s)nocode(?:\s|$)/,q=/\r\n?|\n/,m=a.ownerDocument,p=m.createElement("li");a.firstChild;)p.appendChild(a.firstChild); +for(var c=[p],r=0;r=+g[1],d=/\n/g,p=a.a,k=p.length,f=0,m=a.c,t=m.length,b=0,c=a.g,r=c.length,x=0;c[r]=k;var u,e;for(e=u=0;e=l&&(b+=2);f>=n&&(x+=2)}}finally{h&&(h.style.display=a)}}catch(y){R.console&&console.log(y&&y.stack||y)}}var R=window,K=["break,continue,do,else,for,if,return,while"], +L=[[K,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],S=[L,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"], +M=[L,"abstract,assert,boolean,byte,extends,finally,final,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],N=[L,"abstract,as,base,bool,by,byte,checked,decimal,delegate,descending,dynamic,event,finally,fixed,foreach,from,group,implicit,in,interface,internal,into,is,let,lock,null,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],L=[L,"debugger,eval,export,function,get,instanceof,null,set,undefined,var,with,Infinity,NaN"], +O=[K,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],P=[K,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],K=[K,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],Q=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/, +T=/\S/,U=x({keywords:[S,N,M,L,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",O,P,K],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),X={};p(U,["default-code"]);p(C([],[["pln",/^[^]*(?:>|$)/],["com",/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-", +/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),"default-markup htm html mxml xhtml xml xsl".split(" "));p(C([["pln",/^[\s]+/,null," \t\r\n"],["atv",/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], +["pun",/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);p(C([],[["atv",/^[\s\S]+/]]),["uq.val"]);p(x({keywords:S,hashComments:!0,cStyleComments:!0,types:Q}),"c cc cpp cxx cyc m".split(" "));p(x({keywords:"null,true,false"}),["json"]);p(x({keywords:N,hashComments:!0,cStyleComments:!0, +verbatimStrings:!0,types:Q}),["cs"]);p(x({keywords:M,cStyleComments:!0}),["java"]);p(x({keywords:K,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]);p(x({keywords:O,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]);p(x({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}), +["perl","pl","pm"]);p(x({keywords:P,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]);p(x({keywords:L,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]);p(x({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);p(C([],[["str",/^[\s\S]+/]]),["regex"]); +var V=R.PR={createSimpleLexer:C,registerLangHandler:p,sourceDecorator:x,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:function(a,d,f){f=f||!1;d=d||null;var b=document.createElement("div");b.innerHTML="
"+a+"
";b=b.firstChild;f&&B(b,f,!0);H({j:d,m:f,h:b,l:1,a:null,i:null,c:null,g:null});return b.innerHTML}, +prettyPrint:g=g=function(a,d){function f(){for(var b=R.PR_SHOULD_USE_CONTINUATION?c.now()+250:Infinity;r]/gm,function(e){return I[e]})}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0===t.index}function a(e){return k.test(e)}function i(e){var n,t,r,i,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",t=B.exec(o))return R(t[1])?t[1]:"no-highlight";for(o=o.split(/\s+/),n=0,r=o.length;r>n;n++)if(i=o[n],a(i)||R(i))return i}function o(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function u(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3===i.nodeType?a+=i.nodeValue.length:1===i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e[0].offset!==r[0].offset?e[0].offset"}function u(e){l+=""}function c(e){("start"===e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g===e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g===e&&g.length&&g[0].offset===s);f.reverse().forEach(o)}else"start"===g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,i){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):E(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\w+/,!0),i&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&i.tE&&(a.tE+=(a.e?"|":"")+i.tE)),a.i&&(a.iR=t(a.i)),null==a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push("self"===e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){var t,a;for(t=0,a=n.c.length;a>t;t++)if(r(n.c[t].bR,e))return n.c[t]}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var t=N.cI?n[0].toLowerCase():n[0];return e.k.hasOwnProperty(t)&&e.k[t]}function h(e,n,t,r){var a=r?"":y.classPrefix,i='',i+n+o}function p(){var e,t,r,a;if(!E.k)return n(B);for(a="",t=0,E.lR.lastIndex=0,r=E.lR.exec(B);r;)a+=n(B.substr(t,r.index-t)),e=g(E,r),e?(M+=e[1],a+=h(e[0],n(r[0]))):a+=n(r[0]),t=E.lR.lastIndex,r=E.lR.exec(B);return a+n(B.substr(t))}function d(){var e="string"==typeof E.sL;if(e&&!x[E.sL])return n(B);var t=e?l(E.sL,B,!0,L[E.sL]):f(B,E.sL.length?E.sL:void 0);return E.r>0&&(M+=t.r),e&&(L[E.sL]=t.top),h(t.language,t.value,!1,!0)}function b(){k+=null!=E.sL?d():p(),B=""}function v(e){k+=e.cN?h(e.cN,"",!0):"",E=Object.create(e,{parent:{value:E}})}function m(e,n){if(B+=e,null==n)return b(),0;var t=o(n,E);if(t)return t.skip?B+=n:(t.eB&&(B+=n),b(),t.rB||t.eB||(B=n)),v(t,n),t.rB?0:n.length;var r=u(E,n);if(r){var a=E;a.skip?B+=n:(a.rE||a.eE||(B+=n),b(),a.eE&&(B=n));do E.cN&&(k+=C),E.skip||(M+=E.r),E=E.parent;while(E!==r.parent);return r.starts&&v(r.starts,""),a.rE?0:n.length}if(c(n,E))throw new Error('Illegal lexeme "'+n+'" for mode "'+(E.cN||"")+'"');return B+=n,n.length||1}var N=R(e);if(!N)throw new Error('Unknown language: "'+e+'"');s(N);var w,E=i||N,L={},k="";for(w=E;w!==N;w=w.parent)w.cN&&(k=h(w.cN,"",!0)+k);var B="",M=0;try{for(var I,j,O=0;;){if(E.t.lastIndex=O,I=E.t.exec(t),!I)break;j=m(t.substr(O,I.index-O),I[0]),O=I.index+j}for(m(t.substr(O)),w=E;w.parent;w=w.parent)w.cN&&(k+=C);return{r:M,value:k,language:e,top:E}}catch(T){if(T.message&&-1!==T.message.indexOf("Illegal"))return{r:0,value:n(t)};throw T}}function f(e,t){t=t||y.languages||E(x);var r={r:0,value:n(e)},a=r;return t.filter(R).forEach(function(n){var t=l(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}),a.language&&(r.second_best=a),r}function g(e){return y.tabReplace||y.useBR?e.replace(M,function(e,n){return y.useBR&&"\n"===e?"
":y.tabReplace?n.replace(/\t/g,y.tabReplace):void 0}):e}function h(e,n,t){var r=n?L[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n,t,r,o,s,p=i(e);a(p)||(y.useBR?(n=document.createElementNS("http://www.w3.org/1999/xhtml","div"),n.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):n=e,s=n.textContent,r=p?l(p,s,!0):f(s),t=u(n),t.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=r.value,r.value=c(t,u(o),s)),r.value=g(r.value),e.innerHTML=r.value,e.className=h(e.className,p,r.language),e.result={language:r.language,re:r.r},r.second_best&&(e.second_best={language:r.second_best.language,re:r.second_best.r}))}function d(e){y=o(y,e)}function b(){if(!b.called){b.called=!0;var e=document.querySelectorAll("pre code");w.forEach.call(e,p)}}function v(){addEventListener("DOMContentLoaded",b,!1),addEventListener("load",b,!1)}function m(n,t){var r=x[n]=t(e);r.aliases&&r.aliases.forEach(function(e){L[e]=n})}function N(){return E(x)}function R(e){return e=(e||"").toLowerCase(),x[e]||x[L[e]]}var w=[],E=Object.keys,x={},L={},k=/^(no-?highlight|plain|text)$/i,B=/\blang(?:uage)?-([\w-]+)\b/i,M=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,C="
",y={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},I={"&":"&","<":"<",">":">"};return e.highlight=l,e.highlightAuto=f,e.fixMarkup=g,e.highlightBlock=p,e.configure=d,e.initHighlighting=b,e.initHighlightingOnLoad=v,e.registerLanguage=m,e.listLanguages=N,e.getLanguage=R,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e});hljs.registerLanguage("json",function(e){var i={literal:"true false null"},n=[e.QSM,e.CNM],r={e:",",eW:!0,eE:!0,c:n,k:i},t={b:"{",e:"}",c:[{cN:"attr",b:/"/,e:/"/,c:[e.BE],i:"\\n"},e.inherit(r,{b:/:/})],i:"\\S"},c={b:"\\[",e:"\\]",c:[e.inherit(r)],i:"\\S"};return n.splice(n.length,0,t,c),{c:n,k:i,i:"\\S"}}); \ No newline at end of file diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/highlight.js/styles/atom-one-dark.css b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/highlight.js/styles/atom-one-dark.css new file mode 100644 index 0000000..49cad04 --- /dev/null +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/highlight.js/styles/atom-one-dark.css @@ -0,0 +1,96 @@ +/* + +Atom One Dark by Daniel Gamage +Original One Dark Syntax theme from https://github.com/atom/one-dark-syntax + +base: #282c34 +mono-1: #abb2bf +mono-2: #818896 +mono-3: #5c6370 +hue-1: #56b6c2 +hue-2: #61aeee +hue-3: #c678dd +hue-4: #98c379 +hue-5: #e06c75 +hue-5-2: #be5046 +hue-6: #d19a66 +hue-6-2: #e6c07b + +*/ + +.hljs { + display: block; + overflow-x: auto; + padding: 0.5em; + color: #abb2bf; + background: #282c34; +} + +.hljs-comment, +.hljs-quote { + color: #5c6370; + font-style: italic; +} + +.hljs-doctag, +.hljs-keyword, +.hljs-formula { + color: #c678dd; +} + +.hljs-section, +.hljs-name, +.hljs-selector-tag, +.hljs-deletion, +.hljs-subst { + color: #e06c75; +} + +.hljs-literal { + color: #56b6c2; +} + +.hljs-string, +.hljs-regexp, +.hljs-addition, +.hljs-attr, +.hljs-meta-string { + color: #98c379; +} + +.hljs-built_in, +.hljs-class .hljs-title { + color: #e6c07b; +} + +.hljs-attr, +.hljs-variable, +.hljs-template-variable, +.hljs-type, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo, +.hljs-number { + color: #d19a66; +} + +.hljs-symbol, +.hljs-bullet, +.hljs-link, +.hljs-meta, +.hljs-selector-id, +.hljs-title { + color: #61aeee; +} + +.hljs-emphasis { + font-style: italic; +} + +.hljs-strong { + font-weight: bold; +} + +.hljs-link { + text-decoration: underline; +} diff --git a/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/raven3.8.1.min.js b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/raven3.8.1.min.js new file mode 100644 index 0000000..2402be3 --- /dev/null +++ b/extensions/chromium/minimalistic-pac-setter/extension/pages/view-error/vendor/raven3.8.1.min.js @@ -0,0 +1,3 @@ +/*! Raven.js 3.8.1 (1058967) | github.com/getsentry/raven-js */ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.Raven=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g0){var g=c.indexOf(this);~g?c.splice(g+1):c.push(this),~g?d.splice(g,1/0,e):d.push(e),~c.indexOf(f)&&(f=b.call(this,e,f))}else c.push(f);return null==a?f:a.call(this,e,f)}}c=b.exports=d,c.getSerialize=e},{}],2:[function(a,b,c){"use strict";function d(a){this.name="RavenConfigError",this.message=a}d.prototype=new Error,d.prototype.constructor=d,b.exports=d},{}],3:[function(a,b,c){"use strict";var d=function(a,b,c){var d=a[b],e=a;if(b in a){var f="warn"===b?"warning":b;a[b]=function(){var a=[].slice.call(arguments),b=""+a.join(" "),g={level:f,logger:"console",extra:{arguments:a}};c&&c(b,g),d&&Function.prototype.apply.call(d,e,a)}}};b.exports={wrapMethod:d}},{}],4:[function(a,b,c){"use strict";function d(){return+new Date}function e(){this.a=!("object"!=typeof JSON||!JSON.stringify),this.b=!f(D),this.c=null,this.d=null,this.e=null,this.f=null,this.g=null,this.h={},this.i={logger:"javascript",ignoreErrors:[],ignoreUrls:[],whitelistUrls:[],includePaths:[],crossOrigin:"anonymous",collectWindowErrors:!0,maxMessageLength:0,stackTraceLimit:50,autoBreadcrumbs:!0},this.j=0,this.k=!1,this.l=Error.stackTraceLimit,this.m=C.console||{},this.n={},this.o=[],this.p=d(),this.q=[],this.r=[],this.s=null,this.t=C.location,this.u=this.t&&this.t.href;for(var a in this.m)this.n[a]=this.m[a]}function f(a){return void 0===a}function g(a){return"function"==typeof a}function h(a){return"[object String]"===E.toString.call(a)}function i(a){return"object"==typeof a&&null!==a}function j(a){for(var b in a)return!1;return!0}function k(a){var b=E.toString.call(a);return i(a)&&"[object Error]"===b||"[object Exception]"===b||a instanceof Error}function l(a,b){var c,d;if(f(a.length))for(c in a)o(a,c)&&b.call(null,c,a[c]);else if(d=a.length)for(c=0;c ",i=h.length;a&&f++1&&g+e.length*i+b.length>=d));)e.push(b),g+=b.length,a=a.parentNode;return e.reverse().join(h)}function u(a){var b,c,d,e,f,g=[];if(!a||!a.tagName)return"";if(g.push(a.tagName.toLowerCase()),a.id&&g.push("#"+a.id),b=a.className,b&&h(b))for(c=b.split(" "),f=0;fthis.i.maxBreadcrumbs&&this.r.shift(),this},addPlugin:function(a){var b=[].slice.call(arguments,1);return this.o.push([a,b]),this.k&&this.z(),this},setUserContext:function(a){return this.h.user=a,this},setExtraContext:function(a){return this.N("extra",a),this},setTagsContext:function(a){return this.N("tags",a),this},clearContext:function(){return this.h={},this},getContext:function(){return JSON.parse(y(this.h))},setEnvironment:function(a){return this.i.environment=a,this},setRelease:function(a){return this.i.release=a,this},setDataCallback:function(a){var b=this.i.dataCallback;return this.i.dataCallback=g(a)?function(c){return a(c,b)}:a,this},setShouldSendCallback:function(a){var b=this.i.shouldSendCallback;return this.i.shouldSendCallback=g(a)?function(c){return a(c,b)}:a,this},setTransport:function(a){return this.i.transport=a,this},lastException:function(){return this.c},lastEventId:function(){return this.d},isSetup:function(){return!!this.a&&(!!this.e||(this.ravenNotConfiguredError||(this.ravenNotConfiguredError=!0,this.v("error","Error: Raven has not been configured.")),!1))},afterLoad:function(){var a=C.RavenConfig;a&&this.config(a.dsn,a.config).install()},showReportDialog:function(a){if(D){a=a||{};var b=a.eventId||this.lastEventId();if(!b)throw new x("Missing eventId");var c=a.dsn||this.B;if(!c)throw new x("Missing DSN");var d=encodeURIComponent,e="";e+="?eventId="+d(b),e+="&dsn="+d(c);var f=a.user||this.h.user;f&&(f.name&&(e+="&name="+d(f.name)),f.email&&(e+="&email="+d(f.email)));var g=this.D(this.A(c)),h=D.createElement("script");h.async=!0,h.src=g+"/api/embed/error-page/"+e,(D.head||D.body).appendChild(h)}},F:function(){var a=this;this.j+=1,setTimeout(function(){a.j-=1})},O:function(a,b){var c,d;if(this.b){b=b||{},a="raven"+a.substr(0,1).toUpperCase()+a.substr(1),D.createEvent?(c=D.createEvent("HTMLEvents"),c.initEvent(a,!0,!0)):(c=D.createEventObject(),c.eventType=a);for(d in b)o(b,d)&&(c[d]=b[d]);if(D.createEvent)D.dispatchEvent(c);else try{D.fireEvent("on"+c.eventType.toLowerCase(),c)}catch(e){}}},P:function(a){var b=this;return function(c){if(b.Q=null,b.s!==c){b.s=c;var d,e=c.target;try{d=t(e)}catch(f){d=""}b.captureBreadcrumb({category:"ui."+a,message:d})}}},R:function(){var a=this,b=1e3;return function(c){var d=c.target,e=d&&d.tagName;if(e&&("INPUT"===e||"TEXTAREA"===e||d.isContentEditable)){var f=a.Q;f||a.P("input")(c),clearTimeout(f),a.Q=setTimeout(function(){a.Q=null},b)}}},S:function(a,b){var c=r(this.t.href),d=r(b),e=r(a);this.u=b,c.protocol===d.protocol&&c.host===d.host&&(b=d.relative),c.protocol===e.protocol&&c.host===e.host&&(a=e.relative),this.captureBreadcrumb({category:"navigation",data:{to:b,from:a}})},x:function(){function a(a){return function(b,d){for(var e=new Array(arguments.length),f=0;f2?arguments[2]:void 0;return c&&b.S(b.u,c+""),a.apply(this,arguments)}},d)}if(c.console&&"console"in C&&console.log){var m=function(a,c){b.captureBreadcrumb({message:a,level:c.level,category:"console"})};l(["debug","info","warn","error","log"],function(a,b){z(console,b,m)})}},J:function(){for(var a;this.q.length;){a=this.q.shift();var b=a[0],c=a[1],d=a[2];b[c]=d}},z:function(){var a=this;l(this.o,function(b,c){var d=c[0],e=c[1];d.apply(a,[a].concat(e))})},A:function(a){var b=B.exec(a),c={},d=7;try{for(;d--;)c[A[d]]=b[d]||""}catch(e){throw new x("Invalid DSN: "+a)}if(c.pass&&!this.i.allowSecretKey)throw new x("Do not specify your secret key in the DSN. See: http://bit.ly/raven-secret-key");return c},D:function(a){var b="//"+a.host+(a.port?":"+a.port:"");return a.protocol&&(b=a.protocol+":"+b),b},w:function(){this.j||this.K.apply(this,arguments)},K:function(a,b){var c=this.L(a,b);this.O("handle",{stackInfo:a,options:b}),this.U(a.name,a.message,a.url,a.lineno,c,b)},L:function(a,b){var c=this,d=[];if(a.stack&&a.stack.length&&(l(a.stack,function(a,b){var e=c.V(b);e&&d.push(e)}),b&&b.trimHeadFrames))for(var e=0;e0&&(a.breadcrumbs={values:[].slice.call(this.r,0)}),j(a.tags)&&delete a.tags,this.h.user&&(a.user=this.h.user),b.environment&&(a.environment=b.environment),b.release&&(a.release=b.release),b.serverName&&(a.server_name=b.serverName),g(b.dataCallback)&&(a=b.dataCallback(a)||a),a&&!j(a)&&(g(b.shouldSendCallback)&&!b.shouldSendCallback(a)||this.Y(a))},Z:function(){return s()},Y:function(a,b){var c=this,d=this.i;if(this.d=a.event_id||(a.event_id=this.Z()),a=this.W(a),this.v("debug","Raven about to send:",a),this.isSetup()){var e={sentry_version:"7",sentry_client:"raven-js/"+this.VERSION,sentry_key:this.f};this.C&&(e.sentry_secret=this.C);var f=a.exception&&a.exception.values[0];this.captureBreadcrumb({category:"sentry",message:f?(f.type?f.type+": ":"")+f.value:a.message,event_id:a.event_id,level:a.level||"error"});var g=this.E;(d.transport||this.$).call(this,{url:g,auth:e,data:a,options:d,onSuccess:function(){c.O("success",{data:a,src:g}),b&&b()},onError:function(d){c.O("failure",{data:a,src:g}),d=d||new Error("Raven send failed (no additional details provided)"),b&&b(d)}})}},$:function(a){function b(){200===c.status?a.onSuccess&&a.onSuccess():a.onError&&a.onError(new Error("Sentry error code: "+c.status))}var c=new XMLHttpRequest,d="withCredentials"in c||"undefined"!=typeof XDomainRequest;if(d){var e=a.url;"withCredentials"in c?c.onreadystatechange=function(){4===c.readyState&&b()}:(c=new XDomainRequest,e=e.replace(/^https?:/,""),c.onload=b),c.open("POST",e+"?"+q(a.auth)),c.send(y(a.data))}},v:function(a){this.n[a]&&this.debug&&Function.prototype.apply.call(this.n[a],this.m,[].slice.call(arguments,1))},N:function(a,b){f(b)?delete this.h[a]:this.h[a]=m(this.h[a]||{},b)}};var E=Object.prototype;e.prototype.setUser=e.prototype.setUserContext,e.prototype.setReleaseContext=e.prototype.setRelease,b.exports=e},{1:1,2:2,3:3,6:6}],5:[function(a,b,c){"use strict";var d=a(4),e=window.Raven,f=new d;f.noConflict=function(){return window.Raven=e,f},f.afterLoad(),b.exports=f},{4:4}],6:[function(a,b,c){"use strict";function d(){return"undefined"==typeof document?"":document.location.href}var e={collectWindowErrors:!0,debug:!1},f=[].slice,g="?",h=/^(?:Uncaught (?:exception: )?)?((?:Eval|Internal|Range|Reference|Syntax|Type|URI)Error): ?(.*)$/;e.report=function(){function a(a){k(),q.push(a)}function b(a){for(var b=q.length-1;b>=0;--b)q[b]===a&&q.splice(b,1)}function c(){l(),q=[]}function i(a,b){var c=null;if(!b||e.collectWindowErrors){for(var d in q)if(q.hasOwnProperty(d))try{q[d].apply(null,[a].concat(f.call(arguments,2)))}catch(g){c=g}if(c)throw c}}function j(a,b,c,f,j){var k=null;if(t)e.computeStackTrace.augmentStackTraceWithInitialElement(t,b,c,a),m();else if(j)k=e.computeStackTrace(j),i(k,!0);else{var l,n={url:b,line:c,column:f},p=void 0,q=a;if("[object String]"==={}.toString.call(a)){var l=a.match(h);l&&(p=l[1],q=l[2])}n.func=g,k={name:p,message:q,url:d(),stack:[n]},i(k,!0)}return!!o&&o.apply(this,arguments)}function k(){p||(o=window.onerror,window.onerror=j,p=!0)}function l(){p&&(window.onerror=o,p=!1,o=void 0)}function m(){var a=t,b=r;r=null,t=null,s=null,i.apply(null,[a,!1].concat(b))}function n(a,b){var c=f.call(arguments,1);if(t){if(s===a)return;m()}var d=e.computeStackTrace(a);if(t=d,s=a,r=c,setTimeout(function(){s===a&&m()},d.incomplete?2e3:0),b!==!1)throw a}var o,p,q=[],r=null,s=null,t=null;return n.subscribe=a,n.unsubscribe=b,n.uninstall=c,n}(),e.computeStackTrace=function(){function a(a){if("undefined"!=typeof a.stack&&a.stack){for(var b,c,e=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,f=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|\[native).*?)(?::(\d+))?(?::(\d+))?\s*$/i,h=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,i=a.stack.split("\n"),j=[],k=(/^(.*) is undefined$/.exec(a.message),0),l=i.length;k0&&a.stack[0].url===e.url){if(a.stack[0].line===e.line)return!1;if(!a.stack[0].line&&a.stack[0].func===e.func)return a.stack[0].line=e.line,!1}return a.stack.unshift(e),a.partial=!0,!0}return a.incomplete=!0,!1}function c(a,h){for(var i,j,k=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,l=[],m={},n=!1,o=c.caller;o&&!n;o=o.caller)if(o!==f&&o!==e.report){if(j={url:null,func:g,line:null,column:null},o.name?j.func=o.name:(i=k.exec(o.toString()))&&(j.func=i[1]),"undefined"==typeof j.func)try{j.func=i.input.substring(0,i.input.indexOf("{"))}catch(p){}m[""+o]?n=!0:m[""+o]=!0,l.push(j)}h&&l.splice(0,h);var q={name:a.name,message:a.message,url:d(),stack:l};return b(q,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),q}function f(b,f){var g=null;f=null==f?0:+f;try{if(g=a(b))return g}catch(h){if(e.debug)throw h}try{if(g=c(b,f+1))return g}catch(h){if(e.debug)throw h}return{name:b.name,message:b.message,url:d()}}return f.augmentStackTraceWithInitialElement=b,f.computeStackTraceFromStackProp=a,f}(),b.exports=e},{}]},{},[5])(5)}); +//# sourceMappingURL=raven.min.js.map \ No newline at end of file