Skip to content

Commit 894cce5

Browse files
committed
refactor: parameterize trackerLookup
1 parent a4840a2 commit 894cce5

File tree

10 files changed

+35
-25
lines changed

10 files changed

+35
-25
lines changed

injected/entry-points/android.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
import { load, init } from '../src/content-scope-features.js';
55
import { processConfig, isGloballyDisabled } from './../src/utils';
6-
import { isTrackerOrigin } from '../src/trackers';
76
import { AndroidMessagingConfig } from '../../messaging/index.js';
87

98
function initCode() {
@@ -31,10 +30,14 @@ function initCode() {
3130
debug: processedConfig.debug,
3231
});
3332

33+
const importConfig = {
34+
trackerLookup: import.meta.trackerLookup,
35+
injectName: import.meta.injectName,
36+
};
37+
3438
load({
3539
platform: processedConfig.platform,
36-
trackerLookup: processedConfig.trackerLookup,
37-
documentOriginIsTracker: isTrackerOrigin(processedConfig.trackerLookup),
40+
importConfig,
3841
site: processedConfig.site,
3942
bundledConfig: processedConfig.bundledConfig,
4043
messagingConfig: processedConfig.messagingConfig,

injected/entry-points/apple.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
import { load, init } from '../src/content-scope-features.js';
55
import { processConfig, isGloballyDisabled, platformSpecificFeatures } from './../src/utils';
6-
import { isTrackerOrigin } from '../src/trackers';
76
import { WebkitMessagingConfig, TestTransportConfig } from '../../messaging/index.js';
87

98
function initCode() {
@@ -42,10 +41,14 @@ function initCode() {
4241
});
4342
}
4443

44+
const importConfig = {
45+
trackerLookup: import.meta.trackerLookup,
46+
injectName: import.meta.injectName,
47+
};
48+
4549
load({
4650
platform: processedConfig.platform,
47-
trackerLookup: processedConfig.trackerLookup,
48-
documentOriginIsTracker: isTrackerOrigin(processedConfig.trackerLookup),
51+
importConfig,
4952
site: processedConfig.site,
5053
bundledConfig: processedConfig.bundledConfig,
5154
messagingConfig: processedConfig.messagingConfig,

injected/entry-points/extension-mv3.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,20 @@
22
* @module main world integration for Chrome MV3 and Firefox (enhanced) MV2
33
*/
44
import { load, init, update } from '../src/content-scope-features.js';
5-
import { isTrackerOrigin } from '../src/trackers.js';
65
import { computeLimitedSiteObject } from '../src/utils.js';
76

87
const secret = (crypto.getRandomValues(new Uint32Array(1))[0] / 2 ** 32).toString().replace('0.', '');
98

10-
const trackerLookup = import.meta.trackerLookup;
9+
const importConfig = {
10+
trackerLookup: import.meta.trackerLookup,
11+
injectName: import.meta.injectName,
12+
};
1113

1214
load({
1315
platform: {
1416
name: 'extension',
1517
},
16-
trackerLookup,
17-
documentOriginIsTracker: isTrackerOrigin(trackerLookup),
18+
importConfig,
1819
site: computeLimitedSiteObject(),
1920
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
2021
bundledConfig: $BUNDLED_CONFIG$,

injected/entry-points/integration.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { load, init } from '../src/content-scope-features.js';
2-
import { isTrackerOrigin } from '../src/trackers';
32
import { TestTransportConfig } from '../../messaging/index.js';
43
function getTopLevelURL() {
54
try {
@@ -84,11 +83,16 @@ async function initCode() {
8483
};
8584
},
8685
});
86+
87+
const importConfig = {
88+
trackerLookup: processedConfig.trackerLookup,
89+
injectName: import.meta.injectName,
90+
};
91+
8792
load({
8893
// @ts-expect-error Types of property 'name' are incompatible.
8994
platform: processedConfig.platform,
90-
trackerLookup: processedConfig.trackerLookup,
91-
documentOriginIsTracker: isTrackerOrigin(processedConfig.trackerLookup),
95+
importConfig,
9296
site: processedConfig.site,
9397
messagingConfig: processedConfig.messagingConfig,
9498
});

injected/entry-points/windows.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
*/
44
import { load, init } from '../src/content-scope-features.js';
55
import { processConfig, isGloballyDisabled, platformSpecificFeatures } from './../src/utils';
6-
import { isTrackerOrigin } from '../src/trackers';
76
import { WindowsMessagingConfig } from '../../messaging/index.js';
87

98
function initCode() {
@@ -29,10 +28,14 @@ function initCode() {
2928
},
3029
});
3130

31+
const importConfig = {
32+
trackerLookup: processedConfig.trackerLookup,
33+
injectName: import.meta.injectName,
34+
};
35+
3236
load({
3337
platform: processedConfig.platform,
34-
trackerLookup: processedConfig.trackerLookup,
35-
documentOriginIsTracker: isTrackerOrigin(processedConfig.trackerLookup),
38+
importConfig,
3639
site: processedConfig.site,
3740
bundledConfig: processedConfig.bundledConfig,
3841
messagingConfig: processedConfig.messagingConfig,

injected/src/content-feature.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { defineProperty, shimInterface, shimProperty, wrapMethod, wrapProperty,
66
import { Proxy, Reflect } from './captured-globals.js';
77
import { Messaging, MessagingContext } from '../../messaging/index.js';
88
import { extensionConstructMessagingConfig } from './sendmessage-transport.js';
9+
import { isTrackerOrigin } from './trackers.js';
910

1011
/**
1112
* @typedef {object} AssetConfig
@@ -59,8 +60,8 @@ class ConfigParser {
5960
const enabledFeatures = computeEnabledFeatures(bundledConfig, site.domain, platform.version);
6061
this.#featureSettings = parseFeatureSettings(bundledConfig, enabledFeatures);
6162
}
62-
this.#trackerLookup = loadArgs.trackerLookup;
63-
this.#documentOriginIsTracker = loadArgs.documentOriginIsTracker;
63+
this.#trackerLookup = loadArgs.importConfig.trackerLookup;
64+
this.#documentOriginIsTracker = isTrackerOrigin(this.#trackerLookup);
6465
}
6566

6667
/**

injected/src/content-scope-features.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@ const isHTMLDocument =
2222
* @typedef {object} LoadArgs
2323
* @property {import('./content-feature').Site} site
2424
* @property {import('./utils.js').Platform} platform
25-
* @property {boolean} documentOriginIsTracker
2625
* @property {import('./utils.js').RemoteConfig} bundledConfig
2726
* @property {string} [injectName]
28-
* @property {object} trackerLookup - provided currently only by the extension
27+
* @property {object} importConfig - contains trackerLookup and injectName, trackerLookup is provided currently only by the extension
2928
* @property {import('@duckduckgo/messaging').MessagingConfig} [messagingConfig]
3029
* @property {string} [messageSecret] - optional, used in the messageBridge creation
3130
*/
@@ -39,7 +38,7 @@ export function load(args) {
3938
return;
4039
}
4140

42-
const featureNames = typeof import.meta.injectName === 'string' ? platformSupport[import.meta.injectName] : [];
41+
const featureNames = typeof args.importConfig.injectName === 'string' ? platformSupport[args.importConfig.injectName] : [];
4342

4443
for (const featureName of featureNames) {
4544
const ContentFeature = platformFeatures['ddg_feature_' + featureName];

injected/src/features/element-hiding.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,12 +320,10 @@ export default class ElementHiding extends ContentFeature {
320320

321321
// determine whether strict hide rules should be injected as a style tag
322322
if (shouldInjectStyleTag) {
323-
// @ts-expect-error: Accessing private method
324323
shouldInjectStyleTag = this.matchDomainFeatureSetting('styleTagExceptions').length === 0;
325324
}
326325

327326
// collect all matching rules for domain
328-
// @ts-expect-error: Accessing private method
329327
const activeDomainRules = this.matchDomainFeatureSetting('domains').flatMap((item) => item.rules);
330328

331329
const overrideRules = activeDomainRules.filter((rule) => {

injected/src/features/navigator-interface.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { createPageWorldBridge } from './message-bridge/create-page-world-bridge
44

55
export default class NavigatorInterface extends ContentFeature {
66
load(args) {
7-
// @ts-expect-error: Accessing private method
87
if (this.matchDomainFeatureSetting('privilegedDomains').length) {
98
this.injectNavigatorInterface(args);
109
}

injected/src/utils.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,6 @@ export function processConfig(data, userList, preferences, platformSpecificFeatu
642642

643643
// Copy feature settings from remote config to preferences object
644644
output.featureSettings = parseFeatureSettings(data, enabledFeatures);
645-
output.trackerLookup = import.meta.trackerLookup;
646645
output.bundledConfig = data;
647646

648647
return output;

0 commit comments

Comments
 (0)