Skip to content

Commit 0cc84c6

Browse files
committed
Simplify JS setup
1 parent c48fa42 commit 0cc84c6

File tree

3 files changed

+5
-40
lines changed

3 files changed

+5
-40
lines changed

app/src/main/java/com/duckduckgo/app/browser/BrowserTabFragment.kt

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3428,23 +3428,6 @@ class BrowserTabFragment :
34283428
val script =
34293429
"""
34303430
(function() {
3431-
// Capture the injected object immediately
3432-
const ddgBlob = window.ddgBlobDownloadObj;
3433-
3434-
if (!ddgBlob) {
3435-
console.error('ddgBlobDownloadObj not found');
3436-
return;
3437-
}
3438-
3439-
try {
3440-
Object.defineProperty(window, 'ddgBlobDownloadObj', {
3441-
value: ddgBlob,
3442-
writable: false,
3443-
configurable: false,
3444-
});
3445-
} catch (e) {
3446-
console.warn('Could not protect ddgBlobDownloadObj:', e);
3447-
}
34483431
34493432
const urlToBlobCollection = {};
34503433
@@ -3473,17 +3456,17 @@ class BrowserTabFragment :
34733456
}
34743457
34753458
const pingMessage = 'Ping:' + window.location.href;
3476-
ddgBlob.postMessage(pingMessage);
3459+
window.ddgBlobDownloadObj.postMessage(pingMessage);
34773460
console.log('Sent ping message for blob downloads: ' + pingMessage);
34783461
3479-
ddgBlob.addEventListener('message', function(event) {
3462+
window.ddgBlobDownloadObj.addEventListener('message', function(event) {
34803463
if (event.data.startsWith('blob:')) {
34813464
console.log(event.data);
34823465
const blob = urlToBlobCollection[event.data];
34833466
if (blob) {
34843467
blobToBase64DataUrl(blob).then((dataUrl) => {
34853468
console.log('Sending data URL back to native ' + dataUrl);
3486-
ddgBlob.postMessage(dataUrl);
3469+
window.ddgBlobDownloadObj.postMessage(dataUrl);
34873470
});
34883471
} else {
34893472
console.log('No Blob found for URL: ' + event.data);

app/src/main/java/com/duckduckgo/app/browser/WebViewCompatTestHelper.kt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -130,13 +130,11 @@ class RealWebViewCompatTestHelper @Inject constructor(
130130
webView.context.resources?.openRawResource(R.raw.webviewcompat_test_script)
131131
?.bufferedReader().use { it?.readText() }.orEmpty()
132132
.replace(delay, config.settings?.jsInitialPingDelay?.toString() ?: "0")
133-
.replace(com.duckduckgo.app.browser.postInitialPing, config.jsSendsInitialPing.toString())
134-
.replace(com.duckduckgo.app.browser.replyToNativeMessages, config.jsRepliesToNativeMessages.toString())
133+
.replace(postInitialPing, config.jsSendsInitialPing.toString())
134+
.replace(replyToNativeMessages, config.jsRepliesToNativeMessages.toString())
135135
.replace(objectName, if (useDedicatedListener) "webViewCompatTestObj" else "ddgBlobDownloadObj")
136136
}
137137

138-
// logcat("Cris") {"Script: $script"}
139-
140138
webViewCompatWrapper.addDocumentStartJavaScript(webView, script, setOf("*"))
141139

142140
if (useDedicatedListener) {

app/src/main/res/raw/webviewcompat_test_script.js

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,6 @@
22
// Capture the injected object immediately
33
const ddgObj = window.$OBJECT_NAME$;
44

5-
if (!ddgObj) {
6-
console.error('$OBJECT_NAME$ not found');
7-
return;
8-
}
9-
10-
// Make it read-only to prevent overwrites (don't delete - other scripts may need it)
11-
try {
12-
Object.defineProperty(window, '$OBJECT_NAME$', {
13-
value: ddgObj,
14-
writable: false,
15-
configurable: false,
16-
});
17-
} catch (e) {
18-
console.warn('Could not protect $OBJECT_NAME$:', e);
19-
}
20-
215
const supportedMessages = ["ContextMenuOpened", "PageStarted"];
226

237
const delay = $DELAY$;

0 commit comments

Comments
 (0)