Commit Graph

328 Commits (9654b4dfb122b54b04369fe80a2f9c95811478e8)

Author SHA1 Message Date
Arturo Mejia 8ca9f94abb For issue #16557 set autoplay block audio only
by default
3 years ago
Vitaly V. Pinchuk 43c54b7006
For #18395: Dismiss contextual menu when entering/exiting Reader Mode 3 years ago
Michael Comella 62e2fb1aa6 For #18426: add measurement probes for long-running lifecycle methods.
In addition to the existing probes for onCreate, this should cover all
lifecycle methods that take a long time in our profiles.
3 years ago
Jonathan Almeida 05aa948dc7 Issue #17822: Create a tabs tray layout and fragment
Co-authored-by: Kate Glazko <kglazko@Kates-MacBook-Pro.local>
3 years ago
Jonathan Almeida fbe73cfc1d For #17804: Use enterToImmersiveMode from support-ktx component 3 years ago
Arturo Mejia a16f554799 For issue #10428 Improve download dialog error message. 3 years ago
Mugurell 0a0f75d2ab For #18027 - Also fix the bottom toolbar in place when a11y is enabled
We previously only set the top toolbar as fixed if an a11y service was running.
3 years ago
Mugurell 6e0a64897b For #17899 - Expand toolbar when returning from fullscreen video
This was the previous behavior for both the top and bottom toolbars.
Regressed when changing to use a new custom behavior for the top toolbar.

When entering fullscreen we will now collapse and hide the toolbar, allow the
browser to expand to the entire screen estate and then, when exiting fullscreen
expand the toolbar.
Collapsing and then expanding the toolbar will trigger the
EngineViewBrowserToolbarBehavior to place the browser below the toolbar.
3 years ago
Christian Sadilek 2d87307144 Remove remaining usages of Session[Manager] in BrowserFragment 3 years ago
Christian Sadilek c9b8f57f96 Refactor BrowserToolbarMenuController to use browser store 3 years ago
Arturo Mejia b6ac5079b2 For issue #18049 Download complete dialog is not showing in custom tab. 3 years ago
Christian Sadilek 5a5cf9cd12 Refactor BrowserToolbarController to use browser store 3 years ago
Sebastian Kaspari f4f5e4b663 Issue #17174: Remove usage of old media APIs. 3 years ago
Arturo Mejia 3a1d56d7c8 For #17817 Change the feature prompt references from fragment to activity. 3 years ago
Roger Yang 993cf74e72
Closes #17174: Remove the New Media Session API Feature Flag (#17863) 3 years ago
Mugurell 8bf1cae2ca For #10686 - Use the AC custom behavior for both the top and bottom toolbars
This comes to unify the experience (with improvements but also specific issues)
for the url toolbar irrespective of it being placed at the bottom or at the top
Going further this will ease development and ensure the best UX for users.
3 years ago
Sebastian Kaspari f4a7b4c066 Remove TabsUseCases methods that take a Session object. 3 years ago
Mugurell 40fc9c1085 For #12414 - Support sharing images through ShareDownloadFeature
Register a ViewBoundFeatureWrapper<ShareDownloadFeature> that will respond to
"Share image" from the browser contextual menu
3 years ago
Jonathan Almeida 824f3fd821 Issue #1340: Forward Activity results to the fragment 3 years ago
Roger Yang d434ff13a5
For #17092: Dismiss toolbar menu when configuration change occurs (#17682) 3 years ago
Jonathan Almeida 66b94ced14 Close #1340: Add support for WebAuthnFeature 3 years ago
Sebastian Kaspari 023ddcc131 Refactor ExternalAppBrowserActivity and ExternalAppBrowserFragment to not use Session(Manager). 3 years ago
Jonathan Almeida 65c69c6b9f Fix breaking APIs in ActivityResultHandler 3 years ago
Christian Sadilek 54da078bd3 Refactor QuickSettingsDialog to use browser store 3 years ago
Arturo Mejia 570383a54d Add dot notification for autoplay blocked content 3 years ago
Jonathan Almeida 6dfd7ef757 Add experimental WebAuthn support for Nightly only
When testing out WebAuthn support with the privileged API,
we need our app to be signed by an allowed signing key.

