|
|
@@ -21,22 +21,41 @@
|
|
|
* Source.
|
|
|
*/
|
|
|
|
|
|
-/* global browser, window, document, localStorage, FileReader, location, fetch, TextDecoder, DOMParser, HTMLElement, navigator */
|
|
|
+/* global browser, window, document, localStorage, FileReader, location, fetch, TextDecoder, DOMParser, HTMLElement */
|
|
|
|
|
|
const HELP_ICON_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABIUlEQVQ4y+2TsarCMBSGvxTBRdqiUZAWOrhJB9EXcPKFfCvfQYfulUKHDqXg4CYUJSioYO4mSDX3ttzt3n87fMlHTpIjlsulxpDZbEYYhgghSNOUOI5Ny2mZYBAELBYLer0eAJ7ncTweKYri4x7LJJRS0u12n7XrukgpjSc0CpVSXK/XZ32/31FKNW85z3PW6zXT6RSAJEnIsqy5UGvNZrNhu90CcDqd+C6tT6J+v//2Th+PB2VZ1hN2Oh3G4zGTyQTbtl/YbrdjtVpxu91+Ljyfz0RRhG3bzOfzF+Y4TvNXvlwuaK2pE4tfzr/wzwsty0IIURlL0998KxRCMBqN8H2/wlzXJQxD2u12vVkeDoeUZUkURRU+GAw4HA7s9/sK+wK6CWHasQ/S/wAAAABJRU5ErkJggg==";
|
|
|
const HELP_PAGE_PATH = "/src/ui/pages/help.html";
|
|
|
-let DEFAULT_PROFILE_NAME, DISABLED_PROFILE_NAME, CURRENT_PROFILE_NAME;
|
|
|
-const AUTO_SAVE_SUPPORTED = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const BACKGROUND_SAVE_SUPPORTED = !(/Mobile.*Firefox/.test(navigator.userAgent) || /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent));
|
|
|
-const OPEN_SAVED_PAGE_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const INFOBAR_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const BOOKMARKS_API_SUPPORTED = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const IDENTITY_API_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const CLIPBOARD_API_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const NATIVE_API_API_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-const WEB_BLOCKING_API_SUPPORT = !/Safari/.test(navigator.userAgent) || /Chrome/.test(navigator.userAgent);
|
|
|
-
|
|
|
-browser.runtime.sendMessage({ method: "config.getConstants" }).then(data => ({ DEFAULT_PROFILE_NAME, DISABLED_PROFILE_NAME, CURRENT_PROFILE_NAME } = data));
|
|
|
+let DEFAULT_PROFILE_NAME,
|
|
|
+ DISABLED_PROFILE_NAME,
|
|
|
+ CURRENT_PROFILE_NAME,
|
|
|
+ BACKGROUND_SAVE_SUPPORTED,
|
|
|
+ AUTO_SAVE_SUPPORTED,
|
|
|
+ OPEN_SAVED_PAGE_SUPPORTED,
|
|
|
+ AUTO_OPEN_EDITOR_SUPPORTED,
|
|
|
+ INFOBAR_SUPPORTED,
|
|
|
+ BOOKMARKS_API_SUPPORTED,
|
|
|
+ IDENTITY_API_SUPPORTED,
|
|
|
+ CLIPBOARD_API_SUPPORTED,
|
|
|
+ NATIVE_API_API_SUPPORTED,
|
|
|
+ WEB_BLOCKING_API_SUPPORTED;
|
|
|
+browser.runtime.sendMessage({ method: "config.getConstants" }).then(data => {
|
|
|
+ ({
|
|
|
+ DEFAULT_PROFILE_NAME,
|
|
|
+ DISABLED_PROFILE_NAME,
|
|
|
+ CURRENT_PROFILE_NAME,
|
|
|
+ BACKGROUND_SAVE_SUPPORTED,
|
|
|
+ AUTO_SAVE_SUPPORTED,
|
|
|
+ OPEN_SAVED_PAGE_SUPPORTED,
|
|
|
+ AUTO_OPEN_EDITOR_SUPPORTED,
|
|
|
+ INFOBAR_SUPPORTED,
|
|
|
+ BOOKMARKS_API_SUPPORTED,
|
|
|
+ IDENTITY_API_SUPPORTED,
|
|
|
+ CLIPBOARD_API_SUPPORTED,
|
|
|
+ NATIVE_API_API_SUPPORTED,
|
|
|
+ WEB_BLOCKING_API_SUPPORTED
|
|
|
+ } = data);
|
|
|
+ init();
|
|
|
+});
|
|
|
const removeHiddenElementsLabel = document.getElementById("removeHiddenElementsLabel");
|
|
|
const removeUnusedStylesLabel = document.getElementById("removeUnusedStylesLabel");
|
|
|
const removeUnusedFontsLabel = document.getElementById("removeUnusedFontsLabel");
|
|
|
@@ -663,41 +682,45 @@ browser.runtime.sendMessage({ method: "tabsData.get" }).then(allTabsData => {
|
|
|
tabsData = allTabsData;
|
|
|
return refresh(tabsData.profileName);
|
|
|
});
|
|
|
-if (!AUTO_SAVE_SUPPORTED) {
|
|
|
- document.getElementById("autoSaveSection").hidden = true;
|
|
|
- document.getElementById("showAutoSaveProfileOption").hidden = true;
|
|
|
- rulesContainerElement.classList.add("compact");
|
|
|
-}
|
|
|
-if (!BACKGROUND_SAVE_SUPPORTED) {
|
|
|
- document.getElementById("backgroundSaveOptions").hidden = true;
|
|
|
- document.getElementById("confirmFilenameOption").hidden = true;
|
|
|
- document.getElementById("filenameConflictAction").hidden = true;
|
|
|
-}
|
|
|
-if (!BOOKMARKS_API_SUPPORTED) {
|
|
|
- document.getElementById("bookmarksOptions").hidden = true;
|
|
|
-}
|
|
|
-if (!OPEN_SAVED_PAGE_SUPPORT) {
|
|
|
- document.getElementById("openSavedPageOption").hidden = true;
|
|
|
- document.getElementById("autoOpenEditorOption").hidden = true;
|
|
|
-}
|
|
|
-if (!INFOBAR_SUPPORT) {
|
|
|
- document.getElementById("displayInfobarOption").hidden = true;
|
|
|
-}
|
|
|
-if (!IDENTITY_API_SUPPORT) {
|
|
|
- document.getElementById("saveToGDriveOption").hidden = true;
|
|
|
-}
|
|
|
-if (!CLIPBOARD_API_SUPPORT) {
|
|
|
- document.getElementById("saveToClipboardOption").hidden = true;
|
|
|
-}
|
|
|
-if (!NATIVE_API_API_SUPPORT) {
|
|
|
- document.getElementById("saveWithCompanionOption").hidden = true;
|
|
|
-}
|
|
|
-if (!WEB_BLOCKING_API_SUPPORT) {
|
|
|
- document.getElementById("passReferrerOnErrorOption").hidden = true;
|
|
|
-}
|
|
|
-
|
|
|
getHelpContents();
|
|
|
|
|
|
+function init() {
|
|
|
+ if (!AUTO_SAVE_SUPPORTED) {
|
|
|
+ document.getElementById("autoSaveSection").hidden = true;
|
|
|
+ document.getElementById("showAutoSaveProfileOption").hidden = true;
|
|
|
+ rulesContainerElement.classList.add("compact");
|
|
|
+ }
|
|
|
+ if (!BACKGROUND_SAVE_SUPPORTED) {
|
|
|
+ document.getElementById("backgroundSaveOptions").hidden = true;
|
|
|
+ document.getElementById("confirmFilenameOption").hidden = true;
|
|
|
+ document.getElementById("filenameConflictAction").hidden = true;
|
|
|
+ }
|
|
|
+ if (!BOOKMARKS_API_SUPPORTED) {
|
|
|
+ document.getElementById("bookmarksOptions").hidden = true;
|
|
|
+ }
|
|
|
+ if (!OPEN_SAVED_PAGE_SUPPORTED) {
|
|
|
+ document.getElementById("openSavedPageOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!AUTO_OPEN_EDITOR_SUPPORTED) {
|
|
|
+ document.getElementById("autoOpenEditorOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!INFOBAR_SUPPORTED) {
|
|
|
+ document.getElementById("displayInfobarOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!IDENTITY_API_SUPPORTED) {
|
|
|
+ document.getElementById("saveToGDriveOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!CLIPBOARD_API_SUPPORTED) {
|
|
|
+ document.getElementById("saveToClipboardOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!NATIVE_API_API_SUPPORTED) {
|
|
|
+ document.getElementById("saveWithCompanionOption").hidden = true;
|
|
|
+ }
|
|
|
+ if (!WEB_BLOCKING_API_SUPPORTED) {
|
|
|
+ document.getElementById("passReferrerOnErrorOption").hidden = true;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
async function refresh(profileName) {
|
|
|
const [profiles, rules, companionState] = await Promise.all([
|
|
|
browser.runtime.sendMessage({ method: "config.getProfiles" }),
|