Commit Graph

109 Commits

Author SHA1 Message Date
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
Christian Sadilek
387b26e835 [components] Closes https://github.com/mozilla-mobile/android-components/issues/2985: Launch reader view in extension page 2020-05-05 13:15:51 -04:00
MozLando
74d2b171f3 [components] Merge https://github.com/mozilla-mobile/android-components/pull/6769
6769: Closes https://github.com/mozilla-mobile/android-components/issues/6538: Add navigation state to browser state r=pocmo a=csadilek

Need this for my reader mode refactor :). 

Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2020-04-28 13:13:57 +00:00
Jonathan Almeida
b86fa6dfb5 [components] Close https://github.com/mozilla-mobile/android-components/issues/6601: Update targetSdkVersion to 29 2020-04-28 03:16:54 -04:00
Christian Sadilek
3df4ba49df [components] Closes https://github.com/mozilla-mobile/android-components/issues/6538: Add navigation state to browser state 2020-04-27 18:58:27 -04:00
Simon Chae
b28f7f286e [components] Closes https://github.com/mozilla-mobile/android-components/issues/6228: Expose allowedInPrivateBrowsing control 2020-04-20 15:55:40 -04:00
Roger Yang
4d09fc463c [components] Close https://github.com/mozilla-mobile/android-components/issues/5795: Support viewport-fit descriptor via onMetaViewportFitChange 2020-04-08 18:19:11 -04:00
Sebastian Kaspari
9312a769b8 [components] Issue https://github.com/mozilla-mobile/android-components/issues/6580: Do not launch media service for muted media.
Co-authored-by: Caleb Everett <everett.caleb@gmail.com>
2020-04-08 16:28:35 +02:00
MozLando
4f475847a3 [components] Merge https://github.com/mozilla-mobile/android-components/pull/6547
6547: Closes https://github.com/mozilla-mobile/android-components/issues/4397: Migrate feature-readerview to browser-state r=pocmo a=csadilek

@pocmo Super happy with how the middleware worked out. It basically maps state to other (action/state), as relevant to reader view e.g. the url has changed -> a new reader check is required.

The other cases handled by the middleware are:
- User opens a tab via the context menu (may or may not switch to it directly)
- A new tab is selected
- A tab is removed (see comment in middleware)

All other functionality remains the same. Diff is big mostly because of test refactorings :)

I found another way that allows us to remove all reader state from the session right away! I am storing the state in the snapshot directly (same as `engineState`) and let the `SessionManager` deal with adding/deleting it based on the state in the store. This way we don't need to pass the store along to the serializer / session storage.

Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2020-04-07 14:46:08 +00:00
Christian Sadilek
69624c4f41 [components] Closes https://github.com/mozilla-mobile/android-components/issues/4397: Migrate feature-readerview to browser-state 2020-04-06 14:51:20 -04:00
MozLando
1dd8d3ad1b [components] Merge https://github.com/mozilla-mobile/android-components/pull/6401
6401: For https://github.com/mozilla-mobile/android-components/issues/6399: Add method to find session by url r=pocmo a=mcarare



Co-authored-by: mcarare <mihai.carare.dev@gmail.com>
2020-04-02 11:56:08 +00:00
Gabriel Luong
2498983b5d [components] Closes https://github.com/mozilla-mobile/android-components/issues/6352: Add contextId to BrowserState 2020-03-28 00:09:42 -04:00
mcarare
5a9e816809 [components] For https://github.com/mozilla-mobile/android-components/issues/6399: Add unit test to findTabByUrl 2020-03-27 13:38:57 +02:00
mcarare
d9b7accb95 [components] For https://github.com/mozilla-mobile/android-components/issues/6399: Add BrowserState extension function to find tab by url 2020-03-26 19:05:47 +02:00
Sebastian Kaspari
c6e53e9674 [components] Issue https://github.com/mozilla-mobile/android-components/issues/4287: Use immutable data types in MediaReducer. 2020-03-26 15:06:38 +01:00
Sebastian Kaspari
9494a60934 [components] Issue https://github.com/mozilla-mobile/android-components/issues/4287: Add unit tests for MediaAction. 2020-03-26 15:06:38 +01:00
Sebastian Kaspari
212ce4a1cc [components] Issue https://github.com/mozilla-mobile/android-components/issues/4287: Refactor feature-media to use browser-state instead of browser-session. 2020-03-26 15:06:35 +01:00
Sebastian
20a9a3bf3f [components] Issue https://github.com/mozilla-mobile/android-components/issues/6235: lib-state/browser-state: Add support for middleware. 2020-03-13 18:17:20 +01:00
Sebastian Kaspari
386640d8c7 [components] Issue https://github.com/mozilla-mobile/android-components/issues/5933: On memory pressure close engine sessions and keep state for restoring later.
Unfortunately the implementation for this needs to live in SessionManager as long as it keeps
references to EngineSession instances and thumbnails. Therefore we determine what to trim in
SessionManager and notify BrowserStore to perform the same changes.

Hopefully in a not to distant future we can move that to BrowserStore.
2020-03-05 12:38:59 +01:00
MozLando
8e1f42e65c [components] Merge https://github.com/mozilla-mobile/android-components/pull/6034
6034: Closes https://github.com/mozilla-mobile/android-components/issues/6011: Integrate DebuggerDelegate to support temporary extensions r=Amejia481 a=csadilek

GeckoView calls us back now when a debug / temporary extension was installed so we can refresh the list of installed extensions to make sure action handlers are hooked up. 

We're gonna have to uninstall all extensions and call `listInstalledExtensions` again to re-install everything that is there now incl. the new temporary extension. This is fine as it's for debugging purposes only.

Co-authored-by: Christian Sadilek <christian.sadilek@gmail.com>
2020-02-24 18:44:10 +00:00
Christian Sadilek
318d58e5bd [components] Closes https://github.com/mozilla-mobile/android-components/issues/6011: Integrate DebuggerDelegate to support temporary extensions 2020-02-24 13:25:45 -05:00