|
1 | 1 | // ==UserScript==
|
2 | 2 | // @name Restore pre-Proton Arrowpanels
|
3 |
| -// @version 1.2.0 |
| 3 | +// @version 1.2.1 |
4 | 4 | // @author aminomancer
|
5 | 5 | // @homepage https://github.com/aminomancer/uc.css.js
|
6 | 6 | // @description This script will basically restore the arrows at the corner
|
|
17 | 17 | // ==/UserScript==
|
18 | 18 |
|
19 | 19 | (function() {
|
20 |
| - let { PopupNotifications } = ChromeUtils.import("resource://gre/modules/PopupNotifications.jsm"); |
21 |
| - if (PopupNotifications.prototype._showPanel.name === "PopupNotifications_showPanel") { |
22 |
| - const NOTIFICATION_EVENT_SHOWING = "showing"; |
23 |
| - const NOTIFICATION_EVENT_SHOWN = "shown"; |
24 |
| - const TELEMETRY_STAT_OFFERED = 0; |
25 |
| - eval( |
26 |
| - `PopupNotifications.prototype._showPanel = function ` + |
27 |
| - PopupNotifications.prototype._showPanel |
28 |
| - .toSource() |
29 |
| - .replace(/^\(/, "") |
30 |
| - .replace(/\)$/, "") |
31 |
| - .replace(/^function\s*/, "") |
32 |
| - .replace(/^PopupNotifications_showPanel\s*/, "") |
33 |
| - .replace(/^(.)/, `uc_PopupNotifications_showPanel$1`) |
34 |
| - .replace(/bottomleft/, "bottomcenter") |
| 20 | + (function() { |
| 21 | + let { PopupNotifications } = ChromeUtils.importESModule( |
| 22 | + "resource://gre/modules/PopupNotifications.sys.mjs" |
35 | 23 | );
|
36 |
| - } |
37 |
| - |
38 |
| - let { ExtensionsUI } = ChromeUtils.import("resource:///modules/ExtensionsUI.jsm"); |
39 |
| - if (ExtensionsUI.showPermissionsPrompt.name === "showPermissionsPrompt") { |
40 |
| - const DEFAULT_EXTENSION_ICON = "chrome://mozapps/skin/extensions/extensionGeneric.svg"; |
41 |
| - function getTabBrowser(browser) { |
42 |
| - while (browser.ownerGlobal.docShell.itemType !== Ci.nsIDocShell.typeChrome) { |
43 |
| - browser = browser.ownerGlobal.docShell.chromeEventHandler; |
44 |
| - } |
45 |
| - let window = browser.ownerGlobal; |
46 |
| - let viewType = browser.getAttribute("webextension-view-type"); |
47 |
| - if (viewType == "sidebar") { |
48 |
| - window = window.browsingContext.topChromeWindow; |
| 24 | + if (PopupNotifications.prototype._showPanel.name === "PopupNotifications_showPanel") { |
| 25 | + const NOTIFICATION_EVENT_SHOWING = "showing"; |
| 26 | + const NOTIFICATION_EVENT_SHOWN = "shown"; |
| 27 | + const TELEMETRY_STAT_OFFERED = 0; |
| 28 | + eval( |
| 29 | + `PopupNotifications.prototype._showPanel = function ` + |
| 30 | + PopupNotifications.prototype._showPanel |
| 31 | + .toSource() |
| 32 | + .replace(/^\(/, "") |
| 33 | + .replace(/\)$/, "") |
| 34 | + .replace(/^function\s*/, "") |
| 35 | + .replace(/^PopupNotifications_showPanel\s*/, "") |
| 36 | + .replace(/^(.)/, `uc_PopupNotifications_showPanel$1`) |
| 37 | + .replace(/bottomleft/, "bottomcenter") |
| 38 | + ); |
| 39 | + } |
| 40 | + })(); |
| 41 | + |
| 42 | + (function() { |
| 43 | + let { ExtensionsUI } = ChromeUtils.import("resource:///modules/ExtensionsUI.jsm"); |
| 44 | + if (ExtensionsUI.showPermissionsPrompt.name === "showPermissionsPrompt") { |
| 45 | + const DEFAULT_EXTENSION_ICON = "chrome://mozapps/skin/extensions/extensionGeneric.svg"; |
| 46 | + function getTabBrowser(browser) { |
| 47 | + while (browser.ownerGlobal.docShell.itemType !== Ci.nsIDocShell.typeChrome) { |
| 48 | + browser = browser.ownerGlobal.docShell.chromeEventHandler; |
| 49 | + } |
| 50 | + let window = browser.ownerGlobal; |
| 51 | + let viewType = browser.getAttribute("webextension-view-type"); |
| 52 | + if (viewType == "sidebar") { |
| 53 | + window = window.browsingContext.topChromeWindow; |
| 54 | + } |
| 55 | + if (viewType == "popup" || viewType == "sidebar") { |
| 56 | + browser = window.gBrowser.selectedBrowser; |
| 57 | + } |
| 58 | + return { browser, window }; |
49 | 59 | }
|
50 |
| - if (viewType == "popup" || viewType == "sidebar") { |
51 |
| - browser = window.gBrowser.selectedBrowser; |
| 60 | + eval( |
| 61 | + `ExtensionsUI.showPermissionsPrompt = async function ` + |
| 62 | + ExtensionsUI.showPermissionsPrompt |
| 63 | + .toSource() |
| 64 | + .replace(/^\(/, "") |
| 65 | + .replace(/\)$/, "") |
| 66 | + .replace(/^async\s*/, "") |
| 67 | + .replace(/^function\s*/, "") |
| 68 | + .replace(/^showPermissionsPrompt\s*/, "") |
| 69 | + .replace(/^(.)/, `uc_showPermissionsPrompt$1`) |
| 70 | + .replace(/bottomright/, "bottomcenter") |
| 71 | + ); |
| 72 | + if (ExtensionsUI.showDefaultSearchPrompt.name === "showDefaultSearchPrompt") { |
| 73 | + eval( |
| 74 | + `ExtensionsUI.showDefaultSearchPrompt = async function ` + |
| 75 | + ExtensionsUI.showDefaultSearchPrompt |
| 76 | + .toSource() |
| 77 | + .replace(/^\(/, "") |
| 78 | + .replace(/\)$/, "") |
| 79 | + .replace(/^function\s*/, "") |
| 80 | + .replace(/^showDefaultSearchPrompt\s*/, "") |
| 81 | + .replace(/^(.)/, `uc_showDefaultSearchPrompt$1`) |
| 82 | + .replace(/bottomright/, "bottomcenter") |
| 83 | + ); |
52 | 84 | }
|
53 |
| - return { browser, window }; |
54 | 85 | }
|
55 |
| - eval( |
56 |
| - `ExtensionsUI.showPermissionsPrompt = async function ` + |
57 |
| - ExtensionsUI.showPermissionsPrompt |
58 |
| - .toSource() |
59 |
| - .replace(/^\(/, "") |
60 |
| - .replace(/\)$/, "") |
61 |
| - .replace(/^async\s*/, "") |
62 |
| - .replace(/^function\s*/, "") |
63 |
| - .replace(/^showPermissionsPrompt\s*/, "") |
64 |
| - .replace(/^(.)/, `uc_showPermissionsPrompt$1`) |
65 |
| - .replace(/bottomright/, "bottomcenter") |
66 |
| - ); |
67 |
| - if (ExtensionsUI.showDefaultSearchPrompt.name === "showDefaultSearchPrompt") { |
| 86 | + })(); |
| 87 | + |
| 88 | + (function() { |
| 89 | + let { UITour } = ChromeUtils.import("resource:///modules/UITour.jsm"); |
| 90 | + if (UITour.showInfo.name === "showInfo") { |
| 91 | + const lazy = { |
| 92 | + log: { warn() {} }, |
| 93 | + }; |
68 | 94 | eval(
|
69 |
| - `ExtensionsUI.showDefaultSearchPrompt = async function ` + |
70 |
| - ExtensionsUI.showDefaultSearchPrompt |
| 95 | + `UITour.showInfo = async function ` + |
| 96 | + UITour.showInfo |
71 | 97 | .toSource()
|
72 | 98 | .replace(/^\(/, "")
|
73 | 99 | .replace(/\)$/, "")
|
| 100 | + .replace(/^async\s*/, "") |
74 | 101 | .replace(/^function\s*/, "")
|
75 |
| - .replace(/^showDefaultSearchPrompt\s*/, "") |
76 |
| - .replace(/^(.)/, `uc_showDefaultSearchPrompt$1`) |
| 102 | + .replace(/^showInfo\s*/, "") |
| 103 | + .replace(/^(.)/, `uc_showInfo$1`) |
77 | 104 | .replace(/bottomright/, "bottomcenter")
|
78 | 105 | );
|
79 | 106 | }
|
80 |
| - } |
81 |
| - |
82 |
| - let { UITour } = ChromeUtils.import("resource:///modules/UITour.jsm"); |
83 |
| - if (UITour.showInfo.name === "showInfo") { |
84 |
| - const lazy = { |
85 |
| - log: { warn() {} }, |
86 |
| - }; |
87 |
| - eval( |
88 |
| - `UITour.showInfo = async function ` + |
89 |
| - UITour.showInfo |
90 |
| - .toSource() |
91 |
| - .replace(/^\(/, "") |
92 |
| - .replace(/\)$/, "") |
93 |
| - .replace(/^async\s*/, "") |
94 |
| - .replace(/^function\s*/, "") |
95 |
| - .replace(/^showInfo\s*/, "") |
96 |
| - .replace(/^(.)/, `uc_showInfo$1`) |
97 |
| - .replace(/bottomright/, "bottomcenter") |
98 |
| - ); |
99 |
| - } |
| 107 | + })(); |
100 | 108 |
|
101 |
| - let { CustomizeMode } = ChromeUtils.import("resource:///modules/CustomizeMode.jsm"); |
102 |
| - if (CustomizeMode.prototype._showDownloadsAutoHidePanel.name === "_showDownloadsAutoHidePanel") { |
103 |
| - eval( |
104 |
| - `CustomizeMode.prototype._showDownloadsAutoHidePanel = async function ` + |
105 |
| - CustomizeMode.prototype._showDownloadsAutoHidePanel |
106 |
| - .toSource() |
107 |
| - .replace(/^\(/, "") |
108 |
| - .replace(/\)$/, "") |
109 |
| - .replace(/^async\s*/, "") |
110 |
| - .replace(/^function\s*/, "") |
111 |
| - .replace(/^_showDownloadsAutoHidePanel\s*/, "") |
112 |
| - .replace(/^(.)/, `uc_showDownloadsAutoHidePanel$1`) |
113 |
| - .replace(/topleft topright/, "leftcenter topright") |
114 |
| - .replace(/topright topleft/, "rightcenter topleft") |
115 |
| - ); |
116 |
| - } |
| 109 | + (function() { |
| 110 | + let { CustomizeMode } = ChromeUtils.import("resource:///modules/CustomizeMode.jsm"); |
| 111 | + if ( |
| 112 | + CustomizeMode.prototype._showDownloadsAutoHidePanel.name === "_showDownloadsAutoHidePanel" |
| 113 | + ) { |
| 114 | + eval( |
| 115 | + `CustomizeMode.prototype._showDownloadsAutoHidePanel = async function ` + |
| 116 | + CustomizeMode.prototype._showDownloadsAutoHidePanel |
| 117 | + .toSource() |
| 118 | + .replace(/^\(/, "") |
| 119 | + .replace(/\)$/, "") |
| 120 | + .replace(/^async\s*/, "") |
| 121 | + .replace(/^function\s*/, "") |
| 122 | + .replace(/^_showDownloadsAutoHidePanel\s*/, "") |
| 123 | + .replace(/^(.)/, `uc_showDownloadsAutoHidePanel$1`) |
| 124 | + .replace(/topleft topright/, "leftcenter topright") |
| 125 | + .replace(/topright topleft/, "rightcenter topleft") |
| 126 | + ); |
| 127 | + } |
| 128 | + })(); |
117 | 129 |
|
118 | 130 | let dummyNotification = document.createXULElement("notification", {
|
119 | 131 | is: "translation-notification",
|
|
0 commit comments