Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GH-1798: Update Unknown category to include Ad Blocker unknowns #433

Merged
merged 10 commits into from Aug 2, 2019

Update tests, use better variable names, update duplicate cases in re…

…ducers
  • Loading branch information
Eden12345 committed Jul 31, 2019
commit f33b01781bdd509cc689e3efa63297c485d9546b
@@ -298,7 +298,7 @@ class Summary extends React.Component {

const { body } = msg;

if (body.adblock || body.antitracking) {
if (body.adBlock || body.antiTracking) {
this.props.actions.updateCliqzModuleData(body);
} else {
this.props.actions.updateSummaryData(body);
@@ -327,7 +327,7 @@ class Summary extends React.Component {
enable_ad_block,
} = this.props;

return enable_ad_block && adBlock && adBlock.unknownTrackerCount || 0;
return enable_ad_block && adBlock && adBlock.trackerCount || 0;
}

_antiTrackUnsafe() {
@@ -336,7 +336,7 @@ class Summary extends React.Component {
enable_anti_tracking,
} = this.props;

return enable_anti_tracking && antiTracking && antiTracking.unknownTrackerCount || 0;
return enable_anti_tracking && antiTracking && antiTracking.trackerCount || 0;
}

_requestsModifiedCount() {
@@ -38,8 +38,13 @@ const initialState = Immutable({
antiTracking: {
totalUnsafeCount: 0,
totalUnknownCount: 0,
trackerCount: 0,
unknownTrackerCount: 0,
},
adBlock: {
totalCount: 0,
trackerCount: 0,
},
});

describe('app/panel/reducers/summary.js', () => {
@@ -57,33 +62,32 @@ describe('app/panel/reducers/summary.js', () => {

test('reducer correctly handles UPDATE_CLIQZ_MODULE_DATA', () => {
const data = {
adblock: {
unchangedData: false,
changedData: true,
newData: true
adBlock: {
totalCount: 3,
trackerCount: 2,
},
antiTracking: {
totalUnsafeCount: 5,
totalUnknownCount: 3,
unknownTrackerCount: 1
trackerCount: 1
}
};
const action = { data, type: UPDATE_CLIQZ_MODULE_DATA };
const initState = Immutable({
tab_id: 0,
adBlock: {
unchangedData: false,
changedData: false
totalCount: 1,
trackerCount: 1,
},
antiTracking: {
totalUnsafeCount: 1,
totalUnknownCount: 0,
unknownTrackerCount: 0
trackerCount: 0
}
});

const updatedState = Immutable.merge(initState, {
adBlock: data.adblock,
adBlock: data.adBlock,
antiTracking: data.antiTracking
});

@@ -23,7 +23,8 @@ import {
UPDATE_TRACKER_TRUST_RESTRICT,
UPDATE_ANTI_TRACKING_WHITELIST,
TOGGLE_EXPAND_ALL,
UPDATE_CLIQZ_MODULE_DATA
UPDATE_CLIQZ_MODULE_DATA,
UPDATE_SUMMARY_DATA
} from '../constants/constants';
import {
updateTrackerBlocked, updateCategoryBlocked, updateBlockAllTrackers, toggleExpandAll
@@ -43,7 +44,8 @@ const initialState = {
antiTracking: {
totalUnsafeCount: 0, // The amount of data points scrubbed by Anti-Tracking
totalUnknownCount: 0, // The amount of data points scrubbed by Anti-Tracking for Trackers not in the Ghostery DB
unknownTrackerCount: 0, // The amount of unknown trackers scrubbed by Anti-Tracking (which are each associated with 1 or more data points)
trackerCount: 0, // The amount of trackers scrubbed by Anti-Tracking (which are each associated with 1 or more data points)
unknownTrackerCount: 0, // The amount of unknown trackers scrubbed by Anti-Tracking
unknownTrackers: [], // An array of objects associated with each unknown Tracker (includes both blocked and whitelisted trackers for this site)
whitelistedUrls: {}, // An object of whitelisted url domains pointing to an object with the associated tracker name and an array of whitelisted host domains
hide: false, // Whether or not to display the Anti-Tracking blocking category
@@ -100,11 +102,15 @@ export default (state = initialState, action) => {
const antiTracking = _updateAntiTrackingWhitelist(state, action);
return Object.assign({}, state, { antiTracking });
}
case UPDATE_CLIQZ_MODULE_DATA: {
const { hide } = state.antiTracking;
return Object.assign({}, state, {
antiTracking: Object.assign({}, action.data.antiTracking, { hide })
});
case UPDATE_CLIQZ_MODULE_DATA:
case UPDATE_SUMMARY_DATA: {
if (action.data.antiTracking) {
const { hide } = state.antiTracking;
return Object.assign({}, state, {
antiTracking: Object.assign({}, action.data.antiTracking, { hide })
});
}
return state;
}

default: return state;
@@ -39,11 +39,12 @@ const initialState = {
antiTracking: {
totalUnsafeCount: 0, // The amount of data points scrubbed by Anti-Tracking
totalUnknownCount: 0, // The amount of data points scrubbed by Anti-Tracking for Trackers not in the Ghostery DB
unknownTrackerCount: 0, // The amount of unknown trackers scrubbed by Anti-Tracking (which are each associated with 1 or more data points)
trackerCount: 0, // The amount of trackers scrubbed by Anti-Tracking (which are each associated with 1 or more data points)
unknownTrackerCount: 0, // The amount of unknown trackers scrubbed by Anti-Tracking
},
adBlock: {
totalCount: 0, // The amount of ads blocked by Ad Blocking
unknownTrackerCount: 0, // The amount of unknown trackers blocked by Ad Blocking (which are each associated with 1 or more ads)
trackerCount: 0, // The amount of trackers blocked by Ad Blocking (which are each associated with 1 or more ads)
}
};
/**
@@ -56,15 +57,9 @@ const initialState = {
*/
export default (state = initialState, action) => {
switch (action.type) {
case UPDATE_SUMMARY_DATA: {
return Object.assign({}, state, action.data);
}
case UPDATE_SUMMARY_DATA:
case UPDATE_CLIQZ_MODULE_DATA: {
const { totalUnsafeCount, totalUnknownCount, unknownTrackerCount } = action.data.antiTracking;
return Object.assign({}, state, {
adBlock: action.data.adblock,
antiTracking: { totalUnsafeCount, totalUnknownCount, unknownTrackerCount },
});
return Object.assign({}, state, action.data);
}
case UPDATE_GHOSTERY_PAUSED: {
return Object.assign({}, state, { paused_blocking: action.data.ghosteryPaused, paused_blocking_timeout: action.data.time });
@@ -145,8 +145,8 @@ class BrowserButton {
}

const { appsCount, appsAlertCount } = this._getTrackerCount(tabId);
const adBlockingCount = getCliqzAdBlockingCount(tabId).unknownTrackerCount;
const antiTrackingCount = getCliqzAntiTrackingData(tabId).unknownTrackerCount;
const adBlockingCount = getCliqzAdBlockingCount(tabId).trackerCount;
const antiTrackingCount = getCliqzAntiTrackingData(tabId).trackerCount;

alert = (appsAlertCount > 0);
trackerCount = (appsCount + antiTrackingCount + adBlockingCount).toString();
@@ -29,6 +29,7 @@ const { adblocker, antitracking } = cliqz.modules;
export function getCliqzAntiTrackingData(tabId, tabHostUrl) {
let totalUnsafeCount = 0;
let totalUnknownCount = 0;
let trackerCount = 0;
let unknownTrackerCount = 0;
const unknownTrackers = [];
const whitelistedUrls = conf.anti_tracking_whitelist;
@@ -48,7 +49,10 @@ export function getCliqzAntiTrackingData(tabId, tabHostUrl) {
const othersValues = Object.values(others);

for (const bug of bugsValues) {
totalUnsafeCount += bug.cookies + bug.fingerprints;
if (bug.cookies || bug.fingerprints) {
totalUnsafeCount += bug.cookies + bug.fingerprints;
trackerCount++;
}
}

for (const other of othersValues) {
@@ -67,7 +71,8 @@ export function getCliqzAntiTrackingData(tabId, tabHostUrl) {
if (scrubbed) {
totalUnsafeCount += other.cookies + other.fingerprints;
totalUnknownCount += other.cookies + other.fingerprints;
unknownTrackerCount += 1;
trackerCount++;
unknownTrackerCount++;
}

if (scrubbed || whitelisted) {
@@ -84,6 +89,7 @@ export function getCliqzAntiTrackingData(tabId, tabHostUrl) {
return {
totalUnsafeCount,
totalUnknownCount,
trackerCount,
unknownTrackerCount,
unknownTrackers,
whitelistedUrls,
@@ -100,7 +106,7 @@ export function getCliqzAdBlockingCount(tabId) {
if (!conf.enable_ad_block || !adblocker.background) {
return {
totalCount: 0,
unknownTrackerCount: 0,
trackerCount: 0,
};
}

@@ -111,7 +117,7 @@ export function getCliqzAdBlockingCount(tabId) {

return {
totalCount: adBlockInfo ? adBlockInfo.totalCount : 0,
unknownTrackerCount: bugCount + otherCount,
trackerCount: bugCount + otherCount,
};
}

@@ -141,9 +147,9 @@ export function getCliqzGhosteryBugs(tabId) {
* @param {Function} callback
*/
export function sendCliqzModuleCounts(tabId, tabHostUrl, callback) {
const modules = { adblock: {}, antiTracking: {} };
const modules = { adBlock: {}, antiTracking: {} };

modules.adblock = getCliqzAdBlockingCount(tabId);
modules.adBlock = getCliqzAdBlockingCount(tabId);
modules.antiTracking = getCliqzAntiTrackingData(tabId, tabHostUrl);
callback(modules);
}
ProTip! Use n and p to navigate between commits in a pull request.