Commit Graph

129 Commits

Author SHA1 Message Date
Sebastian Kaspari
39cb5fa192 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8744: Save search engine ID and name when user selects search engine.
There are two reasons why we need the name in addition to the ID:
* When the user switches to a new "home" region then the previously selected search engine ID may no longer be in the
  list. However there may be a different version of that search engine with a different ID for this region. In this
  case we want to select that search engine - since for the user there's no visible difference. A famous example of
  that is "Google", which may have different IDs / search plugins depending on region.
* Fenix saves the search engine name and we need to import that.

Fenix (as well as Fennec) already used the name, so it should be safe to pick the selected search engine based on
the name of the search engine.
2020-11-03 08:45:55 +00:00
ekager
02a1023025 [components] For https://github.com/mozilla-mobile/android-components/issues/8831 - Adds ability to remove (and restore) a list of tabs 2020-11-02 22:46:29 +00:00
Sebastian Kaspari
5804da97e9 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8744: Search: Add ability to load additional search engines that users can choose from. 2020-11-02 11:36:49 +00:00
codrut.topliceanu
c84123dfb8 [components] For https://github.com/mozilla-mobile/android-components/issues/8554 - Migrate permissionFeature to KotlinFlow 2020-10-28 19:47:01 +00:00
Sebastian Kaspari
529eab44fd [components] Issue https://github.com/mozilla-mobile/android-components/issues/8744: Update search terminology.
The term "default" is somewhat overloaded and can mean multiple things. With this patch I introduce the
term "selected search engine" (similar to tabs) to indicate a search engine that was explicitly selected
by the user as their default. This will hopefully make it less ambigious.
2020-10-28 11:01:15 +00:00
Arturo Mejia
bc2387d7bf [components] Closes https://github.com/mozilla-mobile/android-components/issues/8784 Create download directory when
it doesn't exists.
2020-10-26 18:30:47 +00:00
Sebastian Kaspari
b9af450479 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8702: Add actions and storage for showing/hiding bundled search engines. 2020-10-22 10:11:14 +00:00
Sebastian Kaspari
d4ba7918c1 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8744: SearchMiddleware: Load all data in one action and set 'complete' flag. 2020-10-20 18:13:25 +00:00
Christian Sadilek
6f338f2999 [components] Closes https://github.com/mozilla-mobile/android-components/issues/8697: Move Session.loadRequestMetadata to browser state 2020-10-15 13:41:06 +00:00
Sebastian Kaspari
9981f05aa2 [components] Issue https://github.com/mozilla-mobile/android-components/issues/7864: Add RegionMiddleware and SearchMiddleware to sample browser. 2020-10-12 12:44:05 +00:00
Sebastian Kaspari
292a3e87df [components] Issue https://github.com/mozilla-mobile/android-components/issues/7863: Reorganized SearchState to separate region and custom search engines. 2020-10-12 12:44:05 +00:00
Sebastian Kaspari
b95ccf4b23 [components] Issue https://github.com/mozilla-mobile/android-components/issues/7863: Introduce RegionManager for keeping track of the user's current and home region. 2020-10-08 13:39:22 +00:00
Sebastian Kaspari
30be5d0cdb [components] Issue https://github.com/mozilla-mobile/android-components/issues/7863: Add RegionState to SearchState. 2020-10-08 13:39:22 +00:00
Roger Yang
4391b4e2c8 [components] Closes https://github.com/mozilla-mobile/android-components/issues/8207: Add Delegate and Browser Session State for MediaSession API 2020-10-07 10:14:40 +00:00
Arturo Mejia
593c25629e [components] Closes https://github.com/mozilla-mobile/android-components/issues/8312:Adds support for ContentDelegate#onExternalResponse 2020-10-05 17:32:38 +00:00
Christian Sadilek
98a3db9ffc [components] Introduce state to indicate if restoring tabs is complete 2020-10-02 16:38:18 +00:00
Sebastian Kaspari
b5ba7558a2 [components] Closes https://github.com/mozilla-mobile/android-components/issues/8529: Dispatch a generic InitAction from BrowserStore
Co-authored-by: Christian Sadilek  <christian.sadilek@gmail.com>
2020-09-30 17:31:15 +00:00
Arturo Mejia
c5df5ad6d2 [components] Improve download flow 2020-09-25 20:22:57 +00:00
ekager
f20da349fd [components] Closes https://github.com/mozilla-mobile/android-components/issues/8493 - Add private param to RecoverableTab 2020-09-25 09:41:57 +00:00
Sebastian Kaspari
067e9782de [components] Issue https://github.com/mozilla-mobile/android-components/issues/3265: Add support for "undo" functionality.
This is not the fancy version yet since we still need to restore into SessionManager. Once it is gone and
we rely on BrowserStore only, then we can make this better.