We're seeing our tests fail with this error when testing locally:

```
  [FidoApiImpl] updateTransaction is called for stop
  [FidoApiImpl] finishSecurityKeyRequestController should not be called when SecurityKeyRequestController is null.
```

Our theory is that if we try this code on our signed APK, we should see
it work.
3 years ago
codrut.topliceanu 90575e6dd7 For #16238 - Back button now dismisses Suggested Logins
By using PromptFeature's onBackPressed the user can now press back to dismiss the Suggested Logins prompt without inadvertently navigating back
3 years ago
Christian Sadilek 53f77e422b Closes #17441: NPE when invalidating toolbar in response to reader changes 3 years ago
Arturo Mejia 00d971e9d3 For #16847: Allow autoplay to controlled via the toolbar. 3 years ago
Christian Sadilek cef56bef17 Update Android Components version to 71.0.20210108190105 3 years ago
Hakkı Kaan Çalışkan e41cc5a414 For #17303: Move ext fun runIfFragmentIsAttached to utils
move to ext
3 years ago
Roger Yang afa0454f2b
Closes #16603: Disable pull down when in fullscreen (#17314) 3 years ago
Christian Sadilek 5157a3f50e Closes #17045: Crash caused by calling consumeFlow on wrong thread 4 years ago
Codrut Topliceanu d0b09b7d69
For #15368 - Adds telemetry for fullscreen, pip (#16833) 4 years ago
Mugurell 574eac4636
For #15367 - DownloadsFragment telemetry (#16728)
Adds a counter for how many times the user does the following action:
- opens the Downloads section inside the app
- tap to open an item from inside Downloads / from the download dialog
- tap to delete one or more downloads at once
4 years ago
Arturo Mejia f263b7333a For issue #16847 Show the autoplay icon in the toolbar 4 years ago
ekager 3b0e70a856 For #16937 - Ensure FIP is removed on navigation 4 years ago
ekager dd2615b554
For #16442 - Check if fragment is still attached before updating site permissions rules (#16954) 4 years ago
Roger Yang 2ff7ba75c7
Closes #16896: Integrate new MediaSession API to nightly or debug builds (#16909) 4 years ago
Sebastian Kaspari 2cada405d8 Update Android Components to 69.0.20201207103252. 4 years ago
Elise Richards 77f061c362 Closes #8791: Use A-C tab counter and upgrades to A-C 69.0.20201203202830
Upgrades to A-C 69.0.20201203202830 and addresses breaking changes:
- Upgrades androidx workmanager to 2.4.0 in line with A-C.
- RecordingDevicesNotificationFeature was removed
- SearchUseCases accept parent session ID instead of session itself
4 years ago
Roger Yang 26051f7c0e
Closes #16603: Disable pull down refresh when activity is in immersive mode (#16793) 4 years ago
mcarare f823a5d246 For #16353: Avoid strict mode death on reading onboarding preference. 4 years ago
mcarare de1fa74ac1 For #16353: Add unit tests for onboarding finishing conditions. 4 years ago
mcarare 089c79f868 For #16353: Finish onboarding on loading a web page, with exceptions. 4 years ago
MickeyMoz 2c4f0624fd Update Android Components version to 67.0.20201115143123. 4 years ago
Johan Lorenzo 4570f5a14f Revert "Update Android Components version to 66.0.20201111143206."
This reverts commit dbdb68ac72.
4 years ago
MickeyMoz dbdb68ac72 Update Android Components version to 66.0.20201111143206. 4 years ago
Christian Sadilek 4abd399002 Closes #16327: Refactor MenuPresenter to use browser store 4 years ago
Christian Sadilek d7688c8427 For #12062: Switch to consumeFlow and add tests 4 years ago
ekager bd2c407943 For #4652 - Remove activityViewModels workarounds 4 years ago
Codrut Topliceanu 975a5b76ec
For #14637 - Fix sitePermissionsFeature breaking change + AC bump (#16229)
* For #14637 - Compatibility patch for AC - 8554

