Skip to content

Commit fcf08e1

Browse files
committed
Fix issues after rebasing
1 parent 30c8625 commit fcf08e1

File tree

12 files changed

+143
-134
lines changed

12 files changed

+143
-134
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@ import com.duckduckgo.autofill.api.passwordgeneration.AutomaticSavedLoginsMonito
208208
import com.duckduckgo.autofill.impl.AutofillFireproofDialogSuppressor
209209
import com.duckduckgo.brokensite.api.BrokenSitePrompt
210210
import com.duckduckgo.brokensite.api.RefreshPattern
211+
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptBrowserPlugin
211212
import com.duckduckgo.browser.api.UserBrowserProperties
212213
import com.duckduckgo.browser.api.autocomplete.AutoComplete
213214
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteSuggestion.AutoCompleteDefaultSuggestion
@@ -255,7 +256,7 @@ import com.duckduckgo.feature.toggles.api.Toggle
255256
import com.duckduckgo.feature.toggles.api.Toggle.State
256257
import com.duckduckgo.history.api.HistoryEntry.VisitedPage
257258
import com.duckduckgo.history.api.NavigationHistory
258-
import com.duckduckgo.js.messaging.api.AddDocumentStartJavaScriptPlugin
259+
import com.duckduckgo.js.messaging.api.AddDocumentStartJavaScript
259260
import com.duckduckgo.js.messaging.api.JsCallbackData
260261
import com.duckduckgo.js.messaging.api.PostMessageWrapperPlugin
261262
import com.duckduckgo.js.messaging.api.SubscriptionEventData
@@ -6987,8 +6988,8 @@ class BrowserTabViewModelTest {
69876988

69886989
testee.pageFinished(mockWebView, webViewNavState, url)
69896990

6990-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
6991-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.countInitted)
6991+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
6992+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.addDocumentStartJavaScript().countInitted)
69926993
}
69936994

69946995
@Test
@@ -7000,8 +7001,8 @@ class BrowserTabViewModelTest {
70007001

70017002
testee.pageFinished(mockWebView, webViewNavState, url)
70027003

7003-
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
7004-
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.countInitted)
7004+
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
7005+
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.addDocumentStartJavaScript().countInitted)
70057006
}
70067007

70077008
@Test
@@ -7011,8 +7012,8 @@ class BrowserTabViewModelTest {
70117012

70127013
testee.privacyProtectionsUpdated(mockWebView)
70137014

7014-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
7015-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.countInitted)
7015+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
7016+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.addDocumentStartJavaScript().countInitted)
70167017
}
70177018

70187019
@Test
@@ -7022,8 +7023,8 @@ class BrowserTabViewModelTest {
70227023

70237024
testee.privacyProtectionsUpdated(mockWebView)
70247025

7025-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
7026-
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.countInitted)
7026+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
7027+
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.otherPlugin.addDocumentStartJavaScript().countInitted)
70277028
}
70287029

