Commit Graph

328 Commits (9654b4dfb122b54b04369fe80a2f9c95811478e8)

Author SHA1 Message Date
Gabriel Luong 9654b4dfb1 For #27667 - Remove import-ordering from the list of disabled ktlint rules 2 years ago
Gabriel Luong 997a4af839 For #26582 - Renew telemetry expiring in 107 2 years ago
mcarare ffcef5ff2e For #26844: Fix ktlint issues and remove them from baseline. 2 years ago
indu 1488e8e87b For #26236: Fix breaking change from AC regarding exitImmersiveModeIfNeeded
This will allow Fenix to use the refactored method name 'exitImmersiveMode' in Activity from Android Components library

Co-Authored-By: Mugurell <Mugurell@users.noreply.github.com>
2 years ago
Gabriel Luong 83e19be385 For #24967 - Enable address autofill for Nightly and Debug 2 years ago
Alexandru2909 1ff5b8129f Fixes #25622 - PromptFeature use LoginDelegate and CreditCardDelegate as parameters for login and credit card pickers 2 years ago
Alexandru2909 3b4e11b796 For #24969 - Display address autofill prompt 2 years ago
indu 31336c0d87 For #25413: App should not be locked in landscape when a tab or custom tab loads while in pip mode
App should not be locked in landscape while in pip mode when a tab or custom tab loads

Co-Authored-By: Mugurell <Mugurell@users.noreply.github.com>
2 years ago
indu ac31a1ace4 For #25455 : Let A-C handle toolbar expanding when URL changes
This fix allows the toolbar to be visible after the user clicks on a link and scrolls

Co-Authored-By: Mugurell <Mugurell@users.noreply.github.com>
2 years ago
Mugurell 666c839eb7
For #24040: App should not crash when the search widget is clicked while PIP mode is active (#25410)
When the search event is from the search widget while PIP is active, the search fragment opens after the screen is unlocked. This avoids the issue of the search page opening in landscape mode and also the app doesn't crash.

Co-Authored-By: Mugurell <Mugurell@users.noreply.github.com>

Co-authored-by: indu <indu@ramkystech.com>
2 years ago
mcarare cb4f8ed0c0 For #24968: Add preference for enabling/disabling addresses autofill.
For #24968: Add preference for enabling/disabling addresses autofill.
2 years ago
Gabriel Luong 63ca6791c1 For #25179 - Display a save or update credit card prompt 2 years ago
mcarare ffa1ecd300 For #21292: Remove unused MetricController parameters. 2 years ago
mcarare 3057ae7fd7 For #24841: Remove unused events. 2 years ago
Gabriel Luong 61bc862657 For #24780 - Part 2: RenameCreditCardsSettingFragment to AutofillSettingFragment in nav_graph.xml 2 years ago
Alexandru2909 120176f3b4 For #24605 - Remove Event.wrapper for MediaState telemetry 2 years ago
Christian Sadilek 47f55924e1 Address breaking changes in A-C 100.0.20220324222826 2 years ago
Gabriel Luong ad95f950bb For #24252 - Rename contrastText attribute to textOnColorPrimary 2 years ago
Gabriel Luong f1e7b49425 For #24252 - Rename primaryText attribute to textPrimary 2 years ago
Mugurell 06ffc33ca2 For #23415 - Add support for GeckoView Screen Orientation APIs 2 years ago
mcarare 653f149cc2 For #24075: Add PDF download metrics. 2 years ago
Mugurell bc59ede073 For #22722 - Reacting to the crashed flag
Whenever the ".crashed" property of the currently displayed
TabSessionState -> EngineState is true we will show an in-app crash reporter
with the usual close tab / restore tab options and also the option to report
all current non-fatal crashes to Mozilla if the setting for sending the crash
reports is enabled in app settings.
This closely mimics the previous crash reporter UI but there might be some
subtle differences stemming from migrating to using a ComposeView.

Whenever the ".crashed" property of the currently displayed
TabSessionState -> EngineState is false we will set the in-app crash reporter
to have a View.GONE visibility effectively removing it from the layout.

The functionality for receiving the non-fatal crashes from the AC CrashReporter
through an Intent is still kept and these crashes will be persisted in memory
until the user closes / restores a tab and so also makes a decision about
sending or not these crashes.

