123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- (function () {
- "use strict";
-
-
-
-
-
-
- var LOG_URL = "https://pdfjs.robwu.nl/logpdfjs";
-
-
-
- var MINIMUM_TIME_BETWEEN_PING = 12 * 36e5;
- if (chrome.extension.inIncognitoContext) {
-
-
- return;
- }
- if (chrome.runtime.id !== "oemmndcbldboiebfnladdacbdfmadadm") {
-
- console.warn("Disabled telemetry because this is not an official build.");
- return;
- }
- maybeSendPing();
- setInterval(maybeSendPing, 36e5);
- function maybeSendPing() {
- getLoggingPref(function (didOptOut) {
- if (didOptOut) {
-
- return;
- }
- if (!navigator.onLine) {
-
-
-
-
-
-
-
- return;
- }
- var lastTime = parseInt(localStorage.telemetryLastTime) || 0;
- var wasUpdated = didUpdateSinceLastCheck();
- if (!wasUpdated && Date.now() - lastTime < MINIMUM_TIME_BETWEEN_PING) {
- return;
- }
- localStorage.telemetryLastTime = Date.now();
- var deduplication_id = getDeduplicationId(wasUpdated);
- var extension_version = chrome.runtime.getManifest().version;
- if (window.Request && "mode" in Request.prototype) {
-
-
-
-
-
- fetch(LOG_URL, {
- method: "POST",
- headers: new Headers({
- "Deduplication-Id": deduplication_id,
- "Extension-Version": extension_version,
- }),
-
-
- mode: "cors",
- });
- return;
- }
- var x = new XMLHttpRequest();
- x.open("POST", LOG_URL);
- x.setRequestHeader("Deduplication-Id", deduplication_id);
- x.setRequestHeader("Extension-Version", extension_version);
- x.send();
- });
- }
-
- function getDeduplicationId(wasUpdated) {
- var id = localStorage.telemetryDeduplicationId;
-
-
-
- if (!id || !/^[0-9a-f]{10}$/.test(id) || wasUpdated) {
- id = "";
- var buf = new Uint8Array(5);
- crypto.getRandomValues(buf);
- for (const c of buf) {
- id += (c >>> 4).toString(16) + (c & 0xf).toString(16);
- }
- localStorage.telemetryDeduplicationId = id;
- }
- return id;
- }
-
- function didUpdateSinceLastCheck() {
- var chromeVersion = /Chrome\/(\d+)\./.exec(navigator.userAgent);
- chromeVersion = chromeVersion && chromeVersion[1];
- if (!chromeVersion || localStorage.telemetryLastVersion === chromeVersion) {
- return false;
- }
- localStorage.telemetryLastVersion = chromeVersion;
- return true;
- }
-
- function getLoggingPref(callback) {
-
- var areas = ["sync", "local", "managed"];
- next();
- function next(result) {
- var storageAreaName = areas.shift();
- if (typeof result === "boolean" || !storageAreaName) {
- callback(result);
- return;
- }
- if (!chrome.storage[storageAreaName]) {
- next();
- return;
- }
- chrome.storage[storageAreaName].get("disableTelemetry", function (items) {
- next(items && items.disableTelemetry);
- });
- }
- }
- })();
|