70297030
@Test
@@ -7512,11 +7513,11 @@ class BrowserTabViewModelTest {
75127513
runTest {
75137514
val mockCallback = mock<WebViewCompatMessageCallback>()
75147515
val webView = DuckDuckGoWebView(context)
7515-
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
7516+
assertEquals(0, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
75167517

75177518
testee.configureWebView(webView, mockCallback)
75187519

7519-
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.countInitted)
7520+
assertEquals(1, fakeAddDocumentStartJavaScriptPlugins.cssPlugin.addDocumentStartJavaScript().countInitted)
75207521
}
75217522

75227523
@UiThreadTest
@@ -7833,9 +7834,13 @@ class BrowserTabViewModelTest {
78337834
override fun getCustomHeaders(url: String): Map<String, String> = headers
78347835
}
78357836

7836-
class FakeAddDocumentStartJavaScriptPlugin(
7837-
override val context: String,
7838-
) : AddDocumentStartJavaScriptPlugin {
7837+
class FakeAddDocumentStartJavaScriptBrowserPlugin(val context: String) : AddDocumentStartJavaScriptBrowserPlugin {
7838+
private val addDocumentStartJavaScript = FakeAddDocumentStartJavaScript(context)
7839+
7840+
override fun addDocumentStartJavaScript(): FakeAddDocumentStartJavaScript = addDocumentStartJavaScript
7841+
}
7842+
7843+
class FakeAddDocumentStartJavaScript(override val context: String) : AddDocumentStartJavaScript {
78397844
var countInitted = 0
78407845
private set
78417846

@@ -7844,13 +7849,19 @@ class BrowserTabViewModelTest {
78447849
}
78457850
}
78467851

7847-
class FakeAddDocumentStartJavaScriptPluginPoint : PluginPoint<AddDocumentStartJavaScriptPlugin> {
7848-
val cssPlugin = FakeAddDocumentStartJavaScriptPlugin("contentScopeScripts")
7849-
val otherPlugin = FakeAddDocumentStartJavaScriptPlugin("test")
7852+
class FakeAddDocumentStartJavaScriptPluginPoint : PluginPoint<AddDocumentStartJavaScriptBrowserPlugin> {
7853+
val cssPlugin = FakeAddDocumentStartJavaScriptBrowserPlugin("contentScopeScripts")
7854+
val otherPlugin = FakeAddDocumentStartJavaScriptBrowserPlugin("test")
78507855

78517856
override fun getPlugins() = listOf(cssPlugin, otherPlugin)
78527857
}
78537858

7859+
class FakePostMessageWrapperPluginPoint : PluginPoint<PostMessageWrapperPlugin> {
7860+
val plugin = FakePostMessageWrapperPlugin()
7861+
7862+
override fun getPlugins(): Collection<PostMessageWrapperPlugin> = listOf(plugin)
7863+
}
7864+
78547865
class FakeWebMessagingPlugin : WebMessagingPlugin {
78557866
var registered = false
78567867
private set
@@ -7891,15 +7902,8 @@ class BrowserTabViewModelTest {
78917902
webView: WebView,
78927903
) {
78937904
postMessageCalled = true
7894-
}
7895-
7905+
}
78967906
override val context: String
78977907
get() = "contentScopeScripts"
78987908
}
7899-
7900-
class FakePostMessageWrapperPluginPoint : PluginPoint<PostMessageWrapperPlugin> {
7901-
val plugin = FakePostMessageWrapperPlugin()
7902-
7903-
override fun getPlugins(): Collection<PostMessageWrapperPlugin> = listOf(plugin)
7904-
}
79057909
}

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserWebViewClientTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ import com.duckduckgo.app.statistics.pixels.Pixel
6767
import com.duckduckgo.autoconsent.api.Autoconsent
6868
import com.duckduckgo.autofill.api.BrowserAutofill
6969
import com.duckduckgo.autofill.api.InternalTestUserChecker
70-
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptPlugin
7170
import com.duckduckgo.browser.api.JsInjectorPlugin
7271
import com.duckduckgo.browser.api.WebViewVersionProvider
7372
import com.duckduckgo.common.test.CoroutineTestRule

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,7 @@ import com.duckduckgo.autofill.api.passwordgeneration.AutomaticSavedLoginsMonito
274274
import com.duckduckgo.autofill.impl.AutofillFireproofDialogSuppressor
275275
import com.duckduckgo.brokensite.api.BrokenSitePrompt
276276
import com.duckduckgo.brokensite.api.RefreshPattern
277+
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptBrowserPlugin
277278
import com.duckduckgo.browser.api.UserBrowserProperties
278279
import com.duckduckgo.browser.api.autocomplete.AutoComplete
279280
import com.duckduckgo.browser.api.autocomplete.AutoComplete.AutoCompleteResult
@@ -319,7 +320,6 @@ import com.duckduckgo.duckplayer.api.DuckPlayer
319320
import com.duckduckgo.duckplayer.api.DuckPlayer.DuckPlayerState.ENABLED
320321
import com.duckduckgo.feature.toggles.api.Toggle
321322
import com.duckduckgo.history.api.NavigationHistory
322-
import com.duckduckgo.js.messaging.api.AddDocumentStartJavaScriptPlugin
323323
import com.duckduckgo.js.messaging.api.JsCallbackData
324324
import com.duckduckgo.js.messaging.api.PostMessageWrapperPlugin
325325
import com.duckduckgo.js.messaging.api.SubscriptionEventData
@@ -489,7 +489,7 @@ class BrowserTabViewModel @Inject constructor(
489489
private val externalIntentProcessingState: ExternalIntentProcessingState,
490490
private val vpnMenuStateProvider: VpnMenuStateProvider,
491491
private val webViewCompatWrapper: WebViewCompatWrapper,
492-
private val addDocumentStartJavascriptPlugins: PluginPoint<AddDocumentStartJavaScriptPlugin>,
492+
private val addDocumentStartJavascriptPlugins: PluginPoint<AddDocumentStartJavaScriptBrowserPlugin>,
493493
private val webMessagingPlugins: PluginPoint<WebMessagingPlugin>,
494494
private val postMessageWrapperPlugins: PluginPoint<PostMessageWrapperPlugin>,
495495
) : ViewModel(),
@@ -4247,7 +4247,7 @@ class BrowserTabViewModel @Inject constructor(
42474247
}
42484248

42494249
private suspend fun addDocumentStartJavaScript(webView: WebView) {
4250-
addDocumentStartJavascriptPlugins.getPlugins().forEach {
4250+
addDocumentStartJavascriptPlugins.getPlugins().addDocumentStartJavaScript().forEach {
42514251
it.addDocumentStartJavaScript(
42524252
webView,
42534253
)
@@ -4258,6 +4258,7 @@ class BrowserTabViewModel @Inject constructor(
42584258
if (withContext(dispatchers.io()) { !androidBrowserConfig.updateScriptOnPageFinished().isEnabled() }) {
42594259
addDocumentStartJavascriptPlugins
42604260
.getPlugins()
4261+
.addDocumentStartJavaScript()
42614262
.filter { plugin ->
42624263
(plugin.context == "contentScopeScripts")
42634264
}.forEach {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ import com.duckduckgo.app.statistics.pixels.Pixel
6565
import com.duckduckgo.autoconsent.api.Autoconsent
6666
import com.duckduckgo.autofill.api.BrowserAutofill
6767
import com.duckduckgo.autofill.api.InternalTestUserChecker
68-
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptPlugin
6968
import com.duckduckgo.browser.api.JsInjectorPlugin
7069
import com.duckduckgo.common.utils.AppUrl.ParamKey.QUERY
7170
import com.duckduckgo.common.utils.CurrentTimeProvider
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,16 @@
1616

1717
package com.duckduckgo.app.browser
1818

19-
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptPlugin
19+
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptBrowserPlugin
2020
import com.duckduckgo.contentscopescripts.impl.ContentScopeScriptsAddDocumentStartJavaScript
2121
import com.duckduckgo.di.scopes.FragmentScope
2222
import com.duckduckgo.js.messaging.api.AddDocumentStartJavaScript
2323
import com.squareup.anvil.annotations.ContributesMultibinding
2424
import javax.inject.Inject
2525

2626
@ContributesMultibinding(FragmentScope::class)
27-
class ContentScopeScriptsAddDocumentStartJavaScriptPlugin @Inject constructor(
27+
class ContentScopeScriptsAddDocumentStartJavaScriptBrowserPlugin @Inject constructor(
2828
private val contentScopeScriptsAddDocumentStartJavaScript: ContentScopeScriptsAddDocumentStartJavaScript,
29-
) : AddDocumentStartJavaScriptPlugin {
30-
override fun addDocumentStartJavaScript(): AddDocumentStartJavaScript {
31-
return contentScopeScriptsAddDocumentStartJavaScript
32-
}
29+
) : AddDocumentStartJavaScriptBrowserPlugin {
30+
override fun addDocumentStartJavaScript(): AddDocumentStartJavaScript = contentScopeScriptsAddDocumentStartJavaScript
3331
}

app/src/main/java/com/duckduckgo/app/plugins/AddDocumentStartJavaScriptPluginPoint.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@
1717
package com.duckduckgo.app.plugins
1818

1919
import com.duckduckgo.anvil.annotations.ContributesPluginPoint
20-
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptPlugin
20+
import com.duckduckgo.browser.api.AddDocumentStartJavaScriptBrowserPlugin
2121
import com.duckduckgo.di.scopes.AppScope
2222

2323
@ContributesPluginPoint(
2424
scope = AppScope::class,
25-
boundType = AddDocumentStartJavaScriptPlugin::class,
25+
boundType = AddDocumentStartJavaScriptBrowserPlugin::class,
2626
)
2727
@Suppress("unused")
2828
interface UnusedJAddDocumentStartJavaScriptPluginPoint

browser-api/src/main/java/com/duckduckgo/browser/api/AddDocumentStartJavaScriptPlugin.kt renamed to browser-api/src/main/java/com/duckduckgo/browser/api/AddDocumentStartJavaScriptBrowserPlugin.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@ package com.duckduckgo.browser.api
1818

1919
import com.duckduckgo.js.messaging.api.AddDocumentStartJavaScript
2020

21-
interface AddDocumentStartJavaScriptPlugin {
21+
interface AddDocumentStartJavaScriptBrowserPlugin {
2222
fun addDocumentStartJavaScript(): AddDocumentStartJavaScript
2323
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@ class ContentScopeScriptsAddDocumentStartJavaScript @Inject constructor(
3131
scriptInjectorDelegate: AddDocumentStartScriptDelegate,
3232
) : AddDocumentStartJavaScript by scriptInjectorDelegate.createPlugin(
3333
object : AddDocumentStartJavaScriptScriptStrategy {
34-
override suspend fun canInject(): Boolean {
35-
return webViewCompatContentScopeScripts.isEnabled()
36-
}
34+
override suspend fun canInject(): Boolean = webViewCompatContentScopeScripts.isEnabled()
3735

3836
override suspend fun getScriptString(): String {
3937
val activeExperiments = contentScopeExperiments.getActiveExperiments()

content-scope-scripts/content-scope-scripts-impl/src/test/java/com/duckduckgo/contentscopescripts/impl/ContentScopeScriptsAddDocumentStartJavaScriptTest.kt

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,25 +27,29 @@ class ContentScopeScriptsAddDocumentStartJavaScriptTest {
2727
private lateinit var testee: ContentScopeScriptsAddDocumentStartJavaScript
2828

2929
@Before
30-
fun setUp() = runTest {
31-
whenever(mockActiveContentScopeExperiments.getActiveExperiments()).thenReturn(listOf())
32-
whenever(mockAddDocumentStartScriptDelegate.createPlugin(any())).thenReturn(mockAddDocumentStartJavaScript)
33-
testee = ContentScopeScriptsAddDocumentStartJavaScript(
34-
mockWebViewCompatContentScopeScripts,
35-
mockActiveContentScopeExperiments,
36-
mockAddDocumentStartScriptDelegate,
37-
)
38-
}
30+
fun setUp() =
31+
runTest {
32+
whenever(mockActiveContentScopeExperiments.getActiveExperiments()).thenReturn(listOf())
33+
whenever(mockAddDocumentStartScriptDelegate.createPlugin(any())).thenReturn(mockAddDocumentStartJavaScript)
34+
testee =
35+
ContentScopeScriptsAddDocumentStartJavaScript(
36+
mockWebViewCompatContentScopeScripts,
37+
mockActiveContentScopeExperiments,
38+
mockAddDocumentStartScriptDelegate,
39+
)
40+
}
3941

4042
@Test
41-
fun whenAddDocumentStartJavaScriptCalledThenDelegateToCreatedPlugin() = runTest {
42-
testee.addDocumentStartJavaScript(mockWebView)
43+
fun whenAddDocumentStartJavaScriptCalledThenDelegateToCreatedPlugin() =
44+
runTest {
45+
testee.addDocumentStartJavaScript(mockWebView)
4346

44-
verify(mockAddDocumentStartJavaScript).addDocumentStartJavaScript(mockWebView)
45-
}
47+
verify(mockAddDocumentStartJavaScript).addDocumentStartJavaScript(mockWebView)
48+
}
4649

4750
@Test
48-
fun whenConstructedThenCreatePluginWithCorrectStrategy() = runTest {
49-
verify(mockAddDocumentStartScriptDelegate).createPlugin(any())
50-
}
51+
fun whenConstructedThenCreatePluginWithCorrectStrategy() =
52+
runTest {
53+
verify(mockAddDocumentStartScriptDelegate).createPlugin(any())
54+
}
5155
}

js-messaging/js-messaging-api/src/main/java/com/duckduckgo/js/messaging/api/AddDocumentStartJavaScript.kt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,7 @@ import android.webkit.WebView
2424
* Useful for privacy protections and that need to run as early as possible and/or on iframes.
2525
*/
2626
interface AddDocumentStartJavaScript {
27-
28-
suspend fun addDocumentStartJavaScript(
29-
webView: WebView,
30-
)
27+
suspend fun addDocumentStartJavaScript(webView: WebView)
3128

3229
val context: String
3330
}

0 commit comments

Comments
 (0)