xiMatrix

filter net requests according to source, destination and type  https://addons.mozilla.org/firefox/addon/ximatrix/
git clone https://git.ce9e.org/xiMatrix.git

commit
d8b672f047c42e274328adccf8d0aaeb3c1eee85
parent
6e11bcf6c8af09f532df785ebef135e9184b2824
Author
Tobias Bengfort <tobias.bengfort@posteo.de>
Date
2023-05-03 20:38
add reset button

Diffstat

M src/bg.js 5 +++++
M src/popup.html 1 +
M src/popup.js 10 +++++++++-

3 files changed, 15 insertions, 1 deletions


diff --git a/src/bg.js b/src/bg.js

@@ -148,6 +148,11 @@ browser.runtime.onMessage.addListener((msg, sender) => {
  148   148             }
  149   149             return savedRules;
  150   150         }));
   -1   151     } else if (msg.type === 'reset') {
   -1   152         return storageChange('rules', rules => {
   -1   153             delete rules[msg.data];
   -1   154             return rules;
   -1   155         });
  151   156     } else if (msg.type === 'securitypolicyviolation') {
  152   157         return pushRequest(sender.tab.id, 'inline', msg.data);
  153   158     } else if (msg.type === 'toggleRecording') {

diff --git a/src/popup.html b/src/popup.html

@@ -12,6 +12,7 @@
   12    12 			recording
   13    13 		</label>
   14    14 		<button type="button" name="commit" disabled>Commit</button>
   -1    15 		<button type="button" name="reset" disabled>Reset</button>
   15    16 		<button type="button" name="settings">Edit rules</button>
   16    17 	</div>
   17    18 	<details>

diff --git a/src/popup.js b/src/popup.js

@@ -7,6 +7,7 @@ var rules;
    7     7 var table = document.querySelector('table');
    8     8 var recording = document.querySelector('[name="recording"]')
    9     9 var commitButton = document.querySelector('[name="commit"]');
   -1    10 var resetButton = document.querySelector('[name="reset"]');
   10    11 
   11    12 var sendMessage = function(type, data) {
   12    13     return browser.runtime.sendMessage({type: type, data: data});
@@ -83,6 +84,7 @@ var createCheckbox = function(hostname, type) {
   83    84         }).then(newRules => {
   84    85             rules = newRules;
   85    86             commitButton.disabled = !rules.dirty;
   -1    87             resetButton.disabled = !rules.dirty;
   86    88             updateInherit(type);
   87    89         });
   88    90     };
@@ -132,12 +134,13 @@ var createRow = function(hostname) {
  132   134 };
  133   135 
  134   136 var loadContext = function() {
  135    -1     sendMessage('get').then(data => {
   -1   137     return sendMessage('get').then(data => {
  136   138         context = data.context;
  137   139         requests = data.requests;
  138   140         rules = data.rules;
  139   141         recording.checked = data.recording;
  140   142         commitButton.disabled = !rules.dirty;
   -1   143         resetButton.disabled = !rules.dirty;
  141   144 
  142   145         table.innerHTML = '';
  143   146         table.append(createHeader());
@@ -169,5 +172,10 @@ recording.addEventListener('change', event => {
  169   172 commitButton.addEventListener('click', event => {
  170   173     sendMessage('commit', context).then(() => {
  171   174         commitButton.disabled = true;
   -1   175         resetButton.disabled = true;
  172   176     });
  173   177 });
   -1   178 
   -1   179 resetButton.addEventListener('click', event => {
   -1   180     sendMessage('reset', context).then(loadContext);
   -1   181 });