omega_debug.js 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. (function() {
  2. window.OmegaDebug = {
  3. getProjectVersion: function() {
  4. return chrome.runtime.getManifest().version;
  5. },
  6. getExtensionVersion: function() {
  7. return chrome.runtime.getManifest().version;
  8. },
  9. downloadLog: function() {
  10. var blob, filename, url, _ref;
  11. blob = new Blob([localStorage['log']], {
  12. type: "text/plain;charset=utf-8"
  13. });
  14. filename = "OmegaLog_" + (Date.now()) + ".txt";
  15. if ((typeof browser !== "undefined" && browser !== null ? (_ref = browser.downloads) != null ? _ref.download : void 0 : void 0) != null) {
  16. url = URL.createObjectURL(blob);
  17. return browser.downloads.download({
  18. url: url,
  19. filename: filename
  20. });
  21. } else {
  22. return saveAs(blob, filename);
  23. }
  24. },
  25. resetOptions: function() {
  26. localStorage.clear();
  27. localStorage['omega.local.syncOptions'] = '"conflict"';
  28. chrome.storage.local.clear();
  29. return chrome.runtime.reload();
  30. },
  31. reportIssue: function() {
  32. var body, env, err, extensionVersion, finalUrl, projectVersion, url;
  33. url = 'https://github.com/FelisCatus/SwitchyOmega/issues/new?title=&body=';
  34. finalUrl = url;
  35. try {
  36. projectVersion = OmegaDebug.getProjectVersion();
  37. extensionVersion = OmegaDebug.getExtensionVersion();
  38. env = {
  39. extensionVersion: extensionVersion,
  40. projectVersion: extensionVersion,
  41. userAgent: navigator.userAgent
  42. };
  43. body = chrome.i18n.getMessage('popup_issueTemplate', [env.projectVersion, env.userAgent]);
  44. body || (body = "\n\n\n<!-- Please write your comment ABOVE this line. -->\nSwitchyOmega " + env.projectVersion + "\n" + env.userAgent);
  45. finalUrl = url + encodeURIComponent(body);
  46. err = localStorage['logLastError'];
  47. if (err) {
  48. body += "\n```\n" + err + "\n```";
  49. finalUrl = (url + encodeURIComponent(body)).substr(0, 2000);
  50. }
  51. } catch (_error) {}
  52. return chrome.tabs.create({
  53. url: finalUrl
  54. });
  55. }
  56. };
  57. }).call(this);