However moving this functionality into AC now helps us:
- It will be easier to migrate to a better undo functionality since this code is already in AC.
- Other code can interact with the "undo" actions. For example "recently closed tabs" now will
  only contain a tab if the removal was not undone.
2020-09-22 17:59:34 +00:00
MozLando
2eb3cf6114 [components] Merge https://github.com/mozilla-mobile/android-components/pull/8049
8049: For https://github.com/mozilla-mobile/android-components/issues/6099 - Convert config to yaml r=pocmo a=NotWoods

In Gradle 6, buildSrc classes cannot be used inside settings.gradle. Inlining the `Config` class gets around this problem for us. The values inside the class have been moved to a YAML file so that it can be used by Taskcluster to check if data has changed, and used by the changelog to be a simple version overview.

We could also use a .properties file for this.

Co-authored-by: Tiger Oakes <toakes@mozilla.com>
2020-09-11 11:37:27 +00:00
ekager
d453dd86e6 [components] Closes https://github.com/mozilla-mobile/android-components/issues/8253 - Adds RecentlyClosedTabStorage 2020-09-09 09:04:48 -07:00
Sebastian Kaspari
c66d74ce23 [components] Issue https://github.com/mozilla-mobile/android-components/issues/8255: Lazily restore engine sessions after content process kill or crash.
* Instead of keeping the EngineSessionState inside EngineSession, we now always attach it to EngineState and also do not
  clear it anymore.
* If the content process gets killed we now just suspend affected EngineSession instances. They will automatically and
  lazily get restored from the last EngineSessionState once needed.
* On a content process crash we now mark the EngineState as crashed and suspend the EngineSession. We will not restore
  the EngineSession until explicitly restored by the application.
2020-09-07 13:30:04 +02:00
MozLando
f300cdae51 [components] Merge https://github.com/mozilla-mobile/android-components/pull/8250
8250: Close https://github.com/mozilla-mobile/android-components/issues/7476: Persists lastAccess to SnapshotSerializer  r=csadilek a=jonalmeida



Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2020-08-29 03:47:00 +00:00
Jonathan Almeida
a4d8824526 [components] Close https://github.com/mozilla-mobile/android-components/issues/7476: Persists lastAccess to SnapshotSerializer 2020-08-28 23:43:48 -04:00
Arturo Mejia
45a96fdebe [components] Closes issue https://github.com/mozilla-mobile/android-components/issues/7762: Adds support for persisting/restoring downloads. 2020-08-27 17:53:00 -04:00
Sebastian Kaspari
212c7d73c1 [components] Issue https://github.com/mozilla-mobile/android-components/issues/7867: Move EngineSession from SessionManager to BrowserState.
Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>

Issue https://github.com/mozilla-mobile/android-components/pull/8121: Replace MigrationStore with MigrationContext and prevent usage outside of a Middleware.

* Before executing the reducer chain we now verify that we are on the store thread and throw if we are on a different thread.
* MigrationContext now provides a store property that returns the underlying Store instance. This can be used to pass it to
  other components and threads that are not part of the Middleware.
* Fixed existing Middleware implementations to use the MiddlewareContext or pass the actual Store instance around.
2020-08-26 10:50:47 -04:00
Tiger Oakes
ca871ceab2 [components] Convert config to yaml 2020-08-06 16:20:10 -07:00
MozLando
13c2fcf970 [components] Merge https://github.com/mozilla-mobile/android-components/pull/7929 https://github.com/mozilla-mobile/android-components/pull/7935 (part 1)
7929: Closes https://github.com/mozilla-mobile/android-components/issues/7861: Add SearchActions and SearchReducer r=pocmo a=psymoon



7935: Closes https://github.com/mozilla-mobile/android-components/issues/7831: Add SmallMenuCandidate.onLongClick r=pocmo a=NotWoods