* Update Android Components version to 65.0.20201029143039

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
4 years ago
mcarare 9748c65c71 For #15413: Use proper url when bookmarking a page. 4 years ago
Christian Sadilek 601aa19176 Closes #11285: Replace Session[Manager] observers in BaseBrowserFragment 4 years ago
mcarare 21a67de947 For #15379: Use proper url when sharing. 4 years ago
ekager e15f50712a For #6313 - Set session ClearColor through Engine DefaultSettings 4 years ago
ekager cbe293d3e4 For #12062 - Launch back to browser if we previoulsy had tabs 4 years ago
Andrew Gaul cfbad1dae9 Show undo snackbars with padding with static bottom toolbar
This specifically fixes the close tab snackbar.  This commit mirrors
the logic when not using Undo from
9e876ebc44.  References #14982.
4 years ago
Sebastian Kaspari 3983c509dc Use "undo" implementation from Android Components.
This is not the super fancy version yet - since we still need to restore into SessionManager and
haven't fully switched to BrowserStore yet. However AC having knowledge about "undo" and whether
it was performed or not, will help us with features like "recently closed tabs". And once we
can improve "undo", Fenix will get all the nice things automatically.

Requires:
https://github.com/mozilla-mobile/android-components/pull/8449
4 years ago
ekager 7d5c199e51 For #12383 #15407 #12860 - Switch to using shared view model for session to delete on home 4 years ago
Elise Richards 1adf467248
For #14280, #14743: Remove old search fragment (#15169)
* Remove search fragment

* Use new folder to search dialog

* Rebase and lint

* Update tests with search dialog nav directions

* Rename interactor to match naming convention. Remove old controller and point everything to the dialog controller.
4 years ago
ekager a9075ff87b For #15272 - Remove bottom margin for toolbar on enter fullscreen 4 years ago
ekager 030d6a5b36 For #15121 - Ensure tabs removed while on browser select an available parent session 4 years ago
ekager 9a2103a9a7 For #13934 - Make TabHistory work on PWA/Custom Tabs 4 years ago
ekager 407c31fdb3 No issue: Fixes strict mode death in debug custom tab 4 years ago
Mugurell 75aa2d413a For #14974 - Ensure website bottom elements stay at bottom
engineView.setDynamicToolbarMaxHeight(0) vs
engineView.setDynamicToolbarMaxHeight(toolbarHeight)
ensures webpage's bottom elements are aligned to the bottom of the browser.