Currently more tabs can crash following just one since more share the same
process and as such there is no way to differentiate between them or link a
certain Crash to a certain tab.
They will all be acted upon at once from any tab the user chooses to close or
restore.
2 years ago
Sammy Khamis 6f9e725ec5 add invalid URL error to show up when trying to save an invalid bookmark 2 years ago
Sammy Khamis 7d34fbb87d fix fenix crashing when trying to add an invalid bookmark 2 years ago
Alexandru2909 cf83b3050b For #8108 - Add BrowserToolbar option to remove url from TopSites 2 years ago
Gabriel Luong 76fb147ed8 For #23076 - Clean up unneeded FeatureFlags 2 years ago
Grisha Kruglov 8de4c0b4db For #22569: Remove allopen plugin and Mockable annotations 2 years ago
Christian Sadilek ae0dba29b1 Prevent flash when navigating to home 2 years ago
Sebastian Kaspari 170fa9705e Update Kotlin and Jetpack Compose versions. 3 years ago
Michael Comella 788eb2c5de For #21921: add duration for some BrowserFragment lifecycle markers.
Here is a sample profile with all the new markers:
https://share.firefox.dev/3lCGoD2
3 years ago
Rohan Maity a77091dc5b For #20579: Fix the normal browing tab re-used unexpectedly when open links in private tab enabled or same tab is already avaialble in normal browsing mode 3 years ago
Elise Richards 1b066458d5 Remove downloads management telemetry 3 years ago
Mugurell 621c388c12 For #17917 - Finish migrating all synthetics usages 3 years ago
Rohan Maity 707918cdc1 For #20596 remove startup timeline probes 3 years ago
Mugurell ff4669a759 For #17917 - Migrate `browser` from Kotlin synthetics to View Binding. 3 years ago
Gabriel Luong 465f553ea8 For #19886 - Remove the tracking protection indicator 3 years ago
Rohan Maity c45703db07 For #20596 remove perf.startup probes 3 years ago
Grisha Kruglov ec98db4e54 External source support
Adds handling of information about external referrer (package, category)
when dealing with external intents.
3 years ago
Sebastian Kaspari 971b419d77 Run ktlintFormat to adapt to latest formatting rules. 3 years ago
codrut.topliceanu d530f5b773 For #17855 - Stops SecureWindowFeature from removing FLAG_SECURE 3 years ago
Roger Yang 74c1cc82fb Closes #19921: Update appcompat and fragment dependencies to 1.3.x 3 years ago
Arturo Mejia 251bfc7fe9 Improvements to site permissions 3 years ago
Arturo Mejia 2f879f8e9d Fix site permissions breaking changes 3 years ago
Gabriel Luong 86a9c56782 For #19876 - Part 1: Refactor BrowserToolbarInteractor
- Renames `BrowserInteractor` to `DefaultBrowserTolbarInteractor`
- Renames `BrowserTooolbarViewInteractor` to `BrowserToolbarInteractor`
- Refactors `BrowserToolbarViewInteractor` interface from `BrowserToolbarView.kt` to  `BrowserToolbarInteractor` as `BrowserToolbarInteractor`
3 years ago
Jonathan Almeida dc11c334b6 Issue #19112: Remove old tab tray code 3 years ago
Gabriel Luong d30ebf86f9
For #19693 - Display a biometric prompt when a credit card is selected to autofill (#19697)
Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
3 years ago
Mugurell bd8facb025 For #18263 - Allow dynamically toggling credit cards autofill 3 years ago
Gabriel Luong 75fc116043
For #18287 - Display a credit card autofill prompt (#19477) 3 years ago
MarcLeclair 990bfa7e6d
16900 make navgraph inflation asynchronous (#18889)
* For #16900: implement async navgraph inflation

For #16900: removed nav graph from xml

For #16900: inflate navGraph programatically

For #16900: Made NavGraph inflation asynchronous

For #16900: Changed to block with runBlocking

For #16900: Refactored blocking call into a function

For 16900: NavGraph inflation is now async

We now attach the nav graph (or check if its attached) on every nav call ( an extension function for NavController).
This is done by checking the value of the job stored in PerfNavController.map which keeps track of the job with the NavController as a Key.
If the job hasn't been completed, it will block the main thread until the job is done. The job itself is responsible for attaching the navgraph
to the navcontroller (and the inflation of the latter too)

For 16900: rebased upstream master

For 16900: Rebase on master

For #16900: Fixed Async Navgraph navigation per review comments.

1)The Asynchronous method is now found in NavGraphProvider.kt. It creates a job on the IO dispatcher
2)The Job is tracked through a WeakHashMap from Controller --> NavGraph
3)The Coroutine scope doesn't use MainScope() anymore
4)The Coroutine is cancelled if the Activity is destroyed
5)The tests mockk the blockForNavGraphInflation method through the FenixReoboelectricTestApplication instead of calling the mock every setup()

For #16900: inflateNavGraphAsync now takes navController

For #16900: Pass lifecycleScope to NavGraphProvider

For #16900: removed unused mock

For #16900: Added linter rules for navigate calls

We need linting rules to make sure no one calls the NavController.navigate() methods

For #16900: Added TestRule to help abstract the mocks in the code

For 16900: Fix linting problems

For #16900: Cleaned duplicated code in tests

For #16900: cleaned up NavGraphTestRule for finished test

For #16900: had to revert an accidentally edited file

For #16900: rebased master

* For #16900: Review nits for async navgraph

This is composed of squash commits, the original messages can be found below:

-> DisableNavGraphProviderAssertionRule + kdoc.

Use test rule in RobolectricApplication.

Fix failing CrashReporterControllerTest

Fix blame by -> navigate in tests.

This commit was generated by the following commands only:
```
find app/src/test -type f -exec sed -i '' "/import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph/d" {} \;
find app/src/test -type f -exec sed -i "" "s/navigateBlockingForAsyncNavGraph/navigate/g" {} \;
git checkout app/src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker
```

Fix various blame

This is expected to be squashed into the first commit so, if so, it'd
fix the blame.

Move test rule to helpers pkg.

add missing license header

Add import change I missed

fix unused imports

Replace robolectricTestrunner with test rule.

Improve navGraphProvider docs

Remove unnecessary rule as defined by robolectric.

add clarifying comment to robolectric

remove unnecessary space

* For #16900: nit fixes for MozillaNavigateCheck and lint fixes

3 squash commits:
 *Changed violation message and fixed the lint rule for MozillaNavigateCheck
 *Added suppression to NavController.kt
 *Fixed detekt violations

* For 16900: Fixed failing tests

Co-authored-by: Michael Comella <michael.l.comella@gmail.com>
3 years ago
Mugurell b36431a6df For #18616 - Update browser and toolbar layout when toolbar is at top
FindInPageIntegration which already updated the toolbar to make room for the
find in page bar now receives more data based on which it will be able to
better update the layout of BrowserFragment to to support showing the find in
page bar.
3 years ago