Co-authored-by: Simon Chae <chaesmn@gmail.com>
Co-authored-by: Tiger Oakes <toakes@mozilla.com>
2020-07-31 20:27:14 +00:00
Simon Chae
aaaf12550c [components] Closes https://github.com/mozilla-mobile/android-components/issues/7861: Add SearchActions and SearchReducer 2020-07-31 15:16:58 -04:00
Kate Glazko
f0b5941c85 [components] For https://github.com/mozilla-mobile/android-components/issues/7761: Rename Queued Downloads And Persist 2020-07-30 09:44:03 -07:00
Simon Chae
96f87f5845 [components] Closes https://github.com/mozilla-mobile/android-components/issues/7860: Introduce SearchState to BrowserState 2020-07-29 11:33:36 -04:00
Kate Glazko
02bd5bb0fe [components] For https://github.com/mozilla-mobile/android-components/issues/7673: Move DownloadProgress and Status to DownloadState 2020-07-28 16:50:02 -04:00
Gabriel Luong
81f019e616 [components] Issue https://github.com/mozilla-mobile/android-components/issues/7682: Add a ContainerMiddleware to connect ContainerStorage with ContainerState
Co-authored-by: Jonathan Almeida <jalmeida@mozilla.com>
2020-07-24 16:23:02 -04:00
Christian Sadilek
c43ad0e9a5 [components] Closes https://github.com/mozilla-mobile/android-components/issues/7741: Move Session.Source to browser state 2020-07-16 16:01:33 -04:00
Gabriel Luong
f3e9fb83b6 [components] Issue https://github.com/mozilla-mobile/android-components/issues/7529: Add ContainerState to BrowserState 2020-07-10 10:59:53 -04:00
MozLando
a3a15bd33e [components] Merge https://github.com/mozilla-mobile/android-components/pull/7277
7277: https://github.com/mozilla-mobile/android-components/issues/5178 last used tabs property r=jonalmeida a=Vishwa-Mozilla



Co-authored-by: Vishwa Patel <vpatel@mozilla.com>
2020-07-07 17:34:25 +00:00
MozLando
55adb5960a [components] Merge https://github.com/mozilla-mobile/android-components/pull/7365
7365: For https://github.com/mozilla-mobile/android-components/issues/7364 - Adds sessionId to DownloadState and populates it in DowloadFeature r=csadilek a=codrut-topliceanu



Co-authored-by: codrut.topliceanu <codrut.topliceanu@softvision.ro>
2020-06-16 10:59:46 +00:00
codrut.topliceanu
87dd6aa502 [components] For https://github.com/mozilla-mobile/android-components/issues/7364 - Adds sessionId to DownloadState and populates it in ContentStateReducer 2020-06-15 12:35:29 +03:00
Vishwa Patel
5c10808304 [components] Close https://github.com/mozilla-mobile/android-components/issues/5178: Adding last used/accessed property to tabs 2020-06-15 00:33:10 -04:00
Tiger Oakes
74d8035254 [components] Move PIP to BrowserStore 2020-06-11 09:16:36 -07:00
Tiger Oakes
d11f6f2e9f [components] Add sameOriginAs Uri helper 2020-06-11 09:16:32 -07:00
Arturo Mejia
083c4dce15 [components] Closes https://github.com/mozilla-mobile/android-components/issues/7308: Update the store queuedDownloads when mutate
the download state.
2020-06-09 15:09:42 -04:00
Tiger Oakes
52b165e7c6 [components] Add getNormalOrPrivateTabs function 2020-06-01 16:04:52 -07:00
Christian Sadilek
ebcab79763 [components] Closes https://github.com/mozilla-mobile/android-components/issues/7103 https://github.com/mozilla-mobile/android-components/issues/5217: Move queued download state to browser store 2020-05-28 12:09:02 -04:00
Tiger Oakes
ecbbc64d60 [components] Closes https://github.com/mozilla-mobile/android-components/issues/7023 - Add HistoryState to content state 2020-05-22 09:56:22 -07:00
Tiger Oakes
796b6fec6a [components] Use helper to change state of tab in BrowserStore 2020-05-19 09:26:55 -07:00
ekager
efaa39ca49 [components] Adds MediaFullscreenOrientationFeature 2020-05-19 16:13:48 +02:00
ekager
13a8e25103 [components] For https://github.com/mozilla-mobile/android-components/issues/6757 - Adds firstContentfulPaint callback and var to session 2020-05-13 20:44:34 -07:00
Tiger Oakes
d44f30c932 [components] For https://github.com/mozilla-mobile/android-components/issues/5028 - Add webAppManifest to ContentState 2020-05-13 15:03:27 -07:00