1
0
Fork 0
Commit Graph

506 Commits (c119070e213ac2f835967f045d13bca36db972b9)

Author SHA1 Message Date
Severin Rudie cc29c5fe84
For #7896: integrate text selection search from AC (#8295) 2020-02-17 19:20:35 -08:00
Mugurell ad1144c722 For #6577 - Remove the `total_uri_count` Glean StringMetricType
This was added as a duplicate to an already existing `total_uri_count`
CounterMetricType in #4456.
2020-02-13 15:54:55 -08:00
Emily Kager 9bac7ef47b For #8403: Don't postpone transition for view intents 2020-02-13 12:58:28 -08:00
Simon Chae 2c01022c4b For #8153: Allow web-ext to open new tabs in correct browsing mode 2020-02-12 13:41:16 -08:00
Emily Kager 5839f5891c No issue: Update androidx dependencies 02.08.20 2020-02-10 11:33:12 +01:00
Kate Glazko 7c00a1ad6b For #5073: View Site Cert 2020-02-07 09:10:31 -08:00
David Walsh f728cdaf05
Bug 7189 - Provide page title in website information dialog (#7255)
* Bug 7189 - Provide page title in website information dialog

* Update QSFS test

* Fix Tiger's nits
2020-01-30 11:24:53 -08:00
Gabriel Luong e1863dd3c2 For #6758 - Part 4: Implement "Add to Firefox Home" browser menu item
- The "Add to Firefox Home" browser menu item adds a top site to the top site storage.
- Refactors the FenixSnackbar from BaseBrowserFragment into BrowserToolbarController
since there are multiple menu items that need to show a FenixSnackbar.
- Adds metrics for the new browser menu item.
2020-01-24 15:18:25 -08:00
Kate Glazko dbf711e112 For #4904: Pressing back external link doesn't go back 2020-01-17 16:08:58 -08:00
ekager 0777fb3bbe For #5545 For #5542 Closes #6696 Integrate logins API, adds Settings for Autofilling/Saving Logins 2020-01-15 12:14:08 -08:00
Colin Lee cf220427d7
Fix #7649: Fix missing NOT in asFeatureWebChannelsDisabled check (#7650) 2020-01-13 13:37:13 -06:00
Colin Lee 7baf54f566
For #5182: Loading experiments on startup is slow, remove Fretboard (#7510)
This removes Fretboard. The goal is to reduce cold startup costs associated with loading the experiments on the main thread. We currently have two experiments frameworks in use and should only require one.
2020-01-13 12:38:32 -06:00
ekager 47c13136f7 No issue: Fix dynamic theming to accommodate lazily inflated readerview 2020-01-10 13:23:46 -08:00
Sawyer Blatz a58decd708 For #6304 & #7577: Persist private mode between app launches 2020-01-09 17:03:36 -08:00
mawen7 a2e0af3194 Only close tab on back press if it has a parent tab 2020-01-08 11:33:49 -07:00
Sawyer Blatz c7c4ad051a
For #6413: Adds more snackbar positioning logic (#7444)
* For #6413: Adds more snackbar positioning logic

* Refactor
2020-01-02 14:31:52 -08:00
Roger Yang f6e286fd9c
Closes #7346: Enable dynamic app links in Fenix (#7361) 2020-01-02 13:08:11 -05:00
Sawyer Blatz 3fb060f682
For #6413: Fixes snackbar positionining for bottom toolbar (#7415)
* For #6413: Fixes snackbar positionining for bottom toolbar

* For #6413: Cleans up snackbar usage
2019-12-30 14:43:15 -08:00
Roger Yang dd1433733a
Closes #7156: Update app links feature usage to include app links interceptor (#7275) 2019-12-20 08:27:19 -05:00
Rushab Kumar 562eb89356 For #7250 - Replace anko.dimen 2019-12-18 15:39:14 -08:00
Severin Rudie cd53e9778a For 6795: expands toolbar whenever a new session is selected
This ensures that the bar is expanded when opening a link in a new tab
2019-12-16 14:09:29 -08:00
mcarare 90c77519a6 For #7194 Set snackbar anchor depending on browser toolbar position 2019-12-16 12:21:54 -08:00
Emily Kager 686facffc6 For #6946 - Get engine margins without assuming top/bottom toolbar 2019-12-13 11:09:30 -08:00
Emily Kager dcb39b0a44 For #7124 - Match toolbar location for ETP/security panel gravity 2019-12-13 11:09:30 -08:00
Tiger Oakes fe034226a3
For #5783 - Web Share with Fenix share sheet (#6883) 2019-12-10 10:57:06 -08:00
ekager 1647e07481 For #5771 - Don't force landscape mode on fullscreen 2019-12-09 23:47:57 +01:00
Severin Rudie 5f393bd5d4
For #5334: added private custom tab processor (#6845)
* For #5334: added private custom tab processor

* For #5334 - Fixes up IntentReceiverActivity for handling intents

* For 5334: update styling for private custom tabbs

* For 5334: update tests to account for new processors

Note that two are still failing. These appear to be true failures, and will be corrected in a later commit.

* For 5334: fixes bug introduced by changes to IntentReceiverActivity

RCA: intent className and extra were previously set based on which processors matched, not which successfully processed. This patch reintroduces that behavior.

* For 5334: add tests for custom tabs processing
2019-12-06 10:57:54 -08:00
Gabriel 56b21426eb
For #5574 - Migrate SessionControl to LibState (#6651)
* For #5574 - Part 1: Port TabAction.SaveTabGroup to TabSessionInteractor and SessionControlController. (#6651)

- Introduces the TabSessionInteractor, SessionControlInteractor and SessionControlController classes.
- Removes the TabAction.SaveTabGroup.

* For #5574 - Part 2: Port TabAction.PrivateBrowsingLearnMore to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 3: Port TabAction.ShareTabs to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 4: Remove unused TabAction.Share and TabItemMenu (#6651)

In #2205, the tab overflow button was removed which would have shown the
TabItemMenu when clicked. So, we can remove TabItemMenu since it is not
used and as a result, we can also remove TabAction.Share since there are
no consumers.

* For #5574 - Part 5: Port TabAction.PlayMedia and TabAction.PauseMedia to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 6: Port TabAction.Select to TabSessionInteractor and SessionControlController (#6651)

* For #5574 - Part 7: Port Onboarding.Finish to OnboardingInteractor and SessionControlController (#6651)

* For #5574 - Part 8: Port TabAction.Close and TabAction.CloseAll to TabSessionInteractor and SessionControlController (#6651)

- Removes TabAction

* For #5574 - Part 9: Port CollectionAction.Delete to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 10: Port CollectionAction.ShareTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 11: Port CollectionAction.AddTab and CollectionAction.Rename to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 12: Port CollectionAction.RemoveTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 13: Port CollectionAction.OpenTab to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 14: Port CollectionAction.CloseTabs to CollectionInteractor and SessionControlController (#6651)

* For #5574 - Part 15: Introduce a HomeFragmentStore (#6651)

- We will hook up the HomeFragmentStore in later parts.
- Removes List<Tab>.toSessionBundle(context: Context) since it is unused.

* For #5574 - Part 16: Port CollectionAction.Collapse and CollectionAction.Expand to CollectionInteractor and SessionControlController (#6651)

- We assume the store is hooked up to the SessionControlController in this part,
but this work will be done in a later part.
- Removes CollectionAction.

* For #5574 - Part 20: Remove the architecture module. (#6651)

* For #5574 - Part 17:  Remove duplicate subscribeToTabCollections in BrowserFragment.kt (#6651)

There is a duplicate call of subscribeToTabCollections() in both HomeFragment and BrowserFragment.
In this patch, we remove the call in BrowserFragment to avoid passing the HomeFragmentStore to
BrowserFragment in order to dispatch the CollectionsChange event.

* For #5574 - Part 18: Delete SessionControlComponent and fix TabCollection and Tab imports (#6651)

* For #5574 - Part 19: Use the new HomeFragmentStore in the HomeFragment (#6651)

- Renames SessionControlUIView to SessionControlView

* For #5574 - Part 21: Fix white screen on home fragment (#6651)

* For #5574 - Part 22: Fix formatting in SessionControlInteractor and replace See with @see in SessionControlController (#6651)

* For #5574 - Part 23: Move to metrics.track call to the beginning of handleCollectionRemoveTab (#6651)

This ensures that the metrics.track will be called immediately before the tab is removed from the collection.

* For #5574 - Part 24: Use the sessionManager getter in SessionControlController (#6651)

* For #5574 - Part 25: Use mapNotNull in List<Tab>.toSessionBundle (#6651)

* For #5574 - Part 26: Simplify closeTab and closeAllTabs functions by assigning a deletionJob constant (#6651)

* For #5574 - Part 27: Replace listOf() with emptyList() in removeAllTabsWithUndo (#6651)

* For #5574 - Part 28: Replace the Context parameter with the HomeActivity in SessionControlController (#6651)

* For #5574 - Part 29: Add test for HomeFragmentStore, DefaultSessionControlController and SessionControlInteractor (#6651)

* For #5574 - Removes running CI against the architecture debug build varient
2019-12-04 22:06:05 -05:00
Emily Kager d1b134c2ff For #6908 - Set null anchors for snackbars with top toolbar (#6911) 2019-12-04 15:01:04 -08:00
Jeff Boek e8972bb47d For #6795 - Auto shows toolbar when loading a new URL (#6955)
Co-authored-by: Severin <Baron-Severin@users.noreply.github.com>
2019-12-04 15:00:51 -08:00
Jeff Boek 1b1f9348dc No Issue - Fixes warnings / compiler errors with A-C update 2019-11-28 12:45:45 +01:00
Sawyer Blatz 769c1e422d For #5694 & #6054: Allows users to change toolbar position (#6608)
* For #5694 & #6054: Adds preference screen for toolbar

* For #5694: Adds changing toolbar position functionality

* No issue: Updates telemetry links to actually work lol 😬

* For #6054: Adds toolbar position to core ping
2019-11-25 16:43:32 -08:00
Tiger Oakes 422faaf7c0 Add toolbar helpers (#6531) 2019-11-25 15:36:47 -05:00
Christian Sadilek 8271f0f55a Fix for A-C 23.0.0: onDownloadCompleted renamed to onDownloadStopped 2019-11-23 20:25:21 -05:00
Tiger Oakes cd3e077bc9 For #6763 - Fix early view access 2019-11-23 10:55:29 -05:00
ekager 45071d6fc1 For #6573 - Fixes anchor view for tab switching snackbar 2019-11-22 14:15:17 -08:00
Sawyer Blatz bcf80d0e0b
For #6436: Adds snackbar for failed download (#6648) 2019-11-22 12:46:57 -08:00
Tiger Oakes bd475d54e5 Extract TP onboarding popup (#6700) 2019-11-21 17:23:35 -05:00
mawen7 1e813a9609 Jump to tab overview if closed tab has no parent session 2019-11-18 22:56:42 -08:00
Sawyer Blatz 6f4de48428 For #6434: Fixes downloadCompleted for paused downloads 2019-11-18 11:49:01 -08:00
Tiger Oakes ee4e1c8f39
Fixes #5085 - Use CustomTabWindowFeature (#6603)
Opens _blank links in new custom tab
2019-11-14 12:02:27 -08:00
Severin Rudie 6909a76bcb
4281 remove qab (#6310)
* For #4281: small ToolbarMenu refactor

This makes it easier to see how items are ordered in the menuItems list

* For 4281: add QAB buttons to menu

* For 4281: removed menu back button per mocks

I double checked with UX, and we'll be relying on the hardware back button for its functionality

* For 4281: add content descriptions for bookmarking

* For 4281: updated BrowserToolbarController for new functionality

* For 4281: provided simple dependencies to browser controller

More complex changes will be in a following commit, for review readability

* For 4281: move toolbar controller dependencies up to BaseBrowserFragment

The functionality they control is being moved into the toolbar menu, which is shared by both normal tabs and custom ones

* For 4281: removed (now unused) code related to QAB

* For 4281: fix test compilation after QAB removal

Tests still need to be expanded to include added functionality

* For 4281: updated menu to show if url is bookmarked

This sloppy workaround is required because TwoStateButton requires that `isInPrimaryState` be a synchronous call, and checking whether or not the current site is bookmarked is quite slow (10-50 MS, in my tests).  After days of work and many attempted solutions, this was the least abhorrent among them.

https://github.com/mozilla-mobile/android-components/issues/4915 was opened against AC to evaluate potentially supporting async `isInPrimaryState` functions.
https://github.com/mozilla-mobile/fenix/issues/6370 was opened against Fenix to investigate the unexpectedly slow call to `BookmarkStorage`.

* For 4281: update reader mode switch

* For 4281: selectively show/hide menu items

* For 4281: add reader mode appearance

* For 4281: update bookmark button when it is clicked

* For 4281: removed unused QAB code

* For 4281: removed QAB robot, updated UI tests

* For 4281: removed QuickActionSheet metrics

Since this behavior now lives in the toolbar, it is tracked via Event.BrowserMenuItemTapped

* For 4281: fixed lint errors

* For 4281: add new strings for buttons added to menu

This is necessary because the location change (from QAB to toolbar menu) could affect the grammar in some languages

* For 4281: remove outdated TODOs

* For 4281: removed QAB container

* For 4281: removed back button reference from UI test

This button no longer exists

* For 4821: Fixes a visual defect (extra padding on top of toolbar)

* For 4281: update copy on reader mode

* For 4281: fixed review nits
2019-11-11 17:10:14 -08:00
mcarare 11ad1010a9 For #6323 Creating 1st collection from tab shows Name collection screen
Added a check for existence of at least a collection to select from.
2019-11-11 14:36:55 -08:00
Sawyer Blatz d6aeeb2dec
For #5958: Adds in app download notifications (#6506) 2019-11-11 14:08:51 -08:00
Emily Kager d9615108ee For #6354 - Removes ETP Experiment, Removes Feature Flags, Sets Strict Default 2019-11-08 08:37:15 -08:00
Sawyer Blatz a4ad2116ae
For #6390: Fixes textColor on download prompt (#6468) 2019-11-06 11:10:17 -08:00
ekager 18c0525ff6 Use new API for ETP Exceptions 2019-11-05 12:45:58 -08:00
Christian Sadilek a7e139da8e Use new WindowFeature API after browser-state migration 2019-11-01 15:52:37 -04:00
Sawyer Blatz e62407e766
For #5959 & #5958: Integrates download feature into Fenix (#6368) 2019-10-31 14:37:05 -07:00
Sawyer Blatz 8549b80272 For #4456: Adds total_uri_count to metrics core ping (#6003) 2019-10-30 11:02:33 -07:00
ekager fb17ae2258 For #6229 - Remove all tab options from custom tab context menu 2019-10-25 13:25:31 -07:00
Sebastian Kaspari 9543f38978 Use new toolbar API of AC 18.0.0. 2019-10-24 08:57:30 -07:00
MozLando cc9ee5a3d8 Merge #5332
5332: For #2483 #2629: Close tab with no history on back press and return to parent if available r=ekager a=mawen7



Co-authored-by: mawen7 <mawen7@users.noreply.github.com>
2019-10-23 18:20:36 +00:00
Severin Rudie f812ae4259 For #3676: fix duplicate uri events on first load (#6128) 2019-10-23 10:21:46 -07:00
mawen7 3af307b47f Close tab with no history on back press and return to parent if available 2019-10-23 12:54:28 +02:00
Severin Rudie aa8642f534
#4596 migrate collections (#5911)
* For #4596: move code from CollectionCreationComponent to CollectionCreationStore

Other than adding comments, no changes were made. The code will be updated in a following commit. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreateStore to libstate

* For 4596: copied CollectionCreationUIView into CollectionCreationView

Otherwise, no code was changed. The next commit will update this code. This is in order to make the commit diff more readable.

* For 4596: update CollectionCreationView to LibState

Note that the minimal changes possible to enable migration were made.  Refactoring will happen in a later commit.

* For 4596: updated CollectionCreationTabListAdapter to work with the new View

* For 4596: updated SaveCollectionListAdapter to work with the new View

* For 4596: implemented CollectionCreationController

For now, it has an identical interface to the interactor. In a later commit several of its responsibilities will be moved around, some to the interactor and some to the reducer

* For 4596: copied over previous reducer code

No other changes were made. The code will be updated in the following commit. This is done to make changes more readable for the reviewer

* For 4596: update reducer code param names

Otherwise, no changes at this time

* For 4596: add arguments to CreateCollectionFragment in nav_graph

These will be used to replace the current CreateCollectionViewModel, which shares data between fragments in a way that doesn't fit within our architecture.

* For 4596: pass arguments to collection via transaction instead of VM

The VM will be removed in a later commit

* For 4596: update BrowserToolbarController to share state to collection via its Direction

* For 4596: removed CreateCollectionViewModel

* For 4596: test tab retrieval in CreateCollectionFragment

* For 4596: fix crashing CreateCollectionFragmentTest

* For 4596: removed classes create collection classes used by old architecture

* For 4596: collection interactor rename + kdoc

* For 4596: moved collection interactor interface

* For 4596: renamed CreateCollectionFragment

All related classes followed the pattern of CollectionCreationX

* For 4596: kdoc CollectionCreationController

There's no effective difference between these calls and their interactor equivalent, so I linked to them

* For 4596: fix bug that caused rename to not work

* For 4596: removed unused collection actions

These were unused before the LibState refactor

* For 4596: kdoc StepChanged

* For 4596: removed todos about moving logic to the reducer

saveTabsToCollection: this could be moved, but that would involve creating a new action. SaveCollectionStep should probably be refactored out, so adding this layer of indirection seemed counterproductive

handleBackPress: needs to be able to call dismiss(). The reducer doesn't (and shouldn't) be able to do that, so this needs to live here

stepBack: called by handleBackPress. See above

* For 4596: wrote tests for CollectionCreationController#stepback

* For 4596: fixed tests broken by changes to collections

* For 4596: small readability refactor for CollectionController#stepBack

No change to functionality (see tests)

* For 4596: broke apart CollectionView#update

There's probably a lot more that could be done here, but smaller changes were made to reduce scope

* For 4596: remove unnecessary todos

It looks like we don't follow the suggested pattern in this project

* For 4596: test CollectionCreationController#normalSessionSize

* For 4596: updated naming in CollectionCreationController per review
2019-10-22 17:33:54 -07:00
Sebastian Kaspari 5d5358ae45 Issue #36170: BaseBrowserFragment: Use new feature-prompts API. 2019-10-22 16:04:33 -04:00
ValentinTimisica 485ccba189 Fixes #5323: Show a snackbar while browsing data is deleting. (#6105) 2019-10-21 09:57:06 -07:00
Mugurell faddf368e1 Fix #3122 - Hide the "Bookmark saved" Snackbar when user closes BrowserFragment
Previously the Snackbar was being inflated in the parent of this Fragment so
surviving it being closed.
Tying the Snackbar with the Fragment from which it is shown ensures it will be
effectively hidden whenever the user navigates from the Fragment.
2019-10-18 08:11:56 +03:00
MozLando aa1a5f3d32 Merge #6026
6026: For #5709: Align ETP onboarding popup implementation with original mocks r=ekager a=mcarare



Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
2019-10-16 17:49:16 +00:00
MozLando 610a70a8bc Merge #6024
6024: For #5749 - Update string for ETP onboarding popup r=ekager a=BranescuMihai



Co-authored-by: Mihai Branescu <branescu.mihai2@gmail.com>
2019-10-16 00:12:52 +00:00
mcarare b82a794908 For #5709: Align ETP onboarding popup implementation with original mocks 2019-10-15 17:07:47 +03:00
ValentinTimisica 6fa9572ccf Fixes #5063: Added parameter customTabSessionId into ContextMenuFeature
Added parameter customTabSessionId into ContextMenuFeature in
BaseBrowserFragment in order to show the context menu in a custom tab.
2019-10-15 16:28:42 +03:00
Mihai Branescu 1490c0178f For #5749 - Update string for ETP onboarding popup 2019-10-15 15:56:59 +03:00
ekager 663126f696 No issue: Remove black flash workaround 2019-10-14 11:51:01 -07:00
MozLando 8e4d7248ac Merge #5908
5908: Closes #5876: Removed @ObsoleteCoroutinesApi in tests r=sblatz a=shldhll


### Pull Request checklist
<!-- Before submitting the PR, please address each item -->
- [x] **Quality**: This PR builds and passes detekt/ktlint checks (A pre-push hook is recommended)
- [ ] **Tests**: This PR includes thorough tests or an explanation of why it does not
- [ ] **Screenshots**: This PR includes screenshots or GIFs of the changes made or an explanation of why it does not
- [ ] **Accessibility**: The code in this PR follows [accessibility best practices](https://github.com/mozilla-mobile/shared-docs/blob/master/android/accessibility_guide.md) or does not include any user facing features

### After merge
- [ ] **Milestone**: Make sure issues finished by this pull request are added to the [milestone](https://github.com/mozilla-mobile/fenix/milestones) of the version currently in development.

### To download an APK when reviewing a PR:
1. click on Show All Checks,
2. click Details next to "Taskcluster (pull_request)" after it appears and then finishes with a green checkmark,
3. click on the "Fenix - assemble" task, then click "Run Artifacts".
4. the APK links should be on the left side of the screen, named for each CPU architecture

Co-authored-by: shldhll <iam.shldhll@gmail.com>
2019-10-14 16:52:22 +00:00
ekager e8bb765ad7 For #5947 - Fix engineView NullPointerException 2019-10-11 09:03:24 -07:00
shldhll 8e17ac05b1 Optimized imports. Closes #5876 2019-10-10 04:17:43 +05:30
shldhll f907ec52f0 Removed ObsoleteCoroutinesApi in tests. Closes #5876 2019-10-10 04:04:51 +05:30
Emily Kager f9afd97a68 For #1901 - Get rid of black flash when leaving GV Engine 2019-10-09 11:02:21 -07:00
Severin Rudie 411ccc8f1f For 4780: add DefaultBrowsingModeManager tests 2019-10-08 15:13:17 -07:00
Severin Rudie d1d20b544e For 4780: update HomeActivity to maintain private mode in memory
As an added bonus, this makes the temporal coupling between `setPrivateModeIfNecessary` and `setupThemeAndBrowsingMode` explicit.  They previously would have broken if called in reverse order, now it will fail to compile.
2019-10-08 15:13:17 -07:00
Tiger Oakes d5c3433041 Use the new fragment constructor 2019-10-07 11:07:48 -07:00
Christian Sadilek b733e4fa8f Upgrade to Mozilla Android Components 16.0.0-SNAPSHOT 2019-10-03 11:07:26 -07:00
Emily Kager f7c9ab11eb For #3487 - Add back open image in new tab 2019-10-01 12:45:09 -07:00
Grisha Kruglov a4097cd380 FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
2019-09-30 10:33:56 -07:00
Emily Kager 3f41a4e9c6 No issue: Update navigation library 2019-09-26 17:01:13 -07:00
Christian Sadilek ac2611d744 Upgrade to A-C 15.0.0-SNAPSHOT (incl. required changes) (#5578)
* Upgrade to Mozilla Android components 15.0.0-SNAPSHOT

* Update findinpage integration to use browser-state

* Use new UseCases APIs after download migration.
2019-09-26 12:50:50 -07:00
ekager 24b3ed4384 For #5568 - Don't pass in Session for QuickActionSheetController 2019-09-25 13:33:38 -07:00
Tiger Oakes 8c30200ced Only use Context.settings() function (not getter) (#5335)
Remove unused String extensions
2019-09-24 10:33:46 -07:00
Tiger Oakes 734d4031e2 Extract UriOpened observer from HomeActivity 2019-09-24 09:37:24 -07:00
Emily Kager 9d9ff959b5 For #5312 - Add Telemetry for Tracking Protection 2019-09-23 08:29:45 -07:00
Tiger Oakes e9fd6892ba For #394, #778 - Add hide toolbar feature
And also add CustomTabsServiceStore
2019-09-20 12:34:49 -07:00
Grisha Kruglov c2fb99a73f FxA WebChannels integration
This patch includes:
- WebChannels support enabled by default, with ability to disable it via remote flag
- expanded FxA telemetry (closes #4971)

Co-authored-by: Arturo Mejia <arturomejiamarmol@gmail.com>
2019-09-16 19:44:13 -07:00
Sebastian Kaspari b8539ccb33 Use new feature-contextmenu API. 2019-09-16 17:24:13 +02:00
Tiger Oakes 42bb3e1410 Change deleteAndQuit to take an activity 2019-09-15 20:03:04 -07:00
ekager 8cd0d8faf3 For #5304 - Align ETP Onboarding Tool Tip PopupWindow 2019-09-13 18:25:26 -07:00
Yeon Taek Jeong 3787dd7b1f For #5254: Fix transition to private browsing mode after sharing a page 2019-09-13 14:44:28 -07:00
Sebastian Kaspari dd85229c41 Use new feature-downloads API. 2019-09-13 15:01:25 +02:00
Emily Kager e3209dcc84 For #3700 - Add Setting to Delete Data on "Quit" menu action 2019-09-11 16:06:18 -07:00
Emily Kager 4485b7f647 Add Tracking Protection Info Panel 2019-09-11 07:47:13 -07:00
Mihai Adrian a31eb1f371 Code Health #4883: Refactored accessing settings by using Context extensions (#4973) 2019-09-10 10:11:58 -07:00
Tiger Oakes 16115f57d1 For #3440 - Reduce BrowserFragment require calls 2019-09-09 21:33:32 -07:00
Sawyer Blatz aef087aae0
No issue: Removes unused nestedScrollQuickActionView (#5143) 2019-09-06 09:03:24 -07:00
Emily Kager 58287cd5bb For #5033 - Update browsing mode when session selected (#5118) 2019-09-05 14:27:30 -05:00
Sebastian Kaspari 3a35233ac0 Remove ThumbnailsFeature. (#5127)
We currently do not use thumbnails anywhere in the app. Not using the feature means we are
not taking thumbnails on every page load which means we are saving memory and CPU cycles.
2019-09-05 11:05:37 -05:00
Sebastian Kaspari 2c7fd93c7d Update to Mozilla Android Components 12.0.0-SNAPSHOT. 2019-09-05 13:38:15 +02:00
Sebastian Kaspari ac32a88d45 Rename BrowserStore/State/Action to BrowserFragmentStore/State/Action. 2019-09-03 10:09:06 -07:00
Sebastian Kaspari 9b633f7f0f Move creation of GeckoRuntime to flavor-specific source set.
Since we are now able to build against GeckoView Nightly and GeckoView Beta,
we should create the GeckoRuntime from a flavor-specific source set.

Creating the runtime is not covered by the AC abstraction and so API changes
in GeckoView Nightly can break the build and leaves us with no option to fix
it from a shared code base. Separating the creation of GeckoRuntime
allows us to adapt individually and also to configure the runtimes
differently.
2019-08-30 15:16:12 +02:00
Emily Kager a65f220b39 For #4921 - Adds WindowFeature to BaseBrowserFragment 2019-08-27 15:33:59 -04:00
Tiger Oakes 66e14959ba Add custom tab fragment 2019-08-23 16:12:19 -04:00
Tiger Oakes c475bc87cf Move classes out of top-level package 2019-08-21 13:52:30 -07:00
Jeff Boek 68f5d211d3 For #4326 - Updates codebase to support latest version of detekt 2019-08-21 13:50:51 -07:00
Emily Kager fb1d655d96 Closes #4822 - Update Bookmark State in onResume (#4823) 2019-08-19 16:22:20 -07:00
Tiger Oakes de14962e3f Extract quick action sheet observer code (#4368) 2019-08-19 08:28:33 -07:00
Emily Kager 7d02354f4f For #4799 #4790 - Don't use passed in sessions in BrowserToolbarController (#4800) 2019-08-18 20:36:40 -05:00
Colin Lee d1aed157dd
For #4686: Fix potential security issue (#4764) 2019-08-16 16:50:54 -05:00
Colin Lee 5b4a441bcb For #1667: Screen reader can't reach other UI items when QAB expanded (#4695) 2019-08-14 09:56:29 -07:00
Emily Kager 1328d686aa No issue - Autoformatting (#4715) 2019-08-14 09:40:46 -05:00
Colin Lee 7f07eabbd8
For #4652: Crash "Can not perform this action after onSaveInstanceState" (#4654) 2019-08-09 14:46:40 -05:00
Tiger Oakes 52542708aa Consodilate private browsing code 2019-08-09 11:00:41 -07:00
Jonathan Almeida 23f5ac0fb9 For #4066: Create InflationAwareFeature for lazy inflation 2019-08-09 11:48:55 -04:00
Colin Lee c9c43260c9
For #4529: Handle crash initializing CreateCollectionViewModel late (#4628) 2019-08-08 17:40:55 -05:00
Colin Lee ef97173cd9
For #4529, #4427: Resuming after restoring instance state breaks UI (#4571)
* For #4529, #4427: Resuming after restoring instance state breaks UI

* Clear up warnings
2019-08-08 11:05:01 -05:00
Sawyer Blatz ff6e9bccb7
For #4451: Adds tests for DefaultBrowserToolbarController (#4493)
* For #4451: Adds tests for DefaultBrowserToolbarController

* Continue working

* Large refactoring of test

* Mock analytics

* Fix merge conflicts
2019-08-08 09:02:42 -07:00
Emily Kager 0b98d43c23 Closes #4602 - Add back transitions 2019-08-07 16:56:21 -07:00
Sawyer Blatz 9d65e665e5 No issue: Removes deprecated usage of ViewModelProviders 2019-08-07 19:21:41 -04:00
Sawyer Blatz da06b0fb15
For #4508: Treats warnings as errors (#4543) 2019-08-07 14:00:53 -07:00
Tiger Oakes 631b7ba7cb Issue #1000 - Split out common browser functions 2019-08-06 12:31:25 -07:00
Tiger Oakes 1e4399ee38 Use auto pause with BrowserFragment observers 2019-08-02 17:32:58 -07:00
Tiger Oakes cbd811dcfb Closes #1657 - Use Gecko for downloads (#4296) 2019-08-02 17:28:30 -07:00
Christian Sadilek 9887945296 For #4412: Only consume state change when UI initialized 2019-08-01 11:51:32 -04:00
Christian Sadilek 59c0005979 For #4412: SiteSecurityClickedListener set incorrectly 2019-07-31 19:52:53 -04:00
Christian Sadilek 76ed07bd5d Closes #4412: BrowserInteractor has not been initialized (#4414) 2019-07-31 09:14:05 -07:00
Afzal Najam 8946bf20c4 Closes #3341 - Remove UserAgentRewriter 2019-07-31 11:05:42 -04:00
Sawyer Blatz 385dfd2f15
For #4376: Removes usage of selectedSessionOrThrow (#4381) 2019-07-30 12:39:58 -07:00
Colin Lee 9bc0122ce3
For #4359: findBookmarkedUrl blocks the main thread (#4362) 2019-07-29 17:01:02 -05:00
Sawyer Blatz 6fa022c2f8
For #4124: Migrate BrowserToolbar to Libstate (#4279)
* For #4124: Migrate BrowserToolbar to Libstate

* Restores QuickActionSheetReducer

* Improve tests

* Make QuickActionSheetController

* Finalize tests

* Breaks out QuickActionSheetState

* Fix comments

* Adds BrowserStoreTest
2019-07-29 12:39:36 -07:00
Tiger Oakes 87d8f3b037 Remove redundant super calls 2019-07-29 10:22:53 -07:00
Tiger Oakes c2e6e25bef Fixes #4005 - Move getColorFromAttr to Context 2019-07-26 16:44:11 -04:00
Christian Sadilek 1846a61475 For #4096: Use new A-C API to observe store / state changes
With this we can remove the `whenStarted` workaround. This new API
internally creates (and uses) a scope bound to the fragment's view and
will not invoked the lambda (send state updates) when the view is
detached or the fragment's lifecylce is stopped or destroyed.
2019-07-26 10:40:33 -04:00
Sawyer Blatz 7588251f8b
Closes #3986 & Closes #3661: Migrate QuickActionSheet to LibState & add tests (#4058)
* Closes #3986: Migrate QuickActionSheet to LibState

* Closes #3661: Add tests for QuickActionSheet

Co-authored-by: boek <jeff@jeffboek.com>

* For #3986: Fix feedback
2019-07-22 10:31:31 -07:00
Emily Kager fc2bff0fde For #4145 - Remove anchor view from fullscreen snackbar (#4160) 2019-07-19 11:18:47 -07:00
Emily Kager 9f40c25c75 For #4143 - Allow user to rotate to other landscape orientation 2019-07-19 14:12:33 -04:00
Jonathan Almeida d298b5f2f5 Closes #4075: Add Feature Flag class (#4077) 2019-07-18 17:20:12 -07:00
Sawyer Blatz e544827e83 For #2267: Adds telemetry for reader mode (#3941) 2019-07-18 15:17:15 -07:00
Tiger Oakes 981b6b5b02 For #4124 - Remove browser toolbar editing code 2019-07-18 15:40:33 -04:00
James Hugman 62850430b7 Closes AC#3695 - Add UI to open current page in external app 2019-07-18 15:33:31 -04:00
Emily Kager 9ab67557cf For #4078 - Request landscape mode when entering fullscreen 2019-07-17 16:06:37 -07:00
James Hugman 90dd0ab469 Closes #4114 - Re-enable app-links 2019-07-17 10:39:17 -07:00
Colin Lee 8855af2234
For #3615: Long pressing the address bar should not copy link (#4083) 2019-07-16 13:42:05 -05:00
Sebastian Kaspari 9b1e63224c Closes #4052: Remove pending intent workaround. (#4059)
Previously we needed to set a static launch function to be invoked when the find in page
integration should be launched. Now we can access the integration class directly and
can avoid the static property that caused issues when used by multiple activities.
2019-07-15 14:15:59 -05:00
Tiger Oakes 5de1678e65 No issue: Use putCompoundDrawables helper (#3982) 2019-07-15 08:24:59 -07:00
Sebastian Kaspari e4e0d45c1b Closes #3996: Remove workaround for opening custom tab in browser.
`EngineView` now allows releasing the `Session` so that it can be rendered by an
other `EngineView` instance.
2019-07-15 10:52:57 +02:00
Tiger Oakes ef8d9604ae No issue: Normalize license header comment (#3909) 2019-07-12 11:38:15 -07:00
Emily Kager 21c75ca1bb For #3478 - Add Tab sent snackbar confirmation for device sharing 2019-07-10 14:13:10 -04:00
ekager 57ca75139b For #3201 - Update bookmark state when session selected 2019-07-03 11:38:14 -07:00
Emily Kager ce2d597af3 For #203 - Adds find in page and request desktop site to custom tab menu (#3835) 2019-07-02 14:41:29 -07:00
Sawyer Blatz ece0e30655
For #2054: Collapses quick action bar when opening find in page (#3837) 2019-07-02 08:22:34 -07:00
Sawyer Blatz 7e46e71d00 For #3005: Closes tabs when saving to collection (#3723) 2019-07-01 11:39:48 -05:00
ekager 7fa4cf4487 Use sessionId in FIP Integration, use pendingIntent for startActivity 2019-06-28 14:00:59 -07:00
ekager 6d0a4fdb4d Revert "For #3609 - Remove FIP Integration, Use FIP Feature"
This reverts commit 428643d598e938f58a2fe4abfee417c46edec167.
2019-06-28 14:00:59 -07:00
Sawyer Blatz 66eb4fd03b No issue: Fixes master compilation 2019-06-27 09:05:57 -07:00
Tiger Oakes 4994554576 No issue: Adds lint exception for when statement (#3685) 2019-06-26 15:52:24 -07:00
Tiger Oakes d01bb8c442 Use lifecycleScope for collections fragments 2019-06-25 13:56:15 -07:00
Emily Kager 084fab77d4 For #3609 - Remove FIP Integration, Use FIP Feature (#3637) 2019-06-24 15:31:32 -07:00
Emily Kager ac5c4a0f79 Closes #3493 - Show tab saved to collection snackbar in BrowserFragment 2019-06-14 15:49:56 -07:00
Jeff Boek 7ebdfcc87b For #1116 - Uses alias link for help 2019-06-14 15:33:34 -07:00
Jeff Boek 5540230e3d For #1116 - Changes help link (#3491) 2019-06-14 15:29:10 -05:00
Colin Lee d5c5587a0c
For #3209: Disable shared element animations for crash temporarily (#3482) 2019-06-14 12:13:13 -05:00
Sawyer Blatz 381a5e6089 For #3403: Subscribes to tab collections in BrowserFragment 2019-06-12 16:44:35 -07:00
Jonathan Almeida 80e7868fd7 For #1134: Set UA to GeckoView 69.0 for whitelisted domains 2019-06-12 13:27:42 -04:00
Colin Lee 66a836cf3a
For #3314: Toolbar and QAB unresponsive after Android 6 perms check (#3373) 2019-06-12 10:08:39 -05:00
Emily Kager 71f2b0bdaa For #2253 - Use toolbar as anchorView with fullscreen snackbar 2019-06-11 15:09:07 -07:00
Christian Sadilek ccc7c70967 For #3252: Reader mode appearance buttons are not visible in PB
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
Co-authored-by: Sawyer Blatz <sdblatz@gmail.com>
2019-06-11 18:02:29 -04:00
jhugman 26d0ddda98 Fixes #3358 - disable feature-app-links (#3359) 2019-06-11 16:34:28 -05:00
Gabriel Luong f05eb032d4 For #2684: Add an extension function Session.toTab to map Session to Tab and clean up their usage 2019-06-11 13:14:23 -07:00
Sawyer Blatz decacbfc97 For #3323 Runs PublicSuffixList synchronously 2019-06-11 09:19:51 -07:00
Emily Kager 975975e789 For #3326 - Remove open image in tab from context menu (#3327) 2019-06-11 08:59:00 -05:00
Tiger Oakes 82d2a0661b Remove deprecatd support-ktx methods (#3305) 2019-06-10 09:12:11 -05:00
Emily Kager bf4916418a For #1998 - Removes stable flag in entering fullscreen navigation 2019-06-07 15:20:30 -07:00
Sawyer Blatz 45c509fbce
For #2648: Updates trimming of url hostname (#3191)
* For #2648: Updates trimming of url hostname

* For #2648: Fix nits
2019-06-07 09:33:07 -07:00
Colin Lee 1e6da54263 For #3238: fixes race condition crash, nav destination unknown 2019-06-06 15:46:34 -07:00
Jonathan Almeida 0a3b001abe For #3167: Show help page in browser menu (#3230) 2019-06-06 16:55:15 -05:00
Emily Kager 93a5456785 For #2253 - Shorten Fullscreen snackbar length (#3190) 2019-06-05 20:36:13 -05:00
Sawyer Blatz 0b3a8b7a54 For #2316: Adds confirmation dialog to delete bookmark 2019-06-04 14:47:11 -07:00
Emily Kager ef0618a3d1 For #3103 - Exit fullscreen on pause (#3112) 2019-06-04 10:36:16 -05:00
Colin Lee 04a759f0b0
For #2693: Launching Fenix via adb with URL crashes (#3099) 2019-06-03 16:24:37 -05:00
Tiger Oakes 94c4013810 Closes #3091 - Hide Pull to Refresh under flag (#3092)
This was merged in after feature freeze so we're pulling it out for
now. Pull to refresh will continue to work in debug mode so that the
design can be iterated on easily.
2019-06-03 14:10:53 -05:00
Colin Lee 04bbeb5ae6 For #3073 'Open in Firefox Preview' no longer opens in app
Saving and restoring the custom tab session ID fixed one problem while causing another. I added code to only restore the ID if the session has a customTabConfig associated.
2019-06-03 10:04:17 -07:00
ekager d285e799b9 Clean up logic to return margin pairs for readability 2019-06-03 10:00:00 -04:00
ekager 14fe356d62 For #2794 - Adjust engine margins when enter/exit fullscreen 2019-06-03 10:00:00 -04:00
ekager 98a40aabd7 For #2223 , For #371 - Replace Toolbar with FIP when opened 2019-06-01 10:24:55 -07:00
Colin Lee 532483498a
No issue: Store the Custom Tab Session ID to avoid a crash (#3062) 2019-05-31 17:03:58 -05:00
Emily Kager 0327b1146b For #2977 - Update add new collections flow (#2991)
* For #2977 - Update add new collections flow

* Rename shared elements to be more general

* Make tab list not clickable in other modes

* For #2577 - Stop Flickering in List

* Add extensions function for next step with collections list size
2019-05-31 12:59:51 -05:00
James Hugman 060cd646c8 Fixes #1570 - Enable app-links feature 2019-05-31 10:39:47 -07:00
Emily Kager 1bb4d72fd1 For #3027, For #2858 Pass in Fenix Snackbar for Context Menu Candidate (#3028) 2019-05-31 10:16:08 -05:00
Jonathan Almeida ab39a5088a For #2052: Fix BrowserToolbar overlapping web content 2019-05-30 20:40:56 -04:00
Jeff Boek f9d70dbc92 For #2723 - Creates callbacks to wire up the mode and theme manager together 2019-05-30 16:38:31 -07:00
Jeff Boek a7d5cdcb9d For #2723 - Fixes theme manager 2019-05-30 16:38:31 -07:00
Emily Kager 18cd9e58f9 Fixes Crash: Pop up to Browser Fragment if exists when coming from Search 2019-05-30 16:30:06 -07:00
Emily Kager 8dbed67f7f No issue: Simplify and speed up shared element transitions 2019-05-30 16:30:06 -07:00
Emily Kager 43a961fe73 For #1973 - Toggle QR button on deny permissions, fix engineView crashes 2019-05-30 16:06:37 -07:00
Tiger Oakes 74dd2a5f23 Issue #103 - Pull to refresh (#3020) 2019-05-30 17:05:49 -05:00
Sawyer Blatz 9e0e5d95d9 For #2931: Show browser snackbar above quick action sheet 2019-05-30 14:52:09 -07:00
Emily Kager 3685b05586 For #3011 - Size EngineView for Custom Tab Fixed Toolbar 2019-05-30 12:40:54 -07:00
Emily Kager c027feecd0 For #3011 - Size EngineView for Custom Tab Fixed Toolbar 2019-05-30 12:40:54 -07:00
Emily Kager 3560e1793c For #2980 - Pop to home if no session exists in Browser Fragment 2019-05-30 09:05:10 -07:00
Emily Kager 8181705b58 Init Toolbar in edit mode so we don't see the flash 2019-05-29 12:27:48 -07:00
Emily Kager 039990f608 For #2972 - Call session feature back press before custom tab back press 2019-05-29 09:40:52 -07:00