Skip to content

Commit a9814ee

Browse files
authored
Merge 1fb3df5 into 4975042
2 parents 4975042 + 1fb3df5 commit a9814ee

File tree

11 files changed

+33
-25
lines changed

11 files changed

+33
-25
lines changed

injected/entry-points/android.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @module Android integration
33
*/
44
import { load, init } from '../src/content-scope-features.js';
5-
import { processConfig, isGloballyDisabled } from './../src/utils';
5+
import { processConfig } from './../src/utils';
66
import { AndroidMessagingConfig } from '../../messaging/index.js';
77

88
function initCode() {
@@ -14,9 +14,6 @@ function initCode() {
1414
const userPreferences = $USER_PREFERENCES$;
1515

1616
const processedConfig = processConfig(config, userUnprotectedDomains, userPreferences);
17-
if (isGloballyDisabled(processedConfig)) {
18-
return;
19-
}
2017

2118
const configConstruct = processedConfig;
2219
const messageCallback = configConstruct.messageCallback;

injected/entry-points/apple.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @module Apple integration
33
*/
44
import { load, init } from '../src/content-scope-features.js';
5-
import { processConfig, isGloballyDisabled, platformSpecificFeatures } from './../src/utils';
5+
import { processConfig, platformSpecificFeatures } from './../src/utils';
66
import { WebkitMessagingConfig, TestTransportConfig } from '../../messaging/index.js';
77

88
function initCode() {
@@ -15,10 +15,6 @@ function initCode() {
1515

1616
const processedConfig = processConfig(config, userUnprotectedDomains, userPreferences, platformSpecificFeatures);
1717

18-
if (isGloballyDisabled(processedConfig)) {
19-
return;
20-
}
21-
2218
if (import.meta.injectName === 'apple-isolated') {
2319
processedConfig.messagingConfig = new WebkitMessagingConfig({
2420
webkitMessageHandlerNames: ['contentScopeScriptsIsolated'],

injected/entry-points/integration.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,14 @@ function generateConfig() {
2626
domain: topLevelUrl.hostname,
2727
isBroken: false,
2828
allowlisted: false,
29-
enabledFeatures: ['fingerprintingCanvas', 'fingerprintingScreenSize', 'navigatorInterface', 'cookie'],
29+
enabledFeatures: [
30+
'fingerprintingCanvas',
31+
'fingerprintingScreenSize',
32+
'navigatorInterface',
33+
'cookie',
34+
'webCompat',
35+
'apiManipulation',
36+
],
3037
},
3138
};
3239
}

injected/entry-points/windows.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
* @module Windows integration
33
*/
44
import { load, init } from '../src/content-scope-features.js';
5-
import { processConfig, isGloballyDisabled, platformSpecificFeatures } from './../src/utils';
5+
import { processConfig, platformSpecificFeatures } from './../src/utils';
66
import { WindowsMessagingConfig } from '../../messaging/index.js';
77

88
function initCode() {
@@ -14,9 +14,7 @@ function initCode() {
1414
const userPreferences = $USER_PREFERENCES$;
1515

1616
const processedConfig = processConfig(config, userUnprotectedDomains, userPreferences, platformSpecificFeatures);
17-
if (isGloballyDisabled(processedConfig)) {
18-
return;
19-
}
17+
2018
processedConfig.messagingConfig = new WindowsMessagingConfig({
2119
methods: {
2220
// @ts-expect-error - Type 'unknown' is not assignable to type...

injected/integration-test/navigator-interface.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const test = testContextForExtension(base);
88

99
test.describe('Ensure navigator interface is injected', () => {
1010
test('should expose navigator.navigator.isDuckDuckGo(): Promise<boolean> and platform === "extension"', async ({ page }) => {
11-
await gotoAndWait(page, '/blank.html', { platform: { name: 'extension' } });
11+
await gotoAndWait(page, '/blank.html');
1212
const isDuckDuckGoResult = await page.evaluate(() => {
1313
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
1414
const fn = navigator.duckduckgo?.isDuckDuckGo;

injected/integration-test/page-objects/results-collector.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,7 @@ export class ResultsCollector {
297297
*/
298298
static create(page, use) {
299299
// Read the configuration object to determine which platform we're testing against
300+
page.on('console', (msg) => console[msg.type()](msg.text()));
300301
const { platformInfo, build } = perPlatform(use);
301302
return new ResultsCollector(page, build, platformInfo);
302303
}

injected/integration-test/test-pages/api-manipulation/config/apis.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
2+
"unprotectedTemporary": [],
23
"features": {
34
"apiManipulation": {
45
"state": "enabled",

injected/integration-test/utils.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ const test = testContextForExtension(base);
88

99
test.describe('Ensure utils behave as expected', () => {
1010
test('should toString DDGProxy correctly', async ({ page }) => {
11-
await gotoAndWait(page, '/blank.html', { platform: { name: 'extension' } });
11+
await gotoAndWait(page, '/blank.html');
1212
const toStringResult = await page.evaluate('HTMLCanvasElement.prototype.getContext.toString()');
1313
expect(toStringResult).toEqual('function getContext() { [native code] }');
1414

injected/integration-test/web-compat-android.spec.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ test.describe('Web Share API', () => {
155155
const result = await page.evaluate(payload).catch((e) => {
156156
return { threw: e };
157157
});
158-
console.log('check share', result);
159158
const message = await page.evaluate(() => {
160159
console.log('did read?');
161160
return globalThis.shareReq;

injected/src/content-scope-features.js

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { initStringExemptionLists, isFeatureBroken, registerMessageSecret } from './utils';
1+
import { initStringExemptionLists, isFeatureBroken, isGloballyDisabled, platformSpecificFeatures, registerMessageSecret } from './utils';
22
import { platformSupport } from './features';
33
import { PerformanceMonitor } from './performance';
44
import platformFeatures from 'ddg:platformFeatures';
@@ -41,13 +41,23 @@ export function load(args) {
4141
injectName: import.meta.injectName,
4242
};
4343

44-
const featureNames = typeof importConfig.injectName === 'string' ? platformSupport[importConfig.injectName] : [];
44+
const bundledFeatureNames = typeof importConfig.injectName === 'string' ? platformSupport[importConfig.injectName] : [];
4545

46-
for (const featureName of featureNames) {
47-
const ContentFeature = platformFeatures['ddg_feature_' + featureName];
48-
const featureInstance = new ContentFeature(featureName, importConfig, args);
49-
featureInstance.callLoad();
50-
features.push({ featureName, featureInstance });
46+
// prettier-ignore
47+
const featuresToLoad = isGloballyDisabled(args)
48+
// if we're globally disabled, only allow `platformSpecificFeatures`
49+
? platformSpecificFeatures
50+
// if available, use `site.enabledFeatures`. The extension doesn't have `site.enabledFeatures` at this
51+
// point, which is why we fall back to `bundledFeatureNames`.
52+
: args.site.enabledFeatures || bundledFeatureNames;
53+
54+
for (const featureName of bundledFeatureNames) {
55+
if (featuresToLoad.includes(featureName)) {
56+
const ContentFeature = platformFeatures['ddg_feature_' + featureName];
57+
const featureInstance = new ContentFeature(featureName, importConfig, args);
58+
featureInstance.callLoad();
59+
features.push({ featureName, featureInstance });
60+
}
5161
}
5262
mark.end();
5363
}

special-pages/pages/new-tab/app/activity/components/Activity.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ export function ActivityBody({ canBurn, visibility }) {
8181

8282
return (
8383
<ul class={styles.activity} data-busy={busy}>
84-
ts{' '}
8584
{keys.value.map((id, _index) => {
8685
if (canBurn && !isReducedMotion) return <BurnableItem id={id} key={id} documentVisibility={visibility} />;
8786
return <RemovableItem id={id} key={id} canBurn={canBurn} documentVisibility={visibility} />;

0 commit comments

Comments
 (0)