Skip to content

Commit 41bb4b1

Browse files
Revert "For Fenix#16832: Separate facts for addon install and addon enabled" (mozilla-mobile#9499)
* Revert "Remove unused line" This reverts commit 129968b. * Revert "Fix web extension support test" This reverts commit 2e3ec8d. * Revert "Separate web extention install and enable facts" This reverts commit efad6f6. Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 94cd25d commit 41bb4b1

File tree

3 files changed

+15
-25
lines changed

3 files changed

+15
-25
lines changed

components/support/webextensions/src/main/java/mozilla/components/support/webextensions/WebExtensionSupport.kt

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,7 @@ import mozilla.components.support.base.log.logger.Logger
3535
import mozilla.components.support.ktx.kotlin.isExtensionUrl
3636
import mozilla.components.support.ktx.kotlinx.coroutines.flow.filterChanged
3737
import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged
38-
import mozilla.components.support.webextensions.facts.emitWebExtensionEnabledFact
39-
import mozilla.components.support.webextensions.facts.emitWebExtensionInstalledFact
38+
import mozilla.components.support.webextensions.facts.emitWebExtensionsInitializedFact
4039
import java.util.concurrent.ConcurrentHashMap
4140

4241
/**
@@ -244,7 +243,6 @@ object WebExtensionSupport {
244243
override fun onEnabled(extension: WebExtension) {
245244
installedExtensions[extension.id] = extension
246245
store.dispatch(WebExtensionAction.UpdateWebExtensionEnabledAction(extension.id, true))
247-
emitWebExtensionEnabledFact(extension)
248246
}
249247

250248
override fun onDisabled(extension: WebExtension) {
@@ -301,6 +299,7 @@ object WebExtensionSupport {
301299
runtime.listInstalledWebExtensions(
302300
onSuccess = {
303301
extensions -> extensions.forEach { registerInstalledExtension(store, it) }
302+
emitWebExtensionsInitializedFact(extensions)
304303
closeUnsupportedTabs(store, extensions)
305304
initializationResult.complete(Unit)
306305
onExtensionsLoaded?.invoke(extensions.filter { !it.isBuiltIn() })
@@ -319,10 +318,6 @@ object WebExtensionSupport {
319318
installedExtensions[webExtension.id] = webExtension
320319
store.dispatch(WebExtensionAction.InstallWebExtensionAction(webExtension.toState()))
321320

322-
if (!webExtension.isBuiltIn()) {
323-
emitWebExtensionInstalledFact(webExtension)
324-
}
325-
326321
// Register action handler for all existing engine sessions on the new extension,
327322
// an issue was filed to get us an API, so we don't have to do this per extension:
328323
// https://bugzilla.mozilla.org/show_bug.cgi?id=1603559

components/support/webextensions/src/main/java/mozilla/components/support/webextensions/facts/WebExtensionFacts.kt

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ class WebExtensionFacts {
1818
* Items that specify which portion of the web extension events were invoked.
1919
*/
2020
object Items {
21-
const val WEB_EXTENSION_ENABLED = "web_extension_enabled"
22-
const val WEB_EXTENSION_INSTALLED = "web_extension_installed"
21+
const val WEB_EXTENSIONS_INITIALIZED = "web_extensions_initialized"
2322
}
2423
}
2524

@@ -38,22 +37,15 @@ private fun emitWebExtensionFact(
3837
).collect()
3938
}
4039

41-
internal fun emitWebExtensionEnabledFact(extension: WebExtension) {
40+
internal fun emitWebExtensionsInitializedFact(extensions: List<WebExtension>) {
41+
val installedAddons = extensions.filter { !it.isBuiltIn() }
42+
val enabledAddons = installedAddons.filter { it.isEnabled() }
4243
emitWebExtensionFact(
4344
Action.INTERACTION,
44-
WebExtensionFacts.Items.WEB_EXTENSION_ENABLED,
45+
WebExtensionFacts.Items.WEB_EXTENSIONS_INITIALIZED,
4546
metadata = mapOf(
46-
"enabled" to extension.id
47-
)
48-
)
49-
}
50-
51-
internal fun emitWebExtensionInstalledFact(extension: WebExtension) {
52-
emitWebExtensionFact(
53-
Action.INTERACTION,
54-
WebExtensionFacts.Items.WEB_EXTENSION_INSTALLED,
55-
metadata = mapOf(
56-
"installed" to extension.id
47+
"installed" to installedAddons.map { it.id },
48+
"enabled" to enabledAddons.map { it.id }
5749
)
5850
)
5951
}

components/support/webextensions/src/test/java/mozilla/components/support/webextensions/WebExtensionSupportTest.kt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import mozilla.components.support.test.libstate.ext.waitUntilIdle
3939
import mozilla.components.support.test.mock
4040
import mozilla.components.support.test.whenever
4141
import mozilla.components.support.webextensions.WebExtensionSupport.toState
42-
import mozilla.components.support.webextensions.facts.WebExtensionFacts.Items.WEB_EXTENSION_INSTALLED
42+
import mozilla.components.support.webextensions.facts.WebExtensionFacts.Items.WEB_EXTENSIONS_INITIALIZED
4343
import org.junit.After
4444
import org.junit.Assert.assertEquals
4545
import org.junit.Assert.assertFalse
@@ -114,9 +114,12 @@ class WebExtensionSupportTest {
114114
val interactionFact = facts[0]
115115
assertEquals(FactsAction.INTERACTION, interactionFact.action)
116116
assertEquals(Component.SUPPORT_WEBEXTENSIONS, interactionFact.component)
117-
assertEquals(WEB_EXTENSION_INSTALLED, interactionFact.item)
118-
assertEquals(1, interactionFact.metadata?.size)
117+
assertEquals(WEB_EXTENSIONS_INITIALIZED, interactionFact.item)
118+
assertEquals(2, interactionFact.metadata?.size)
119119
assertTrue(interactionFact.metadata?.containsKey("installed")!!)
120+
assertTrue(interactionFact.metadata?.containsKey("enabled")!!)
121+
assertEquals(listOf(ext1.id, ext2.id), interactionFact.metadata?.get("installed"))
122+
assertEquals(listOf(ext1.id), interactionFact.metadata?.get("enabled"))
120123
}
121124
assertEquals(ext1, WebExtensionSupport.installedExtensions[ext1.id])
122125
assertEquals(ext2, WebExtensionSupport.installedExtensions[ext2.id])

0 commit comments

Comments
 (0)