Skip to content

Commit 9282a59

Browse files
committed
Refine postMessage fallback
1 parent 981f895 commit 9282a59

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@
1616

1717
package com.duckduckgo.contentscopescripts.impl
1818

19-
import com.duckduckgo.contentscopescripts.api.AdsjsContentScopeJsMessageHandlersPlugin
19+
import com.duckduckgo.contentscopescripts.api.WebCompatContentScopeJsMessageHandlersPlugin
2020
import com.duckduckgo.di.scopes.ActivityScope
21-
import com.duckduckgo.js.messaging.api.AdsjsJsMessageCallback
22-
import com.duckduckgo.js.messaging.api.AdsjsMessageHandler
2321
import com.duckduckgo.js.messaging.api.JsMessage
22+
import com.duckduckgo.js.messaging.api.WebCompatMessageHandler
23+
import com.duckduckgo.js.messaging.api.WebViewCompatMessageCallback
2424
import com.squareup.anvil.annotations.ContributesMultibinding
2525
import javax.inject.Inject
2626
import org.json.JSONObject
2727

2828
@ContributesMultibinding(ActivityScope::class)
29-
class AdsjsMessagingContentScopeJsMessageHandler @Inject constructor() : AdsjsContentScopeJsMessageHandlersPlugin {
29+
class WebViewCompatMessagingContentScopeJsMessageHandler @Inject constructor() : WebCompatContentScopeJsMessageHandlersPlugin {
3030

31-
override fun getJsMessageHandler(): AdsjsMessageHandler = object : AdsjsMessageHandler {
31+
override fun getJsMessageHandler(): WebCompatMessageHandler = object : WebCompatMessageHandler {
3232

3333
override fun process(
3434
jsMessage: JsMessage,
35-
jsMessageCallback: AdsjsJsMessageCallback?,
35+
jsMessageCallback: WebViewCompatMessageCallback?,
3636
onResponse: (JSONObject) -> Unit,
3737
) {
3838
jsMessageCallback?.process(featureName, jsMessage.method, jsMessage.id, jsMessage.params, onResponse)

content-scope-scripts/content-scope-scripts-impl/src/main/java/com/duckduckgo/contentscopescripts/impl/messaging/WebCompatMessagingPlugin.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ import com.duckduckgo.js.messaging.api.SubscriptionEvent
3535
import com.duckduckgo.js.messaging.api.SubscriptionEventData
3636
import com.squareup.moshi.Moshi
3737
import javax.inject.Inject
38+
import kotlinx.coroutines.runBlocking
3839
import kotlinx.coroutines.withContext
3940
import logcat.LogPriority.ERROR
4041
import logcat.asLog
@@ -72,6 +73,7 @@ class WebCompatMessagingPlugin @Inject constructor(
7273
if (context == jsMessage.context) {
7374
// Setup reply proxy so we can send subscription events
7475
if (jsMessage.featureName == "messaging" || jsMessage.method == "initialPing") {
76+
logcat("Cris") { "initialPing" }
7577
globalReplyProxy = replyProxy
7678
}
7779

@@ -153,6 +155,16 @@ class WebCompatMessagingPlugin @Inject constructor(
153155
@SuppressLint("RequiresFeature")
154156
override fun postMessage(subscriptionEventData: SubscriptionEventData): Boolean {
155157
return runCatching {
158+
159+
//TODO (cbarreiro) temporary, remove
160+
val newWebCompatApisEnabled = runBlocking {
161+
adsJsContentScopeScripts.isEnabled()
162+
}
163+
164+
if (!newWebCompatApisEnabled) {
165+
return false
166+
}
167+
156168
val subscriptionEvent = SubscriptionEvent(
157169
context = context,
158170
featureName = subscriptionEventData.featureName,

0 commit comments

Comments
 (0)