/** * This file is part of Haketilo. * * Function: Popup logic. * * Copyright (C) 2021 Wojtek Kosior * Redistribution terms are gathered in the `copyright' file. */ /* * IMPORTS_START * IMPORT browser * IMPORT is_chrome * IMPORT is_mozilla *** Using remote storage here seems inefficient, we only resort to that *** temporarily, before all storage access gets reworked. * IMPORT get_remote_storage * IMPORT get_import_frame * IMPORT init_default_policy_dialog * IMPORT query_all * IMPORT CONNECTION_TYPE * IMPORT is_privileged_url * IMPORT TYPE_PREFIX * IMPORT nice_name * IMPORT open_in_settings * IMPORT each_url_pattern * IMPORT by_id * IMPORT clone_template * IMPORTS_END */ let storage; let tab_url; /* Force popup 's reflow on stupid Firefox. */ if (is_mozilla) { const reflow_forcer = () => document.documentElement.style.width = "-moz-fit-content"; for (const radio of document.querySelectorAll('[name="current_view"]')) radio.addEventListener("change", reflow_forcer); } const show_queried_view_radio = by_id("show_queried_view_radio"); const tab_query = {currentWindow: true, active: true}; async function get_current_tab() { /* Fix for fact that Chrome does not use promises here */ const promise = is_chrome ? new Promise((resolve, reject) =>
aboutsummaryrefslogtreecommitdiff |