* add warning when remove all data. fixes#119
* fixed code to show warning when remove all data. Fixes#199
* add template strings to confirmation message. Fixes#119
* Changes for tracking protection toggle button
* changes for tracking protection toggle buttton with label properly laid out
* more alignment changes for the toggle switch
* indenting and active state changes
We probably want to make a follow-up issue to check for first run with the browser extension version instead of using local storage and add a button in first-run.html to open the Lightbeam tab from the first-run page.
* Make vars dynamic. Fixes#65.
Added a few new methods to lightbeam.js and store.js to fetch these values from storage to initialize them, and then increment numVisitedSites and numThirdParties when appropriate on each redraw() in lightbeam.js.
* Fixes per PR feedback
Also added 'requestTime' to first party website objects, since to this point only third parties had them.
@jonathanKingston, should I worry about the <dl> elements in .top-bar shifting when there is and isn't content in these fields? Was thinking I could do a pseudoelement and remove it once they're populated.
Also, if you know a better way in lightbeam.updateVars to distinguish between initialization and update other than isFirstParty === undefined, please let me know!
* More fixes from PR feedback
Also fixed a bug when lightbeam.getDataGatheredSince returns null.
Added lightbeam-feedback@mozilla.org as contact information to CONTRIBUTING.md.
Also updated all instances of our Electrolyfish repo URL in the docs to Mozilla.
Also snuck in an eslint rule for spaces between operators so we don't see `var x=4`.
Aligned lightbeam.js to capture.js, store.js, etc structure. Made 'lightbeam' a global object with methods.
Simplified and renamed methods based upon their current usage.
* Fix legacy Firefox versions and missing graph nodes not connected to their first parties. Fixes#150Fixes#151
* Check first party isn't about to become a reference to itself. Fixes#156
Service Workers can make third party requests, for example, and these requests have a tabId = -1. We no longer ignore these kinds of requests. There may be other less obvious third party requests that we miss; there is a follow up issue, #142, to address this.
Now that we are queue-ing incoming HTTP requests/page loads to process in order and awaiting the return of `sendThirdParty` and `sendFirstParty`, there were a number of bugs in `sendThirdParty` that were previously silently failing that have been fixed!
* `browser.tabs.get(tabId)` throws an error (and exits the script) if the tabId is -1
* The `response` object from `webRequest.onResponseStarted` can have a `originUrl` key with a value of `undefined`.