Medium firefox Logic Error 🔧 Commit mapped

Overview

Medium
Severity
CVSS
No
Exploited ITW
Fixed
Fix Status
Impactmoderate
DescriptionThe incorrect domain may have been displayed in the address bar during an interrupted navigation attempt. This could have led to user confusion and possible spoofing attacks.
ComponentCore
Bug ClassLogic Error
Tracker1914797
Fix commit96dc6686ad44 (firefox) +7/-2
CISA KEVNot listed
CreditedDaniel Holbert
Disclosed2024-11-26

Files Changed

  • mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
  • mobile/android/android-components/docs/changelog.md
  • mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsAdvancedTest.kt
diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
index ddfe9b33c2b..e77f1f79cf2 100644
--- a/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
+++ b/mobile/android/android-components/components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngineSession.kt
@@ -1329,6 +1329,7 @@ class GeckoEngineSession(
             notifyObservers {
                 onProgress(PROGRESS_START)
                 onLoadingStateChange(true)
+                onLocationChange(url, hasUserGesture = false)
             }
         }
 
diff --git a/mobile/android/android-components/docs/changelog.md b/mobile/android/android-components/docs/changelog.md
index b396b012b5a..05edc9a41ff 100644
--- a/mobile/android/android-components/docs/changelog.md
+++ b/mobile/android/android-components/docs/changelog.md
@@ -215,6 +215,9 @@ permalink: /changelog/
 * **feature-customtabs**
   * Fallback behaviour when failing to open a new window in custom tab will now be loading the URL directly in the same custom tab. [Bug 1832357](https://bugzilla.mozilla.org/show_bug.cgi?id=1832357)
 
+* **feature-session**
+  * Update URL in the store immediately during onPageStart.
+
 * **tooling-lint**
   * Added a lint rule to detect when `Response#close` may not have been called. Note: Currently, this rule only runs on Android Components.
 
diff --git a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsAdvancedTest.kt b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsAdvancedTest.kt
index 93aa24ce80f..d19425c5a62 100644
--- a/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsAdvancedTest.kt
+++ b/mobile/android/fenix/app/src/androidTest/java/org/mozilla/fenix/ui/SettingsAdvancedTest.kt
@@ -31,6 +31,7 @@ class SettingsAdvancedTest : TestSetup() {
     private val youTubeSchemaLink = itemContainingText("Youtube schema link")
     private val playStoreLink = itemContainingText("Playstore link")
     private val playStoreUrl = "play.google.com"
+    private val youtubeUrl = "vnd.youtube://Mozilla"
 
     @get:Rule
     val activityIntentTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides()
@@ -138,7 +139,7 @@ class SettingsAdvancedTest : TestSetup() {
             clickPageObject(youTubeSchemaLink)
             verifyOpenLinkInAnotherAppPrompt()
             clickPageObject(itemWithResIdAndText("android:id/button2", "CANCEL"))
-            verifyUrl(externalLinksPage.url.toString())
+            verifyUrl(youtubeUrl)
         }
     }
 
@@ -207,7 +208,7 @@ class SettingsAdvancedTest : TestSetup() {
                 pageObject = youTubeSchemaLink,
             )
             clickPageObject(itemWithResIdAndText("android:id/button2", "CANCEL"))
-            verifyUrl(externalLinksPage.url.toString())
+            verifyUrl(youtubeUrl)
         }
     }
 
Loading diff…