Add opt-out telemetry to the Chrome extension
Privacy policy: https://github.com/Rob--W/pdfjs-telemetry#privacy-policy Unit tests (offline): ``` node test/chromium/test-telemetry.js ``` Server tests (requires that Nginx is installed): ``` git clone https://github.com/Rob--W/pdfjs-telemetry.git cd pdfjs-telemetry/ python testserver.py TestHttp TestHttps ``` Integration test (extension + server): - Build the extension - Edit build/chromium/telemetry.js and remove the check for chrome.runtime.id. - Start Chrome (preferably a new profile): chromium --user-data-dir=/tmp/pdftest --no-first-run - Open chrome://net-internals#events - Visit chrome://extensions and enable Developer mode. - Load unpacked extension, select build/chromium. - Go to the chrome://net-internals tab and filter on pdfjs.robwu.nl. - Click on URL_REQUEST and verify that the server replied with 204. - Reload the extension. - Verify that chrome://net-internals did not contain a new log request.
This commit is contained in:
parent
41f978c7c3
commit
724308c57a
5 changed files with 587 additions and 0 deletions
|
@ -79,6 +79,13 @@ function checkChromePreferencesFile(chromePrefsPath, webPrefsPath) {
|
|||
var webPrefs = JSON.parse(fs.readFileSync(webPrefsPath).toString());
|
||||
var webPrefsKeys = Object.keys(webPrefs);
|
||||
webPrefsKeys.sort();
|
||||
var telemetryIndex = chromePrefsKeys.indexOf('disableTelemetry');
|
||||
if (telemetryIndex >= 0) {
|
||||
chromePrefsKeys.splice(telemetryIndex, 1);
|
||||
} else {
|
||||
console.log('Warning: disableTelemetry key not found in chrome prefs!');
|
||||
return false;
|
||||
}
|
||||
if (webPrefsKeys.length !== chromePrefsKeys.length) {
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue