aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesús <heckyel@hyperbola.info>2019-08-10 22:29:47 -0500
committerJesús <heckyel@hyperbola.info>2019-08-10 22:29:47 -0500
commit0458214081f1ea9700753cdae81814e3314da606 (patch)
treecbf02bccfeea7821ee8dd022a214fb8d3aae5f5e
parent09e4754b2ed89dd2a44c3e7690b939ca8c774750 (diff)
downloadematrix-0458214081f1ea9700753cdae81814e3314da606.tar.lz
ematrix-0458214081f1ea9700753cdae81814e3314da606.tar.xz
ematrix-0458214081f1ea9700753cdae81814e3314da606.zip
Fix semantic HTML
-rw-r--r--background.html116
-rw-r--r--cloud-ui.html70
-rw-r--r--dashboard.html86
-rw-r--r--hosts-files.html131
-rw-r--r--logger-ui.html124
-rw-r--r--main-blocked.html299
-rw-r--r--popup.html247
-rw-r--r--raw-settings.html90
-rw-r--r--settings.html280
-rw-r--r--user-rules.html114
10 files changed, 797 insertions, 760 deletions
diff --git a/background.html b/background.html
index 8047dd2..1ec48dd 100644
--- a/background.html
+++ b/background.html
@@ -1,65 +1,65 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html lang="en">
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>eMatrix</title>
-</head>
-<body>
-<!-- Each script (or anyway the majority of them) depends on the
- scripts above it, so keep these ordered like this -->
-<script src="js/polyfill.js"></script>
-<script src="lib/punycode.js"></script>
-<script src="lib/publicsuffixlist.js"></script>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-core.js"></script>
-<script src="js/vapi-window.js"></script>
-<script src="js/vapi-messaging.js"></script>
-<script src="js/vapi-background.js"></script>
-<script src="js/vapi-tabs.js"></script>
-<script src="js/vapi-browser.js"></script>
-<script src="js/vapi-storage.js"></script>
-<script src="js/vapi-net.js"></script>
-<script src="js/vapi-cookies.js"></script>
-<script src="js/vapi-cloud.js"></script>
-<script src="js/background.js"></script>
-<script src="js/xal.js"></script>
-<script src="js/usersettings.js"></script>
-<script src="js/liquid-dict.js"></script>
-<script src="js/matrix.js"></script>
-<script src="js/utils.js"></script>
-<script src="js/assets.js"></script>
-<script src="js/httpsb.js"></script>
-<script src="js/uritools.js"></script>
-<script src="js/cookies.js"></script>
-<script src="js/logger.js"></script>
-<script src="js/messaging.js"></script>
-<script src="js/profiler.js"></script>
-<script src="js/storage.js"></script>
-<script src="js/pagestats.js"></script>
-<script src="js/tab.js"></script>
-<script src="js/traffic.js"></script>
-<script src="js/browsercache.js"></script>
-<script src="js/start.js"></script>
-</body>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <title>eMatrix</title>
+ </head>
+ <body>
+ <!-- Each script (or anyway the majority of them) depends on the
+ scripts above it, so keep these ordered like this -->
+ <script src="js/polyfill.js"></script>
+ <script src="lib/punycode.js"></script>
+ <script src="lib/publicsuffixlist.js"></script>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-core.js"></script>
+ <script src="js/vapi-window.js"></script>
+ <script src="js/vapi-messaging.js"></script>
+ <script src="js/vapi-background.js"></script>
+ <script src="js/vapi-tabs.js"></script>
+ <script src="js/vapi-browser.js"></script>
+ <script src="js/vapi-storage.js"></script>
+ <script src="js/vapi-net.js"></script>
+ <script src="js/vapi-cookies.js"></script>
+ <script src="js/vapi-cloud.js"></script>
+ <script src="js/background.js"></script>
+ <script src="js/xal.js"></script>
+ <script src="js/usersettings.js"></script>
+ <script src="js/liquid-dict.js"></script>
+ <script src="js/matrix.js"></script>
+ <script src="js/utils.js"></script>
+ <script src="js/assets.js"></script>
+ <script src="js/httpsb.js"></script>
+ <script src="js/uritools.js"></script>
+ <script src="js/cookies.js"></script>
+ <script src="js/logger.js"></script>
+ <script src="js/messaging.js"></script>
+ <script src="js/profiler.js"></script>
+ <script src="js/storage.js"></script>
+ <script src="js/pagestats.js"></script>
+ <script src="js/tab.js"></script>
+ <script src="js/traffic.js"></script>
+ <script src="js/browsercache.js"></script>
+ <script src="js/start.js"></script>
+ </body>
</html>
diff --git a/cloud-ui.html b/cloud-ui.html
index 20df8ba..6c99905 100644
--- a/cloud-ui.html
+++ b/cloud-ui.html
@@ -1,42 +1,42 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta charset="utf-8">
-<title></title>
-</head>
-<body>
-<button id="cloudPush" type="button" title="cloudPush"></button>
-<span data-i18n="cloudNoData"></span>
-<button id="cloudPull" type="button" title="cloudPull" disabled></button>
-<button id="cloudPullAndMerge" type="button" title="cloudPullAndMerge" disabled></button>
-<p id="cloudError"><span></span></p>
-<span id="cloudCog" class="fa">&#xf013;</span>
-<div id="cloudOptions">
- <div>
- <p><label data-i18n="cloudDeviceNamePrompt"></label> <input id="cloudDeviceName" type="text" value="">
- <p><button id="cloudOptionsSubmit" type="button" data-i18n="genericSubmit"></button>
- </div>
-</div>
-</body>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <title></title>
+ </head>
+ <body>
+ <button id="cloudPush" type="button" title="cloudPush"></button>
+ <span data-i18n="cloudNoData"></span>
+ <button id="cloudPull" type="button" title="cloudPull" disabled></button>
+ <button id="cloudPullAndMerge" type="button" title="cloudPullAndMerge" disabled></button>
+ <p id="cloudError"><span></span></p>
+ <span id="cloudCog" class="fa">&#xf013;</span>
+ <div id="cloudOptions">
+ <div>
+ <p><label data-i18n="cloudDeviceNamePrompt"></label> <input id="cloudDeviceName" type="text" value="">
+ <p><button id="cloudOptionsSubmit" type="button" data-i18n="genericSubmit"></button>
+ </div>
+ </div>
+ </body>
</html>
diff --git a/dashboard.html b/dashboard.html
index 107edec..29d9a9f 100644
--- a/dashboard.html
+++ b/dashboard.html
@@ -1,50 +1,50 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<link rel="shortcut icon" type="image/png" href="img/icon_16.png">
-<title data-i18n="dashboardPageName"></title>
-<link href="css/dashboard.css" rel="stylesheet" type="text/css">
-<link href="css/common.css" rel="stylesheet" type="text/css">
-</head>
-<body>
- <div id="dashboard-nav">
- <div id="dashboard-nav-widgets">
- <span data-i18n="extName"></span>
- <a class="tabButton" id="settings" href="#settings" data-dashboard-panel-url="settings.html" data-i18n="settingsPageName"></a>
- <a class="tabButton" id="user-rules" href="#user-rules" data-dashboard-panel-url="user-rules.html" data-i18n="userRulesPageName"></a>
- <a class="tabButton" id="hosts-files" href="#hosts-files" data-dashboard-panel-url="hosts-files.html" data-i18n="ubiquitousRulesPageName"></a>
- <a class="tabButton" id="raw-settings" href="#raw-settings" data-dashboard-panel-url="raw-settings.html" data-i18n="rawSettingsPageName"></a>
- <a class="tabButton" id="about" href="#about" data-dashboard-panel-url="about.html" data-i18n="aboutPageName"></a>
- </div>
-</div>
-<iframe src=""></iframe>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/dashboard.js"></script>
-</body>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="shortcut icon" type="image/png" href="img/icon_16.png">
+ <title data-i18n="dashboardPageName"></title>
+ <link href="css/dashboard.css" rel="stylesheet" type="text/css">
+ <link href="css/common.css" rel="stylesheet" type="text/css">
+ </head>
+ <body>
+ <div id="dashboard-nav">
+ <div id="dashboard-nav-widgets">
+ <span data-i18n="extName"></span>
+ <a class="tabButton" id="settings" href="#settings" data-dashboard-panel-url="settings.html" data-i18n="settingsPageName"></a>
+ <a class="tabButton" id="user-rules" href="#user-rules" data-dashboard-panel-url="user-rules.html" data-i18n="userRulesPageName"></a>
+ <a class="tabButton" id="hosts-files" href="#hosts-files" data-dashboard-panel-url="hosts-files.html" data-i18n="ubiquitousRulesPageName"></a>
+ <a class="tabButton" id="raw-settings" href="#raw-settings" data-dashboard-panel-url="raw-settings.html" data-i18n="rawSettingsPageName"></a>
+ <a class="tabButton" id="about" href="#about" data-dashboard-panel-url="about.html" data-i18n="aboutPageName"></a>
+ </div>
+ </div>
+ <iframe src=""></iframe>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/dashboard.js"></script>
+ </body>
</html>
diff --git a/hosts-files.html b/hosts-files.html
index 10a7b2c..6861118 100644
--- a/hosts-files.html
+++ b/hosts-files.html
@@ -1,74 +1,73 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html>
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1.0">
-<title>eMatrix — Hosts files</title>
-<link rel="stylesheet" type="text/css" href="css/common.css">
-<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
-<link rel="stylesheet" type="text/css" href="css/hosts-files.css">
-</head>
-<body>
-<p data-i18n="hostsFilesPrompt"></p>
-<p>
- <button id="buttonApply" class="custom important reloadAll disabled" data-i18n="hostsFilesApplyChanges"></button>
- <button id="buttonUpdate" class="custom important reloadAll disabled" data-i18n="hostsFilesUpdateNow"></button>
- <button id="buttonPurgeAll" class="custom disabled" data-i18n="hostsFilesPurgeAll"></button>
-</p>
-<ul id="options">
- <li><input type="checkbox" id="autoUpdate"><label data-i18n="hostsFilesAutoUpdatePrompt" for="autoUpdate"></label></li>
- <li><span id="listsOfBlockedHostsPrompt"></span></li>
-</ul>
-<ul id="lists"></ul>
-<div id="externalLists">
- <p data-i18n="hostsFilesExternalListsHint" style="margin: 0 0 0.25em 0; font-size: 13px;"></p>
- <textarea id="externalHostsFiles" dir="ltr" spellcheck="false"></textarea>
-</div>
-<div id="templates" style="display: none;">
- <ul>
- <li class="listEntry">
- <input type="checkbox"><!--
- --><a class="content" type="text/plain" target="_blank" href=""></a>&#8203;<!--
- --><a class="fa support" href="" target="_blank">&#xf015;</a>&#8203;<!--
- --><a class="fa remove" href="">&#xf014;</a>&#8203;<!--
- --><a class="fa mustread" href="" target="_blank">&#xf05a;</a>&#8203;<!--
-  --><span class="fa status unsecure" title="http">&#xf13e;</span>&#8203;<!--
- --><span class="counts dim"></span>&#8203;<!--
-  --><span class="fa status obsolete" title="hostsFilesExternalListObsolete">&#xf071;</span>&#8203;<!--
-  --><span class="fa status cache">&#xf017;</span>&#8203;<!--
-  --><span class="fa status updating">&#xf110;</span>&#8203;<!--
-  --><span class="fa status failed">&#xf06a;</span>
- </li>
- </ul>
-</div>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/dashboard-common.js"></script>
-<script src="js/hosts-files.js"></script>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ <title>eMatrix — Hosts files</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css">
+ <link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
+ <link rel="stylesheet" type="text/css" href="css/hosts-files.css">
+ </head>
+ <body>
+ <p data-i18n="hostsFilesPrompt"></p>
+ <p>
+ <button id="buttonApply" class="custom important reloadAll disabled" data-i18n="hostsFilesApplyChanges"></button>
+ <button id="buttonUpdate" class="custom important reloadAll disabled" data-i18n="hostsFilesUpdateNow"></button>
+ <button id="buttonPurgeAll" class="custom disabled" data-i18n="hostsFilesPurgeAll"></button>
+ </p>
+ <ul id="options">
+ <li><input type="checkbox" id="autoUpdate"><label data-i18n="hostsFilesAutoUpdatePrompt" for="autoUpdate"></label></li>
+ <li><span id="listsOfBlockedHostsPrompt"></span></li>
+ </ul>
+ <ul id="lists"></ul>
+ <div id="externalLists">
+ <p data-i18n="hostsFilesExternalListsHint" style="margin: 0 0 0.25em 0; font-size: 13px;"></p>
+ <textarea id="externalHostsFiles" dir="ltr" spellcheck="false"></textarea>
+ </div>
+ <div id="templates" style="display: none;">
+ <ul>
+ <li class="listEntry">
+ <input type="checkbox"><!--
+ --><a class="content" type="text/plain" target="_blank" href=""></a>&#8203;<!--
+ --><a class="fa support" href="" target="_blank">&#xf015;</a>&#8203;<!--
+ --><a class="fa remove" href="">&#xf014;</a>&#8203;<!--
+ --><a class="fa mustread" href="" target="_blank">&#xf05a;</a>&#8203;<!--
+  --><span class="fa status unsecure" title="http">&#xf13e;</span>&#8203;<!--
+ --><span class="counts dim"></span>&#8203;<!--
+  --><span class="fa status obsolete" title="hostsFilesExternalListObsolete">&#xf071;</span>&#8203;<!--
+  --><span class="fa status cache">&#xf017;</span>&#8203;<!--
+  --><span class="fa status updating">&#xf110;</span>&#8203;<!--
+  --><span class="fa status failed">&#xf06a;</span>
+ </li>
+ </ul>
+ </div>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/dashboard-common.js"></script>
+ <script src="js/hosts-files.js"></script>
-</body>
+ </body>
</html>
-
diff --git a/logger-ui.html b/logger-ui.html
index 16fa602..bfb1c28 100644
--- a/logger-ui.html
+++ b/logger-ui.html
@@ -1,76 +1,76 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html>
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<link rel="stylesheet" type="text/css" href="css/common.css">
-<link rel="stylesheet" type="text/css" href="css/logger-ui.css">
-<link rel="shortcut icon" type="image/png" href="img/icon_16.png">
-<title data-i18n="loggerPageName"></title>
-</head>
-<body class="compactView f">
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" type="text/css" href="css/common.css">
+ <link rel="stylesheet" type="text/css" href="css/logger-ui.css">
+ <link rel="shortcut icon" type="image/png" href="img/icon_16.png">
+ <title data-i18n="loggerPageName"></title>
+ </head>
+ <body class="compactView f">
-<div id="toolbar">
- <div>
- <select id="pageSelector">
- <option value="" data-i18n="statsPageDetailedAllPages">
- <option value="tab_bts" data-i18n="statsPageDetailedBehindTheScenePage">
- </select>
- <span id="refresh" class="button disabled fa">&#xf021;</span>
- </div>
- <div>
- <span id="compactViewToggler" class="button fa"></span>
- <span id="clean" class="button fa disabled">&#xf00d;</span>
- <span id="clear" class="button fa disabled">&#xf12d;</span>
- <span id="filterButton" class="button fa">&#xf0b0;</span><input id="filterInput" type="text" placeholder="loggerFilterInputPlaceholder">
- <input id="maxEntries" type="text" size="5" title="loggerMaxEntriesTip">
+ <div id="toolbar">
+ <div>
+ <select id="pageSelector">
+ <option value="" data-i18n="statsPageDetailedAllPages">
+ <option value="tab_bts" data-i18n="statsPageDetailedBehindTheScenePage">
+ </select>
+ <span id="refresh" class="button disabled fa">&#xf021;</span>
+ </div>
+ <div>
+ <span id="compactViewToggler" class="button fa"></span>
+ <span id="clean" class="button fa disabled">&#xf00d;</span>
+ <span id="clear" class="button fa disabled">&#xf12d;</span>
+ <span id="filterButton" class="button fa">&#xf0b0;</span><input id="filterInput" type="text" placeholder="loggerFilterInputPlaceholder">
+ <input id="maxEntries" type="text" size="5" title="loggerMaxEntriesTip">
+ </div>
</div>
- </div>
-<div id="content">
- <style id="tabFilterer"></style>
- <style id="popupFilterer"></style>
- <table>
- <colgroup><col><col><col><col><col></colgroup>
- <tbody></tbody>
- </table>
- </div>
+ <div id="content">
+ <style id="tabFilterer"></style>
+ <style id="popupFilterer"></style>
+ <table>
+ <colgroup><col><col><col><col><col></colgroup>
+ <tbody></tbody>
+ </table>
+ </div>
-<div id="popupContainer">
- <div><span>&#xf068;</span>&ensp;<span>&#xf00d;</span></div>
- </div>
+ <div id="popupContainer">
+ <div><span>&#xf068;</span>&ensp;<span>&#xf00d;</span></div>
+ </div>
-<div style="display: none;">
- <div id="emphasizeTemplate"><span><span></span><b></b><span></span></span></div>
- <div id="hiddenTemplate"><span style="display:none;"></span></div>
- </div>
+ <div style="display: none;">
+ <div id="emphasizeTemplate"><span><span></span><b></b><span></span></span></div>
+ <div id="hiddenTemplate"><span style="display:none;"></span></div>
+ </div>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/logger-ui.js"></script>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/logger-ui.js"></script>
-</body>
+ </body>
</html>
diff --git a/main-blocked.html b/main-blocked.html
index e00477b..ada349f 100644
--- a/main-blocked.html
+++ b/main-blocked.html
@@ -1,159 +1,162 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html>
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title></title>
-<link rel="stylesheet" href="css/common.css" type="text/css">
-<style>
-body {
- font-family: sans-serif;
- font-size: large;
- text-align: center;
- }
-body > div {
- margin: 1.5em 0;
- }
-body > div > p {
- margin: 4px 0;
- }
-body > div > p:first-child {
- margin: 1.5em 0 0 0;
- }
-.code {
- background-color: rgba(0, 0, 0, 0.1);
- display: inline-block;
- font-family: monospace;
- font-size: large;
- line-height: 1.2;
- padding: 2px 4px;
- word-break: break-all;
- }
-button {
- cursor: pointer;
- margin: 0 1em 0.25em 1em;
- padding: 0.25em 0.5em;
- font-size: inherit;
- }
-#theURL {
- margin: 0.25em 0;
- padding: 0;
- }
-#theURL > * {
- margin: 0;
- }
-#theURL > p {
- position: relative;
- z-index: 10;
- }
-#theURL > p > span {
- background-color: transparent;
- top: 100%;
- box-sizing: border-box;
- cursor: pointer;
- opacity: 0.5;
- padding: 0.2em;
- position: absolute;
- transform: translate(0, -50%);
- }
-body[dir="ltr"] #theURL > p > span {
- right: 0;
- }
-body[dir="rtl"] #theURL > p > span {
- left: 0;
- }
-#theURL > p:hover > span {
- opacity: 1;
- }
-#theURL > p > span:before {
- content: '\f010';
- }
-#theURL.collapsed > p > span:before {
- content: '\f00e';
- }
-#parsed {
- background-color: #f8f8f8;
- border: 1px solid rgba(0, 0, 0, 0.1);
- border-top: none;
- color: gray;
- font-size: small;
- overflow-x: hidden;
- padding: 4px;
- text-align: initial;
- text-overflow: ellipsis;
- }
-#theURL.collapsed > #parsed {
- display: none;
- }
-#parsed ul, #parsed li {
- list-style-type: none;
- }
-#parsed li {
- white-space: nowrap;
- }
-#parsed span {
- display: inline-block;
- }
-#parsed span:first-of-type {
- font-weight: bold;
- }
-#warningSign {
- margin: 1e, 0;
- opacity: 1;
- pointer-events: none;
- width: 100%;
- }
-#warningSign > span {
- color: #f2a500;
- font-size: 180px;
- }
-</style>
-</head>
-<body>
-<div id="warningSign"><span class="fa">&#xf071;</span></div>
-<div>
- <p data-i18n="mainBlockedPrompt1"></p>
- <div id="theURL" class="collapsed">
- <p class="what code"></p>
- <ul id="parsed"></ul>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <title></title>
+ <link rel="stylesheet" href="css/common.css" type="text/css">
+ <style>
+ body {
+ font-family: sans-serif;
+ font-size: large;
+ text-align: center;
+ }
+ body > div {
+ margin: 1.5em 0;
+ }
+ body > div > p {
+ margin: 4px 0;
+ }
+ body > div > p:first-child {
+ margin: 1.5em 0 0 0;
+ }
+ .code {
+ background-color: rgba(0, 0, 0, 0.1);
+ display: inline-block;
+ font-family: monospace;
+ font-size: large;
+ line-height: 1.2;
+ padding: 2px 4px;
+ word-break: break-all;
+ }
+ button {
+ cursor: pointer;
+ margin: 0 1em 0.25em 1em;
+ padding: 0.25em 0.5em;
+ font-size: inherit;
+ }
+ #theURL {
+ margin: 0.25em 0;
+ padding: 0;
+ }
+ #theURL > * {
+ margin: 0;
+ }
+ #theURL > p {
+ position: relative;
+ z-index: 10;
+ }
+ #theURL > p > span {
+ background-color: transparent;
+ top: 100%;
+ box-sizing: border-box;
+ cursor: pointer;
+ opacity: 0.5;
+ padding: 0.2em;
+ position: absolute;
+ transform: translate(0, -50%);
+ }
+ body[dir="ltr"] #theURL > p > span {
+ right: 0;
+ }
+ body[dir="rtl"] #theURL > p > span {
+ left: 0;
+ }
+ #theURL > p:hover > span {
+ opacity: 1;
+ }
+ #theURL > p > span:before {
+ content: '\f010';
+ }
+ #theURL.collapsed > p > span:before {
+ content: '\f00e';
+ }
+ #parsed {
+ background-color: #f8f8f8;
+ border: 1px solid rgba(0, 0, 0, 0.1);
+ border-top: none;
+ color: gray;
+ font-size: small;
+ overflow-x: hidden;
+ padding: 4px;
+ text-align: initial;
+ text-overflow: ellipsis;
+ }
+ #theURL.collapsed > #parsed {
+ display: none;
+ }
+ #parsed ul, #parsed li {
+ list-style-type: none;
+ }
+ #parsed li {
+ white-space: nowrap;
+ }
+ #parsed span {
+ display: inline-block;
+ }
+ #parsed span:first-of-type {
+ font-weight: bold;
+ }
+ #warningSign {
+ margin: 1em, 0;
+ opacity: 1;
+ pointer-events: none;
+ width: 100%;
+ }
+ #warningSign > span {
+ color: #f2a500;
+ font-size: 180px;
+ }
+ </style>
+ </head>
+ <body>
+ <div id="warningSign"><span class="fa">&#xf071;</span></div>
+ <div>
+ <p data-i18n="mainBlockedPrompt1"></p>
+ <div id="theURL" class="collapsed">
+ <p class="what code"></p>
+ <ul id="parsed"></ul>
+ </div>
</div>
- </div>
-<!-- <div>
- <p data-i18n="mainBlockedPrompt2"></p>
- <p id="why" class="code"></p>
- </div>
- -->
+ <!-- <div>
+ <p data-i18n="mainBlockedPrompt2"></p>
+ <p id="why" class="code"></p>
+ </div>
+ -->
-<div>
- <p><button id="back" data-i18n="mainBlockedBack" type="button"></button>
- <button id="bye" data-i18n="mainBlockedClose" type="button"></button></p>
- </div>
+ <div>
+ <p>
+ <button id="back" data-i18n="mainBlockedBack" type="button"></button>
+ <button id="bye" data-i18n="mainBlockedClose" type="button"></button>
+ </p>
+ </div>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/main-blocked.js"></script>
-</body>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/main-blocked.js"></script>
+ </body>
</html>
diff --git a/popup.html b/popup.html
index 61a2e40..8b30bba 100644
--- a/popup.html
+++ b/popup.html
@@ -1,136 +1,135 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
-
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
-
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
<html>
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<link rel="stylesheet" href="css/common.css" type="text/css">
-<link rel="stylesheet" href="css/popup.css" type="text/css">
-<title>eMatrix panel</title>
-</head>
-
-<body>
-
-<div id="templates" style="display:none">
- <div class="groupSeparator"></div>
- <div class="domainSeparator"></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div id="cellHotspots"><div id="whitelist"></div><div id="blacklist"></div><div id="domainOnly"><span class="fa"></span></div></div>
- <!-- Use once min supported browser version allows for use of CSS variables
- <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
- <symbol id="toggleButton" viewBox="0 0 152 96">
- <g>
- <path d="m 48,24 a 24,24 0 0 0 -24,24 24,24 0 0 0 24,24 l 48,0 A 24,24 0 0 0 120,48 24,24 0 0 0 96,24 l -48,0 z" style="opacity:1;fill:#bbb;fill-opacity:1;stroke:none;" />
- <g style="display:var(--off);">
- <ellipse style="fill:#bbb;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="48" ry="48" />
- <ellipse style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="40" ry="40" />
- <ellipse style="display:var(--dot);fill:#bbb;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="12" ry="12" /></g>
- <g style="display:var(--on);">
- <ellipse style="opacity:1;fill:#444;fill-opacity:1;stroke:none;" cx="104" cy="48" rx="48" ry="48" />
- <ellipse style="display:var(--dot);fill:#bbb;fill-opacity:1;stroke:none;" cx="104" cy="48" rx="12" ry="12" /></g>
- </g>
- </symbol>
- </svg>
- -->
-</div>
-
-<div class="paneHead">
- <a id="gotoDashboard" class="extensionURL" href="#" data-extension-url="dashboard.html" data-i18n-tip="matrixDashboardMenuEntry">eMatrix <span id="version"> </span><span class="fa">&#xf013;</span></a>
- <div id="toolbarContainer">
- <div class="toolbar">
- <span class="scope" id="specificScope"><span>&nbsp;</span></span><!--
- --><span class="scope" id="globalScope" data-scope="*" data-i18n-tip="matrixScopeTip"><span><span>&#x2217;</span></span></span>
- <button id="mtxSwitch_matrix-off" type="button" class="fa scopeRel tip-anchor-left" data-i18n-tip="matrixMtxButtonTip">&#xf011;<span class="badge"></span></button>
- <button id="buttonMtxSwitches" type="button" class="fa scopeRel" tabindex="-1" data-dropdown-menu="dropDownMenuSwitches" data-i18n-tip="matrixSwitchesTip">&#xf142;<span class="badge"></span></button>
- <button id="buttonPersist" type="button" class="fa scopeRel tip-anchor-left" data-i18n-tip="matrixPersistButtonTip">&#xf023;<span class="badge"></span></button>
- <button id="buttonRevertScope" type="button" class="fa scopeRel tip-anchor-left" tabindex="-1" data-i18n-tip="matrixRevertButtonTip">&#xf12d;</button>
- <button id="buttonReload" type="button" class="fa tip-anchor-left" data-i18n-tip="matrixReloadButton">&#xf021;</button>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <!-- ***************************************************************************
+
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
+
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link rel="stylesheet" href="css/common.css" type="text/css">
+ <link rel="stylesheet" href="css/popup.css" type="text/css">
+ <title>eMatrix panel</title>
+ </head>
+
+ <body>
+
+ <div id="templates" style="display:none">
+ <div class="groupSeparator"></div>
+ <div class="domainSeparator"></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div id="cellHotspots"><div id="whitelist"></div><div id="blacklist"></div><div id="domainOnly"><span class="fa"></span></div></div>
+ <!-- Use once min supported browser version allows for use of CSS variables
+ <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
+ <symbol id="toggleButton" viewBox="0 0 152 96">
+ <g>
+ <path d="m 48,24 a 24,24 0 0 0 -24,24 24,24 0 0 0 24,24 l 48,0 A 24,24 0 0 0 120,48 24,24 0 0 0 96,24 l -48,0 z" style="opacity:1;fill:#bbb;fill-opacity:1;stroke:none;" />
+ <g style="display:var(--off);">
+ <ellipse style="fill:#bbb;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="48" ry="48" />
+ <ellipse style="opacity:1;fill:#fff;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="40" ry="40" />
+ <ellipse style="display:var(--dot);fill:#bbb;fill-opacity:1;stroke:none;" cx="48" cy="48" rx="12" ry="12" /></g>
+ <g style="display:var(--on);">
+ <ellipse style="opacity:1;fill:#444;fill-opacity:1;stroke:none;" cx="104" cy="48" rx="48" ry="48" />
+ <ellipse style="display:var(--dot);fill:#bbb;fill-opacity:1;stroke:none;" cx="104" cy="48" rx="12" ry="12" /></g>
+ </g>
+ </symbol>
+ </svg>
+ -->
</div>
- <div class="toolbar">
- <button id="buttonRevertAll" class="fa tip-anchor-right" data-i18n-tip="matrixRevertAllEntry">&#xf122;</button>
- <button type="button" class="fa extensionURL tip-anchor-right" data-extension-url="logger-ui.html" data-i18n-tip="matrixLoggerMenuEntry">&#xf022;</button>
+
+ <div class="paneHead">
+ <a id="gotoDashboard" class="extensionURL" href="#" data-extension-url="dashboard.html" data-i18n-tip="matrixDashboardMenuEntry">eMatrix <span id="version"> </span><span class="fa">&#xf013;</span></a>
+ <div id="toolbarContainer">
+ <div class="toolbar">
+ <span class="scope" id="specificScope"><span>&nbsp;</span></span><!--
+ --><span class="scope" id="globalScope" data-scope="*" data-i18n-tip="matrixScopeTip"><span><span>&#x2217;</span></span></span>
+ <button id="mtxSwitch_matrix-off" type="button" class="fa scopeRel tip-anchor-left" data-i18n-tip="matrixMtxButtonTip">&#xf011;<span class="badge"></span></button>
+ <button id="buttonMtxSwitches" type="button" class="fa scopeRel" tabindex="-1" data-dropdown-menu="dropDownMenuSwitches" data-i18n-tip="matrixSwitchesTip">&#xf142;<span class="badge"></span></button>
+ <button id="buttonPersist" type="button" class="fa scopeRel tip-anchor-left" data-i18n-tip="matrixPersistButtonTip">&#xf023;<span class="badge"></span></button>
+ <button id="buttonRevertScope" type="button" class="fa scopeRel tip-anchor-left" tabindex="-1" data-i18n-tip="matrixRevertButtonTip">&#xf12d;</button>
+ <button id="buttonReload" type="button" class="fa tip-anchor-left" data-i18n-tip="matrixReloadButton">&#xf021;</button>
+ </div>
+ <div class="toolbar">
+ <button id="buttonRevertAll" class="fa tip-anchor-right" data-i18n-tip="matrixRevertAllEntry">&#xf122;</button>
+ <button type="button" class="fa extensionURL tip-anchor-right" data-extension-url="logger-ui.html" data-i18n-tip="matrixLoggerMenuEntry">&#xf022;</button>
+ </div>
+ </div>
+ <div id="matHead" class="matrix collapsible">
+ <div class="matRow rw" style="display:none"><div class="matCell" data-req-type="all">all</div><div class="matCell" data-req-type="cookie">cookie</div><div class="matCell" data-req-type="css">css</div><div class="matCell" data-req-type="image">img</div><div class="matCell" data-req-type="media">media</div><div class="matCell" data-req-type="script">script</div><div class="matCell" data-req-type="xhr">XHR</div><div class="matCell" data-req-type="frame">frame</div><div class="matCell" data-req-type="other">other</div></div>
+ </div>
</div>
- </div>
- <div id="matHead" class="matrix collapsible">
- <div class="matRow rw" style="display:none"><div class="matCell" data-req-type="all">all</div><div class="matCell" data-req-type="cookie">cookie</div><div class="matCell" data-req-type="css">css</div><div class="matCell" data-req-type="image">img</div><div class="matCell" data-req-type="media">media</div><div class="matCell" data-req-type="script">script</div><div class="matCell" data-req-type="xhr">XHR</div><div class="matCell" data-req-type="frame">frame</div><div class="matCell" data-req-type="other">other</div></div>
- </div>
-</div>
-<div class="paneContent">
- <div id="matList" class="matrix" style="display:none">
- <!-- the spaces are important: they ensure text nodes in the DOM -->
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
- </div>
- <div id="noNetTrafficPrompt" style="display:none;text-align:center;font-size:large"></div>
-</div>
+ <div class="paneContent">
+ <div id="matList" class="matrix" style="display:none">
+ <!-- the spaces are important: they ensure text nodes in the DOM -->
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ <div class="matRow"><div class="matCell"><b> </b> </div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div><div class="matCell">&nbsp;</div></div>
+ </div>
+ <div id="noNetTrafficPrompt" style="display:none;text-align:center;font-size:large"></div>
+ </div>
-<div id="dropDownMenuSwitches" class="dropdown-menu-capture">
- <div class="dropdown-menu">
- <ul id="mtxSwitches">
- <li id="mtxSwitch_https-strict" class="dropdown-menu-entry exists"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"<ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoMixedContent"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/Security/Mixed_content" target="_blank">&#xf05a;</a></li>
- <li id="mtxSwitch_no-workers" class="dropdown-menu-entry exists"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoWorker"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/API/Web_Workers_API" target="_blank">&#xf05a;</a></li>
- <li id="mtxSwitch_referrer-spoof" class="dropdown-menu-entry"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchReferrerSpoof"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/HTTP/Headers/Referer" target="_blank">&#xf05a;</a></li>
- <li id="mtxSwitch_noscript-spoof" class="dropdown-menu-entry"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoscriptSpoof"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/HTML/Element/noscript" target="_blank">&#xf05a;</a></li>
- </ul>
- </div>
-</div>
+ <div id="dropDownMenuSwitches" class="dropdown-menu-capture">
+ <div class="dropdown-menu">
+ <ul id="mtxSwitches">
+ <li id="mtxSwitch_https-strict" class="dropdown-menu-entry exists"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoMixedContent"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/Security/Mixed_content" target="_blank">&#xf05a;</a></li>
+ <li id="mtxSwitch_no-workers" class="dropdown-menu-entry exists"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoWorker"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/API/Web_Workers_API" target="_blank">&#xf05a;</a></li>
+ <li id="mtxSwitch_referrer-spoof" class="dropdown-menu-entry"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchReferrerSpoof"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/HTTP/Headers/Referer" target="_blank">&#xf05a;</a></li>
+ <li id="mtxSwitch_noscript-spoof" class="dropdown-menu-entry"><!-- <svg><use xlink:href="#toggleButton" /></svg> --><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 152 96"><g style="fill:#bbb;"><ellipse cx="48" cy="48" rx="24" ry="24" /><ellipse cx="104" cy="48" rx="24" ry="24" /><rect width="56" height="48" x="48" y="24" /></g><g class="off" style="fill:#bbb;"><ellipse cx="48" cy="48" rx="48" ry="48" /><ellipse style="fill:#fff;" cx="48" cy="48" rx="40" ry="40" /><ellipse class="dot" cx="48" cy="48" rx="12" ry="12" /></g><g class="on" style="fill:#bbb;"><ellipse style="fill:#444;" cx="104" cy="48" rx="48" ry="48" /><ellipse class="dot" cx="104" cy="48" rx="12" ry="12" /></g></svg><span data-i18n="matrixSwitchNoscriptSpoof"></span>&emsp;<a class="fa" href="https://developer.mozilla.org/docs/Web/HTML/Element/noscript" target="_blank">&#xf05a;</a></li>
+ </ul>
+ </div>
+ </div>
-<div id="noTabFound"></div>
+ <div id="noTabFound"></div>
-<!-- Convenient to auto-fetch locale strings used in scripts -->
-<div style="display: none;">
- <span data-i18n="matrixBlacklistedHostnames"></span>
- <span data-i18n="matrix1stPartyLabel"></span>
-</div>
+ <!-- Convenient to auto-fetch locale strings used in scripts -->
+ <div style="display: none;">
+ <span data-i18n="matrixBlacklistedHostnames"></span>
+ <span data-i18n="matrix1stPartyLabel"></span>
+ </div>
-<div style="clear: both; height: 0px;"></div>
+ <div style="clear: both; height: 0px;"></div>
-<script src="lib/punycode.js"></script>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/popup.js"></script>
-</body>
+ <script src="lib/punycode.js"></script>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/popup.js"></script>
+ </body>
</html>
diff --git a/raw-settings.html b/raw-settings.html
index 5bb34e6..e471a64 100644
--- a/raw-settings.html
+++ b/raw-settings.html
@@ -1,48 +1,48 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
-
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
-
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
<html>
-<head>
-<meta charset="utf-8">
-<title data-i18n="rawSettingsPageName"></title>
-<link rel="stylesheet" type="text/css" href="css/common.css">
-<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
-<link rel="stylesheet" type="text/css" href="css/raw-settings.css">
-<link rel="shortcut icon" type="image/png" href="img/icon_16.png"/>
-</head>
-
-<body>
-<p><span data-i18n="rawSettingsWarning"></span> <a class="fa info important" href="https://github.com/gorhill/uMatrix/wiki/Raw-settings" target="_blank">&#xf05a;</a>
- </p>
-<p><button id="rawSettingsApply" class="custom important" type="button" disabled="true" data-i18n="genericApplyChanges"></button>&ensp;
- </p>
-<textarea id="rawSettings" dir="auto" spellcheck="false"></textarea>
-
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/dashboard-common.js"></script>
-<script src="js/raw-settings.js"></script>
-
-</body>
+ <head>
+ <meta charset="utf-8">
+ <!-- ***************************************************************************
+
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
+
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <title data-i18n="rawSettingsPageName"></title>
+ <link rel="stylesheet" type="text/css" href="css/common.css">
+ <link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
+ <link rel="stylesheet" type="text/css" href="css/raw-settings.css">
+ <link rel="shortcut icon" type="image/png" href="img/icon_16.png"/>
+ </head>
+
+ <body>
+ <p><span data-i18n="rawSettingsWarning"></span> <a class="fa info important" href="https://github.com/gorhill/uMatrix/wiki/Raw-settings" target="_blank">&#xf05a;</a>
+ </p>
+ <p><button id="rawSettingsApply" class="custom important" type="button" disabled="disabled" data-i18n="genericApplyChanges"></button>&ensp;
+ </p>
+ <textarea id="rawSettings" dir="auto" spellcheck="false"></textarea>
+
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/dashboard-common.js"></script>
+ <script src="js/raw-settings.js"></script>
+
+ </body>
</html>
diff --git a/settings.html b/settings.html
index 4d56b8b..d9040ab 100644
--- a/settings.html
+++ b/settings.html
@@ -1,139 +1,175 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>eMatrix — Settings</title>
-<link rel="stylesheet" type="text/css" href="css/common.css">
-<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
-<style>
-div > p:first-child {
- margin-top: 0;
- }
-div > p:last-child {
- margin-bottom: 0;
- }
-ul {
- padding: 0;
- list-style-type: none;
- }
-ul > li {
- margin: 0.2em 0 0.2em 1em;
- }
-ul > li.separator {
- margin: 0.5em 0;
- }
-.dim {
- font-weight: 100;
- color: #888;
- }
-</style>
-</head>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <title>eMatrix — Settings</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css">
+ <link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
+ <style>
+ div > p:first-child {
+ margin-top: 0;
+ }
+ div > p:last-child {
+ margin-bottom: 0;
+ }
+ ul {
+ padding: 0;
+ list-style-type: none;
+ }
+ ul > li {
+ margin: 0.2em 0 0.2em 1em;
+ }
+ ul > li.separator {
+ margin: 0.5em 0;
+ }
+ .dim {
+ font-weight: 100;
+ color: #888;
+ }
+ </style>
+ </head>
-<body>
+ <body>
-<h2 data-i18n="settingsMatrixConvenienceHeader"></h2>
-<ul>
- <li><input id="iconBadgeEnabled" type="checkbox" data-setting-bool>
- <label data-i18n="settingsIconBadgeEnabled" for="iconBadgeEnabled"></label>
- <li><input id="collapseBlocked" type="checkbox" data-setting-bool>
- <label data-i18n="settingsCollapseBlocked" for="collapseBlocked"></label>
+ <h2 data-i18n="settingsMatrixConvenienceHeader"></h2>
+ <ul>
+ <li>
+ <input id="iconBadgeEnabled" type="checkbox" data-setting-bool>
+ <label data-i18n="settingsIconBadgeEnabled" for="iconBadgeEnabled"></label>
+ </li>
+ <li>
+ <input id="collapseBlocked" type="checkbox" data-setting-bool>
+ <label data-i18n="settingsCollapseBlocked" for="collapseBlocked"></label>
+ <ul>
+ <li>
+ <input id="collapseBlacklisted" type="checkbox" data-setting-bool>
+ <label data-i18n="settingsCollapseBlacklisted" for="collapseBlacklisted"></label>
+ </li>
+ </ul>
+ </li>
+ <li>
+ <input id="noscriptTagsSpoofed" type="checkbox" data-matrix-switch="noscript-spoof">
+ <label data-i18n="settingsNoscriptTagsSpoofed" for="noscriptTagsSpoofed"></label>
+ </li>
+ <li>
+ <input id="cloudStorageEnabled" type="checkbox" data-setting-bool>
+ <label data-i18n="settingsCloudStorageEnabled" for="cloudStorageEnabled"></label>
+ </li>
+ </ul>
+ <h2 data-i18n="settingsMatrixDisplayHeader"></h2>
<ul>
- <li><input id="collapseBlacklisted" type="checkbox" data-setting-bool>
- <label data-i18n="settingsCollapseBlacklisted" for="collapseBlacklisted"></label>
+ <li>
+ <span data-i18n="settingsMatrixDisplayTextSizePrompt"></span>&ensp;&minus;
+ <input id="displayTextSize" type="range" min="12" max="18" value="14" style="margin:0 0.2em;vertical-align:bottom;">&plus;
+ </li>
+ <li class="separator"></li>
+ <li>
+ <label data-i18n="settingsDefaultScopeLevel"></label>
+ <select id="popupScopeLevel">
+ <option data-i18n="settingsDefaultScopeLevel2" value="site"></option>
+ <option data-i18n="settingsDefaultScopeLevel1" value="domain"></option>
+ <option data-i18n="settingsDefaultScopeLevel0" value="*"></option>
+ </select>
+ </li>
+ <li class="separator"></li>
+ <li>
+ <input id="colorBlindFriendly" type="checkbox" data-setting-bool>
+ <label data-i18n="settingsMatrixDisplayColorBlind" for="colorBlindFriendly"></label>
+ </li>
</ul>
- <li><input id="noscriptTagsSpoofed" type="checkbox" data-matrix-switch="noscript-spoof">
- <label data-i18n="settingsNoscriptTagsSpoofed" for="noscriptTagsSpoofed"></label>
- <li><input id="cloudStorageEnabled" type="checkbox" data-setting-bool>
- <label data-i18n="settingsCloudStorageEnabled" for="cloudStorageEnabled"></label>
-</ul>
-<h2 data-i18n="settingsMatrixDisplayHeader"></h2>
-<ul>
- <li><span data-i18n="settingsMatrixDisplayTextSizePrompt"></span>&ensp;&minus;<input id="displayTextSize" type="range" min="12" max="18" value="14" style="margin:0 0.2em;vertical-align:bottom;">&plus;
- <li class="separator">
- <li>
- <label data-i18n="settingsDefaultScopeLevel"></label> <select id="popupScopeLevel"><option data-i18n="settingsDefaultScopeLevel2" value="site"><option data-i18n="settingsDefaultScopeLevel1" value="domain"><option data-i18n="settingsDefaultScopeLevel0" value="*"></select>
- <li class="separator">
- <li>
- <input id="colorBlindFriendly" type="checkbox" data-setting-bool>
- <label data-i18n="settingsMatrixDisplayColorBlind" for="colorBlindFriendly"></label>
-</ul>
-<h2 data-i18n="privacyPageName"></h2>
-<ul>
- <li>
- <input id="deleteCookies" type="checkbox" data-setting-bool><label data-i18n="privacyDeleteBlockedCookiesPrompt" for="deleteCookies"></label>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyDeleteBlockedCookiesHelp"></div>
- <li>
- <input id="deleteUnusedSessionCookies" type="checkbox" data-setting-bool><label data-i18n="privacyDeleteNonBlockedSessionCookiesPrompt1" for="deleteUnusedSessionCookies"></label>
- <input id="deleteUnusedSessionCookiesAfter" type="text" value="60" size="3"><span data-i18n="privacyDeleteNonBlockedSessionCookiesPrompt2"></span>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyDeleteNonBlockedSessionCookiesHelp"></div>
- <!--
- Delete non-blocked session cookies x minutes after the last time they have been used.
+ <h2 data-i18n="privacyPageName"></h2>
+ <ul>
+ <li>
+ <input id="deleteCookies" type="checkbox" data-setting-bool>
+ <label data-i18n="privacyDeleteBlockedCookiesPrompt" for="deleteCookies"></label>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyDeleteBlockedCookiesHelp"></div>
+ </li>
+ <li>
+ <input id="deleteUnusedSessionCookies" type="checkbox" data-setting-bool>
+ <label data-i18n="privacyDeleteNonBlockedSessionCookiesPrompt1" for="deleteUnusedSessionCookies"></label>
+ <input id="deleteUnusedSessionCookiesAfter" type="text" value="60" size="3">
+ <span data-i18n="privacyDeleteNonBlockedSessionCookiesPrompt2"></span>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyDeleteNonBlockedSessionCookiesHelp"></div>
+ </li>
+ <!--
+ Delete non-blocked session cookies x minutes after the last time they have been used.
- Allow generically blocked cookies but deleted them x minutes after they have been first created.
+ Allow generically blocked cookies but deleted them x minutes after they have been first created.
- A "generically blocked" cookie is a cookie which inherits its block status in
- the matrix from the `cookie` cell or the `all` cell in the top row of the
- matrix.
+ A "generically blocked" cookie is a cookie which inherits its block status in
+ the matrix from the `cookie` cell or the `all` cell in the top row of the
+ matrix.
- When a cookie inherits its block status from a cell in the top row of the
- matrix (the "header" row), this means it is not specifically distrusted, but
- rather that the default stance is to distrust cookies in general.
+ When a cookie inherits its block status from a cell in the top row of the
+ matrix (the "header" row), this means it is not specifically distrusted, but
+ rather that the default stance is to distrust cookies in general.
- However some sites do require cookies to minimally work properly. This options
- allow to "unbreak" these sites by allowing not specifically distrusted cookies
- to travel back and forth between you and the server, but to limit the lifetime
- of these cookies so that they cannot be used to track you.
- -->
- <li>
- <input id="deleteLocalStorage" type="checkbox" data-setting-bool><label data-i18n="privacyDeleteBlockedLocalStoragePrompt" for="deleteLocalStorage"></label>
- <li>
- <input id="clearBrowserCache" type="checkbox" data-setting-bool><label data-i18n="privacyClearCachePrompt1" for="clearBrowserCache"></label>
- <input id="clearBrowserCacheAfter" type="text" value="60" size="3"> <label data-i18n="privacyClearCachePrompt2" for="clearBrowserCacheAfter"></label>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyClearCacheHelp"></div>
- <li>
- <input id="processReferer" type="checkbox" data-matrix-switch="referrer-spoof"><label data-i18n="privacyProcessRefererPrompt" for="processReferer"></label>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyProcessRefererHelp"></div>
- <li>
- <input id="noMixedContent" type="checkbox" data-matrix-switch="https-strict"><label data-i18n="privacyNoMixedContentPrompt" for="noMixedContent"></label>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyNoMixedContentHelp"></div>
- <li>
- <input id="processHyperlinkAuditing" type="checkbox" data-setting-bool><label data-i18n="privacyProcessHyperlinkAuditingPrompt" for="processHyperlinkAuditing"></label>
- <span class="whatisthis"></span>
- <div class="whatisthis-expandable para" data-i18n="privacyProcessHyperlinkAuditingHelp"></div>
-</ul>
+ However some sites do require cookies to minimally work properly. This options
+ allow to "unbreak" these sites by allowing not specifically distrusted cookies
+ to travel back and forth between you and the server, but to limit the lifetime
+ of these cookies so that they cannot be used to track you.
+ -->
+ <li>
+ <input id="deleteLocalStorage" type="checkbox" data-setting-bool>
+ <label data-i18n="privacyDeleteBlockedLocalStoragePrompt" for="deleteLocalStorage"></label>
+ </li>
+ <li>
+ <input id="clearBrowserCache" type="checkbox" data-setting-bool>
+ <label data-i18n="privacyClearCachePrompt1" for="clearBrowserCache"></label>
+ <input id="clearBrowserCacheAfter" type="text" value="60" size="3">
+ <label data-i18n="privacyClearCachePrompt2" for="clearBrowserCacheAfter"></label>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyClearCacheHelp"></div>
+ </li>
+ <li>
+ <input id="processReferer" type="checkbox" data-matrix-switch="referrer-spoof">
+ <label data-i18n="privacyProcessRefererPrompt" for="processReferer"></label>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyProcessRefererHelp"></div>
+ </li>
+ <li>
+ <input id="noMixedContent" type="checkbox" data-matrix-switch="https-strict">
+ <label data-i18n="privacyNoMixedContentPrompt" for="noMixedContent"></label>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyNoMixedContentHelp"></div>
+ </li>
+ <li>
+ <input id="processHyperlinkAuditing" type="checkbox" data-setting-bool>
+ <label data-i18n="privacyProcessHyperlinkAuditingPrompt" for="processHyperlinkAuditing"></label>
+ <span class="whatisthis"></span>
+ <div class="whatisthis-expandable para" data-i18n="privacyProcessHyperlinkAuditingHelp"></div>
+ </li>
+ </ul>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/dashboard-common.js"></script>
-<script src="js/settings.js"></script>
-</body>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/dashboard-common.js"></script>
+ <script src="js/settings.js"></script>
+ </body>
</html>
diff --git a/user-rules.html b/user-rules.html
index ea8280f..f9bd43f 100644
--- a/user-rules.html
+++ b/user-rules.html
@@ -1,73 +1,73 @@
<!DOCTYPE html>
-<!-- ***************************************************************************
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+ <!-- ***************************************************************************
- ηMatrix - a browser extension to black/white list requests.
- Copyright (C) 2019 Alessio Vanni
+ ηMatrix - a browser extension to black/white list requests.
+ Copyright (C) 2019 Alessio Vanni
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see {http://www.gnu.org/licenses/}.
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
- Home: https://gitlab.com/vannilla/ematrix
- uMatrix Home: https://github.com/gorhill/uMatrix
- -->
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>eMatrix — Your rules</title>
-<link rel="stylesheet" type="text/css" href="css/common.css">
-<link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
-<link rel="stylesheet" type="text/css" href="css/cloud-ui.css">
-<link rel="stylesheet" type="text/css" href="css/user-rules.css">
-</head>
+ Home: https://gitlab.com/vannilla/ematrix
+ uMatrix Home: https://github.com/gorhill/uMatrix
+ -->
+ <title>eMatrix — Your rules</title>
+ <link rel="stylesheet" type="text/css" href="css/common.css">
+ <link rel="stylesheet" type="text/css" href="css/dashboard-common.css">
+ <link rel="stylesheet" type="text/css" href="css/cloud-ui.css">
+ <link rel="stylesheet" type="text/css" href="css/user-rules.css">
+ </head>
-<body>
+ <body>
-<div id="cloudWidget" class="hide" data-cloud-entry="myRulesPane"></div>
+ <div id="cloudWidget" class="hide" data-cloud-entry="myRulesPane"></div>
-<!-- <p data-i18n="userRulesFormatHint"></p> -->
-<div id="diff">
- <div class="pane left">
- <div>
- <h2 data-i18n="userRulesPermanentHeader"></h2>
- <button type="button" id="exportButton" data-i18n="userRulesExport"></button>
- <button type="button" id="revertButton" data-i18n="userRulesRevert"></button>
+ <!-- <p data-i18n="userRulesFormatHint"></p> -->
+ <div id="diff">
+ <div class="pane left">
+ <div>
+ <h2 data-i18n="userRulesPermanentHeader"></h2>
+ <button type="button" id="exportButton" data-i18n="userRulesExport"></button>
+ <button type="button" id="revertButton" data-i18n="userRulesRevert"></button>
+ </div>
+ <ul></ul>
</div>
- <ul></ul>
- </div>
- <div class="pane right">
- <div>
- <h2 data-i18n="userRulesTemporaryHeader"></h2>
- <button type="button" id="commitButton" data-i18n="userRulesCommit"></button>
- <button type="button" id="editEnterButton" data-i18n="userRulesEdit"></button>
- <button type="button" id="editStopButton" data-i18n="userRulesEditSave"></button>
- <button type="button" id="editCancelButton" data-i18n="userRulesEditDicard"></button>
- <button type="button" id="importButton" data-i18n="userRulesImport"></button>
+ <div class="pane right">
+ <div>
+ <h2 data-i18n="userRulesTemporaryHeader"></h2>
+ <button type="button" id="commitButton" data-i18n="userRulesCommit"></button>
+ <button type="button" id="editEnterButton" data-i18n="userRulesEdit"></button>
+ <button type="button" id="editStopButton" data-i18n="userRulesEditSave"></button>
+ <button type="button" id="editCancelButton" data-i18n="userRulesEditDicard"></button>
+ <button type="button" id="importButton" data-i18n="userRulesImport"></button>
+ </div>
+ <textarea spellcheck="false"></textarea>
+ <ul></ul>
</div>
- <textarea spellcheck="false"></textarea>
- <ul></ul>
</div>
- </div>
-<input class="hidden" id="importFilePicker" type="file" accept="text/plain">
-<span class="hidden" data-i18n="userRulesDefaultFileName"></span>
+ <input class="hidden" id="importFilePicker" type="file" accept="text/plain">
+ <span class="hidden" data-i18n="userRulesDefaultFileName"></span>
-<script src="js/vapi-common.js"></script>
-<script src="js/vapi-client.js"></script>
-<script src="js/udom.js"></script>
-<script src="js/i18n.js"></script>
-<script src="js/dashboard-common.js"></script>
-<script src="js/cloud-ui.js"></script>
-<script src="js/user-rules.js"></script>
+ <script src="js/vapi-common.js"></script>
+ <script src="js/vapi-client.js"></script>
+ <script src="js/udom.js"></script>
+ <script src="js/i18n.js"></script>
+ <script src="js/dashboard-common.js"></script>
+ <script src="js/cloud-ui.js"></script>
+ <script src="js/user-rules.js"></script>
-</body>
+ </body>
</html>