We also need to make sure that when the toolbar is static it does not cover the
bottom of the page - something desired when the toolbar was dynamic.
For this the engineView will have a toolbarHeight bottom margin.
4 years ago
ekager 09fbb43f80 For #2486 - Adds Recently Closed Tabs 4 years ago
Gabriel Luong 6d133c8d0c For #14529 - Show a dialog when the top sites limit has been reached 4 years ago
Mugurell d8d896c500 For #10240 - New preferences to control gesture based features
Three new settings and one for which this patch just pre-lands the strings.
The behavior for the "Swipe toolbar up to open tabs" is to be added as part of
a later ticket.
4 years ago
Tiger Oakes 113241e8ce
Enforce IO thread inside of components (#14704)
* Automatically run PermissionStorage on IO thread

* Run TabCollectionStorage on dedicated scope + IO

* Update findSitePermissionsBy calls
4 years ago
Sebastian Kaspari e0071341c7 Update to new state API and update Mozilla Android Components version.
The EngineSessionState of a tab is now always accessible through tab.engineState.engineSessionState. It will
never get cleared.
4 years ago
Mugurell 33fc520468 For #10241 - Use VerticalSwipeRefreshLayout for pull to refresh
And so resolve many of the issues found in the platform's SwipeRefreshLayout.
4 years ago
ekager 7c7aa46811 Closes #14254 - Removes Login select feature flag 4 years ago
mcarare 2f1b903005 For #14289: Check if toolbar is initialised before setting flags. 4 years ago
Arturo Mejia c63fd3f9ac Add support for restoring downloads 4 years ago
Tiger Oakes a8291bf641
Remove un-needed nullables (#13816) 4 years ago
Tiger Oakes ace6b99c89
Split toolbar controller into two classes (#13854) 4 years ago
ekager 179a86ce64 Puts login selection behind a nightly feature flag 4 years ago
ekager 53eebd681b For #5551 - Adds select login prompts 4 years ago
Christian Sadilek 8b9c3e0108 Fixes for A-C 57.0.20200826190111: Move EngineSession to BrowserState 4 years ago
Tiger Oakes 0b333fe48a For #9056: Search from custom tab 4 years ago
Gabriel Luong 46aa6a003e For #10342 - Part 3: Use the TopSitesUseCase in the BrowserToolbarController and SessionControlController
Use the provided `addPinnedSites` and `removeTopSites` use cases in `BrowserToolbarController` and `SessionControlController`.
4 years ago
Sebastian Kaspari 4782705af9 Add diagnostic breadcrumbs for debugging "Display already aquired" crashes.
For:
https://github.com/mozilla-mobile/android-components/issues/7960
4 years ago
mcarare 6c2220bffc For #13388: Use safe call for nullable swipeRefresh. 4 years ago
Jonathan Almeida f3b870d356 For #11918: Take a screenshot when clicking the tab tray
We looked into taking a screenshot right before leaving the
BrowserFragment, however this call will always fail since it's
non-blocking (we never want it to be blocking too), and we will never
receive a screenshot when a session is detached from an EngineView
before the callback is complete.

In Fenix, we can nicely evade this by taking a screenshot when click
the tabs tray icon, which is where you would want to see the most
up-to-date thumbnail of the tab and also does not leave the
BrowserFragment as well.
4 years ago
Kainalu Hagiwara d49ca515f4 For #13330 - Remove feature flag for swipe to switch tabs. 4 years ago
mcarare 1e223a8a53 For #13761: Add a11y change listener after toolbar is initialised.
Also removed it before reference is removed in onDestroy.
4 years ago
Roger Yang da1579b361
Closes #13459: Pass DefaultLoadUrlUseCase to AppLinksFeature (#13460) 4 years ago
Kainalu Hagiwara 2bdcbe5db9 For #11935 - Move BrowserThumbnails to BrowserFragment. 4 years ago
Kainalu Hagiwara ba0c0b134b For #13329 - Remove tab history feature flag. 4 years ago
Kainalu Hagiwara 52d4ffdef0 For #13424 - Fix detekt config and warnings. 4 years ago
Arturo Mejia c52e4fd9f5 For issue #7620: Add support for external download managers 4 years ago
ekager 5d664b979d For #6313 - Removes unused browser animations, improve delayed paint interactions 4 years ago
ekager f663129632 For #6313 - On first load, hides engineView until firstContentfulPaint 4 years ago
Elise Richards 3e8cab19c0
For #10261: PWA Telemetry (#11859)
* Add PWA events to metrics.

Track events for add to homescreen and install.

Map PWA facts to events

* Map component facts to local metrics

Add events pings to fragments

Supress long method for events

Move install event to AC and collect facts

Retrieve fg and bg events from Facts. Do not track intent fg/bg events, only views

* Allow onPause in base fragment to send telemetry for PWA in the external app fragment. Track foreground and bg locally in fenix, and route install and home screen taps from AC facts

* Rebase
4 years ago
Kainalu Hagiwara e1653f629e For #13127 - Make sure tabPreview is added after browserLayout. 4 years ago
Kate Glazko 611adf83e5 remove unused import 4 years ago
Kate Glazko 151e8595b6 For AC #7673 Move DownloadStatus to DownloadState Fenix Side Changes 4 years ago
ekager 6b6e1956ca For #13071 - Only return to home when session doesn't have parent session to select 4 years ago
Kainalu Hagiwara bef98698cb For #12904 - Conditionally inflate SwipeGestureLayout in BaseBrowserFragment.
Changing the root view of BaseBrowserFragment from a CoordinatorLayout
to a SwipeGestureLayout has caused some regressions, particularly in
snackbar behavior. Lets prevent those regressions from occuring in
builds where the feature flag for gestures is off by only adding the
SwipeGestureLayout when the feature flag is on.
4 years ago