Skip to content

adsjs messaging #1883

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

Draft
wants to merge 28 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
b13ce17
Initial Android adsjs bundle
jonathanKingston Aug 8, 2025
fb94312
Rename output script to something more sensible
jonathanKingston Aug 8, 2025
82712bb
Add inject name
jonathanKingston Aug 8, 2025
445ca1b
lint fix
jonathanKingston Aug 8, 2025
a9d3fb2
PoC messaging adsjs
jonathanKingston Aug 8, 2025
c0483f1
Merge remote-tracking branch 'origin/main' into jkt/adsjs-messaging
jonathanKingston Aug 11, 2025
4688543
Removal of ports argument
jonathanKingston Aug 11, 2025
e227847
Change up wrapping
jonathanKingston Aug 11, 2025
b1cb41b
Fix up typing
jonathanKingston Aug 11, 2025
51f7413
Enable share on iframes and fix support issues
CrisBarreiro Aug 14, 2025
742e3c6
Revert "Enable share on iframes and fix support issues"
jonathanKingston Aug 18, 2025
af0c1e3
Inject name conditional (#1884)
jonathanKingston Aug 11, 2025
ad1623c
build(deps): bump immutable-json-patch from 6.0.1 to 6.0.2 (#1873)
dependabot[bot] Aug 11, 2025
f756149
build(deps-dev): bump eslint from 9.32.0 to 9.33.0 in the eslint grou…
dependabot[bot] Aug 11, 2025
77bb752
build(deps): bump @rive-app/canvas-single from 2.30.4 to 2.31.1 (#1885)
dependabot[bot] Aug 11, 2025
79a06c2
Fix context menu by filtering fake widgets starting with underscore (…
noisysocks Aug 12, 2025
1ff524e
NTP: Omnibar design fixes i2 (#1889)
noisysocks Aug 12, 2025
0776c37
feat: Add Duck.ai icon for RMF, update a couple other RMF icons (#1892)
vkraucunas Aug 12, 2025
770376d
Replace newlines with spaces when switching from Duck.ai to Search ta…
noisysocks Aug 13, 2025
e2d02fc
NTP: Refine omnibar background, outline, and elevation styles (#1893)
noisysocks Aug 13, 2025
3bc8dfb
Fix lint warnings (#1890)
noisysocks Aug 13, 2025
133d0b2
Force search mode when Duck.ai is disabled in Omnibar (#1895)
noisysocks Aug 18, 2025
2df441d
build(deps): bump @rive-app/canvas-single from 2.31.1 to 2.31.2 (#1902)
dependabot[bot] Aug 18, 2025
61cf286
build(deps): bump esbuild from 0.25.8 to 0.25.9 (#1903)
dependabot[bot] Aug 18, 2025
15cb984
build(deps): bump actions/checkout from 4 to 5 (#1901)
dependabot[bot] Aug 18, 2025
f7febb5
Add initial ping message
jonathanKingston Aug 18, 2025
3d7db9a
Merge remote-tracking branch 'origin/main' into jkt/adsjs-messaging
jonathanKingston Aug 18, 2025
cf6b3ad
Fix tests
jonathanKingston Aug 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions injected/entry-points/android-adsjs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
/**
* @module Android AdsJS integration
*/
import { load, init } from '../src/content-scope-features.js';
import { processConfig } from './../src/utils';
import { AndroidAdsjsMessagingConfig } from '../../messaging/index.js';

function initCode() {
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
const config = $CONTENT_SCOPE$;
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
const userUnprotectedDomains = $USER_UNPROTECTED_DOMAINS$;
// @ts-expect-error https://app.asana.com/0/1201614831475344/1203979574128023/f
const userPreferences = $USER_PREFERENCES$;

const processedConfig = processConfig(config, userUnprotectedDomains, userPreferences);

const configConstruct = processedConfig;
const objectName = configConstruct.objectName || 'contentScopeAdsjs';

processedConfig.messagingConfig = new AndroidAdsjsMessagingConfig({
objectName,
target: globalThis,
debug: processedConfig.debug,
});

load({
platform: processedConfig.platform,
site: processedConfig.site,
bundledConfig: processedConfig.bundledConfig,
messagingConfig: processedConfig.messagingConfig,
messageSecret: processedConfig.messageSecret,
});

init(processedConfig);
}

initCode();
4 changes: 4 additions & 0 deletions injected/scripts/entry-points.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ const builds = {
input: 'entry-points/android.js',
output: ['../build/android/autofillPasswordImport.js'],
},
'android-adsjs': {
input: 'entry-points/android-adsjs.js',
output: ['../build/android/adsjsContentScope.js'],
},
windows: {
input: 'entry-points/windows.js',
output: ['../build/windows/contentScope.js'],
Expand Down
9 changes: 9 additions & 0 deletions injected/src/features.js
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,15 @@ export const platformSupport = {
android: [...baseFeatures, 'webCompat', 'breakageReporting', 'duckPlayer', 'messageBridge'],
'android-broker-protection': ['brokerProtection'],
'android-autofill-password-import': ['autofillPasswordImport'],
'android-adsjs': [
'webCompat',
'fingerprintingHardware',
'fingerprintingScreenSize',
'fingerprintingTemporaryStorage',
'fingerprintingAudio',
'fingerprintingBattery',
'gpc',
],
windows: [
'cookie',
...baseFeatures,
Expand Down
3 changes: 2 additions & 1 deletion injected/src/globals.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ interface ImportMeta {
| 'integration'
| 'chrome-mv3'
| 'android-broker-protection'
| 'android-autofill-password-import';
| 'android-autofill-password-import'
| 'android-adsjs';
trackerLookup?: Record<string, unknown>;
pageName?: string;
}
Expand Down
2 changes: 1 addition & 1 deletion injected/unit-test/verify-artifacts.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const ROOT = join(cwd(import.meta.url), '..', '..');
console.log(ROOT);
const BUILD = join(ROOT, 'build');

let CSS_OUTPUT_SIZE = 770_000;
let CSS_OUTPUT_SIZE = 780_000;
if (process.platform === 'win32') {
CSS_OUTPUT_SIZE = CSS_OUTPUT_SIZE * 1.1; // 10% larger for Windows due to line endings
}
Expand Down
10 changes: 8 additions & 2 deletions messaging/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ import {
import { WebkitMessagingConfig, WebkitMessagingTransport } from './lib/webkit.js';
import { NotificationMessage, RequestMessage, Subscription, MessageResponse, MessageError, SubscriptionEvent } from './schema.js';
import { AndroidMessagingConfig, AndroidMessagingTransport } from './lib/android.js';
import { AndroidAdsjsMessagingConfig, AndroidAdsjsMessagingTransport } from './lib/android-adsjs.js';
import { createTypedMessages } from './lib/typed-messages.js';

/**
Expand All @@ -51,7 +52,7 @@ export class MessagingContext {
}

/**
* @typedef {WebkitMessagingConfig | WindowsMessagingConfig | AndroidMessagingConfig | TestTransportConfig} MessagingConfig
* @typedef {WebkitMessagingConfig | WindowsMessagingConfig | AndroidMessagingConfig | AndroidAdsjsMessagingConfig | TestTransportConfig} MessagingConfig
*/

/**
Expand Down Expand Up @@ -215,7 +216,7 @@ export class TestTransport {
}

/**
* @param {WebkitMessagingConfig | WindowsMessagingConfig | AndroidMessagingConfig | TestTransportConfig} config
* @param {WebkitMessagingConfig | WindowsMessagingConfig | AndroidMessagingConfig | AndroidAdsjsMessagingConfig | TestTransportConfig} config
* @param {MessagingContext} messagingContext
* @returns {MessagingTransport}
*/
Expand All @@ -229,6 +230,9 @@ function getTransport(config, messagingContext) {
if (config instanceof AndroidMessagingConfig) {
return new AndroidMessagingTransport(config, messagingContext);
}
if (config instanceof AndroidAdsjsMessagingConfig) {
return new AndroidAdsjsMessagingTransport(config, messagingContext);
}
if (config instanceof TestTransportConfig) {
return new TestTransport(config, messagingContext);
}
Expand Down Expand Up @@ -268,5 +272,7 @@ export {
WindowsRequestMessage,
AndroidMessagingConfig,
AndroidMessagingTransport,
AndroidAdsjsMessagingConfig,
AndroidAdsjsMessagingTransport,
createTypedMessages,
};
Loading
Loading