Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.

Commit

Permalink
Stop sending events when in incognito. (#3900)
Browse files Browse the repository at this point in the history
  • Loading branch information
chenba committed Jan 12, 2018
1 parent 99bf171 commit de5e6a0
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 20 deletions.
9 changes: 9 additions & 0 deletions addon/webextension/background/analytics.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,15 @@ this.analytics = (function() {
label = undefined;
}
options = options || {};

// Don't send events if in private browsing.
if (options.incognito) {
return Promise.resolve();
}

// Don't include in event data.
delete options.incognito;

let di = deviceInfo();
options.applicationName = di.appName;
options.applicationVersion = di.addonVersion;
Expand Down
25 changes: 7 additions & 18 deletions addon/webextension/background/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ this.main = (function() {
return selectorLoader.testIfLoaded(tab.id);
}).then((isLoaded) => {
if (!isLoaded) {
sendEvent("start-shot", "site-request");
sendEvent("start-shot", "site-request", {incognito: tab.incognito});
setIconActive(true, tab.id);
selectorLoader.toggle(tab.id, false);
}
Expand All @@ -96,13 +96,13 @@ this.main = (function() {
if (shouldOpenMyShots(tab.url)) {
if (!hasSeenOnboarding) {
catcher.watchPromise(analytics.refreshTelemetryPref().then(() => {
sendEvent("goto-onboarding", "selection-button");
sendEvent("goto-onboarding", "selection-button", {incognito: tab.incognito});
return forceOnboarding();
}));
return;
}
catcher.watchPromise(analytics.refreshTelemetryPref().then(() => {
sendEvent("goto-myshots", "about-newtab");
sendEvent("goto-myshots", "about-newtab", {incognito: tab.incognito});
}));
catcher.watchPromise(
auth.authHeaders()
Expand All @@ -112,10 +112,10 @@ this.main = (function() {
toggleSelector(tab)
.then(active => {
const event = active ? "start-shot" : "cancel-shot";
sendEvent(event, "toolbar-button");
sendEvent(event, "toolbar-button", {incognito: tab.incognito});
}, (error) => {
if ((!hasSeenOnboarding) && error.popupMessage == "UNSHOOTABLE_PAGE") {
sendEvent("goto-onboarding", "selection-button");
sendEvent("goto-onboarding", "selection-button", {incognito: tab.incognito});
return forceOnboarding();
}
throw error;
Expand All @@ -140,7 +140,7 @@ this.main = (function() {
}
catcher.watchPromise(
toggleSelector(tab)
.then(() => sendEvent("start-shot", "context-menu")));
.then(() => sendEvent("start-shot", "context-menu", {incognito: tab.incognito})));
});

function urlEnabled(url) {
Expand Down Expand Up @@ -279,18 +279,7 @@ this.main = (function() {
});
});

communication.register("abortFrameset", () => {
sendEvent("abort-start-shot", "frame-page");
// Note, we only show the error but don't report it, as we know that we can't
// take shots of these pages:
senderror.showError({
popupMessage: "UNSHOOTABLE_PAGE"
});
});

communication.register("abortNoDocumentBody", (sender, tagName) => {
tagName = String(tagName || "").replace(/[^a-z0-9]/ig, "");
sendEvent("abort-start-shot", `document-is-${tagName}`);
communication.register("abortStartShot", () => {
// Note, we only show the error but don't report it, as we know that we can't
// take shots of these pages:
senderror.showError({
Expand Down
8 changes: 8 additions & 0 deletions addon/webextension/selector/shooter.js
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,14 @@ this.shooter = (function() { // eslint-disable-line no-unused-vars
};

exports.sendEvent = function(...args) {
let maybeOptions = args[args.length - 1];

if (typeof maybeOptions === "object") {
maybeOptions.incognito = browser.extension.inIncognitoContext;
} else {
args.push({incognito: browser.extension.inIncognitoContext});
}

callBackground("sendEvent", ...args);
};

Expand Down
7 changes: 5 additions & 2 deletions addon/webextension/selector/uicontrol.js
Original file line number Diff line number Diff line change
Expand Up @@ -879,12 +879,15 @@ this.uicontrol = (function() {

exports.activate = function() {
if (!document.body) {
callBackground("abortNoDocumentBody", document.documentElement.tagName);
callBackground("abortStartShot");
let tagName = String(document.documentElement.tagName || "").replace(/[^a-z0-9]/ig, "");
sendEvent("abort-start-shot", `document-is-${tagName}`);
selectorLoader.unloadModules();
return;
}
if (isFrameset()) {
callBackground("abortFrameset");
callBackground("abortStartShot");
sendEvent("abort-start-shot", "frame-page");
selectorLoader.unloadModules();
return;
}
Expand Down

0 comments on commit de5e6a0

Please sign in to comment.