Commit graph

342 commits

Author SHA1 Message Date
Jonathan Almeida
dface57afd [components] Closes https://github.com/mozilla-mobile/android-components/issues/865: Add ErrorResult for RequestInterceptor
If we want to load an error page, we can return it to the interceptor,
along with a custom URL to show on the screen.

Tests for the GeckoView implementation will follow up. This change
should unblock SystemEngine clients for now.
2018-09-26 19:31:03 +02:00
Jonathan Almeida
58815aaa96 [components] Closes https://github.com/mozilla-mobile/android-components/issues/828: Fullscreen mode doesn't use entire screen
When we add the fullscreen view into the FrameLayout, we were taking the
original WebView and hiding it with View.GONE which doesn't take up any
layout space. View.INVISIBLE doesn't show the view, but continues to
use the space that it would if it did exist (drawing in the background).

For websites like YouTube and BBC.com/ideas, the video provided to us
was of a smaller size and resolution so it didn't take the fullscreen
and ended up shrinking to it's original size view size. 🤦
2018-09-26 14:10:25 +02:00
Christian Sadilek
0f5ebbb279 [components] Closes https://github.com/mozilla-mobile/android-components/issues/863: URISyntaxException: Expected scheme-specific part at index 2018-09-26 13:50:09 +02:00
Arturo Mejia
a4c1e8c218 [components] Closes https://github.com/mozilla-mobile/android-components/issues/825: Session.url is not updated until page has nearly finished
loading
2018-09-26 10:21:51 +02:00
Arturo Mejia
5bc1ca7173 [components] Closes https://github.com/mozilla-mobile/android-components/issues/495: Provide thumbnail of websites
* Adding captureThumbnail to EngineSession

* Updating TabViewHolder to add thumbnail

* Adding thumbnail to Session

* Adding a new product flavor for systemEngine
2018-09-20 12:51:00 -04:00
Christian Sadilek
5ed6c62799 [components] Closes https://github.com/mozilla-mobile/android-components/issues/688: Extend engine settings for WebView 2018-09-20 12:01:41 -04:00
Jonathan Almeida
c430d8d8fe [components] Closes https://github.com/mozilla-mobile/android-components/issues/718: Extend RequestInterceptor to support error pages 2018-09-12 20:55:04 -04:00
Christian Sadilek
742a0d2011 [components] Closes https://github.com/mozilla-mobile/android-components/issues/750: UrlMatcher incorrectly uses Java 8 Map.forEach 2018-09-11 18:26:11 -04:00
Jonathan Almeida
4e44d0c890 [components] Closes https://github.com/mozilla-mobile/android-components/issues/728: Invoke onNavigationStateChange sooner
We're only waiting until the page is fully loaded until we call
onNavigationStateChange, which causes the UI components to seem slow.

Now, we make the call when we receive a title from the SystemEngine.
2018-09-11 17:30:49 -04:00
Jonathan Almeida
da6f4a83e2 [components] Closes https://github.com/mozilla-mobile/android-components/issues/644: Clear Data (WebView only)
This only includes the implementation for the SystemWebView that's based
off of what we currently do in Focus/Fire TV. Since this is needed for
those apps now, we can work with this implementation until GeckoView
provides us with a nicer API to do the equivalent for it. (Bug 1489669)

We also don't notify any observers since there isn't any
confirmation/information available that we can propagate to cients.
2018-09-11 16:30:30 -04:00
Christian Sadilek
d5265f0a46 [components] Closes https://github.com/mozilla-mobile/android-components/issues/742: Settings may cause WebView method call on wrong thread 2018-09-11 15:32:17 -04:00
Jonathan Almeida
69563c770e [components] Closes https://github.com/mozilla-mobile/android-components/issues/643: FullScreen mode support 2018-09-11 14:37:57 -04:00
Arturo Mejia
8ced4b7828 [components] Closes https://github.com/mozilla-mobile/android-components/issues/701: Exposing browser-session Desktop mode
* Adding desktopMode property to Session

* Adding onDesktopModeChanged in Session

* Renaming RequestDesktopSite to RequestDesktopSiteUseCase to follow
  the convention

* Implementing onDesktopModeChange in EngineObserver

Renaming:

On EngineSession.Observer
    from onDesktopModeEnabled to onDesktopModeChange
    from setDesktopMode to toggleDesktopMode

On Session
    from onDesktopModeEnabledChanged to onDesktopModeChanged
2018-09-06 18:17:44 -04:00
Christian Sadilek
f992f8aef9 [components] Closes https://github.com/mozilla-mobile/android-components/issues/689: Add setting for blocking web fonts 2018-09-05 16:25:01 +02:00
Sebastian Kaspari
8196bec4e3 [components] Issue https://github.com/mozilla-mobile/android-components/issues/696: browser-engine-system: Clear "X-Requested-With" header when loading URLs. 2018-09-04 16:58:11 +02:00
Christian Sadilek
2d6335c65a [components] Closes https://github.com/mozilla-mobile/android-components/issues/657: Forward lifecycle events to EngineView 2018-09-03 14:51:26 -04:00
Christian Sadilek
25d2dfc396 [components] Closes https://github.com/mozilla-mobile/android-components/issues/656: Add find in page functionality to engine/session 2018-08-30 14:06:39 -04:00
Sebastian Kaspari
d7a0e0d65a [components] Issue https://github.com/mozilla-mobile/android-components/issues/673: Engine: Allow consumers to intercept requests and inject content. 2018-08-30 16:49:05 +02:00
Jonathan Almeida
be422f354a [components] Issue https://github.com/mozilla-mobile/android-components/issues/647: Desktop mode support
Closes https://github.com/mozilla-mobile/android-components/issues/647
2018-08-29 11:36:07 -04:00
Christian Sadilek
1988de71e0 [components] Closes https://github.com/mozilla-mobile/android-components/issues/662: Provide API to set engine/session defaults 2018-08-28 18:13:34 -04:00
Jonathan Almeida
2ff709d589 [components] Issue https://github.com/mozilla-mobile/android-components/issues/476: Add long press support as observable
Fixes https://github.com/mozilla-mobile/android-components/issues/476
2018-08-27 13:44:11 -04:00
Christian Sadilek
85e4d8ab77 [components] Issue https://github.com/mozilla-mobile/android-components/issues/521: Add support for modifying engine session settings 2018-08-24 10:53:14 -04:00
Christian Sadilek
536775b259 [components] Issue https://github.com/mozilla-mobile/android-components/issues/499: Support private browsing mode 2018-08-23 18:36:28 +02:00
Christian Sadilek
f24db14b77 [components] Issue https://github.com/mozilla-mobile/android-components/issues/508: Move URL matching functionality to system engine 2018-08-21 12:30:56 -04:00
Christian Sadilek
80a7b5da03 [components] Issue https://github.com/mozilla-mobile/android-components/issues/508: Implement tracking protection in SystemEngine 2018-08-21 12:30:56 -04:00
Jonathan Almeida
7086b9c595 [components] Issue https://github.com/mozilla-mobile/android-components/issues/605: Include base64 support + review comments 2018-08-17 17:59:00 -04:00
Jonathan Almeida
3210ec6f11 [components] Closes https://github.com/mozilla-mobile/android-components/issues/605: Add loadData to Engine 2018-08-17 17:59:00 -04:00
Jonathan Almeida
0ab0fbe341 [components] Issue https://github.com/mozilla-mobile/android-components/issues/604: Add Engine ability to stop loading
Adds the ability to stop loading a session that would have already
started.

Some considerations were made about whether
`EngineSession.Observer#onLoaingStateChanged` should be called. In our
current `SystemEngine` and `GeckoEngine` there isn't any explicit
callback for handling a stop loading event so there wouldn't be any way
to do this.
2018-08-14 22:24:35 -04:00
Sebastian Kaspari
ddd3809922 [components] Issue https://github.com/mozilla-mobile/android-components/issues/431: Receive website title from engine implementations and update Session. 2018-07-24 15:42:46 +02:00
Sebastian Kaspari
831fdbfa8f [components] Issue https://github.com/mozilla-mobile/android-components/issues/424: Expose Downloads in Engine component and make them consumable from a Session. 2018-07-18 18:48:02 +02:00
Christian Sadilek
d724c95ec0 [components] Closes https://github.com/mozilla-mobile/android-components/issues/334: Storage should not restore state from different engine 2018-06-26 13:51:54 -04:00
Christian Sadilek
c98f32cbdc [components] Issue https://github.com/mozilla-mobile/android-components/issues/248: Save/Restore engine session state 2018-06-06 12:25:03 -04:00
Christian Sadilek
d9bad1a75a [components] Closes https://github.com/mozilla-mobile/android-components/issues/216: Add SSL info to session 2018-05-30 12:20:33 -04:00
Christian Sadilek
79aa746f7b [components] Closes https://github.com/mozilla-mobile/android-components/issues/176: Add use case for reloading 2018-05-17 14:39:49 -04:00
Christian Sadilek
da9fa6ee06 [components] Issue https://github.com/mozilla-mobile/android-components/issues/93: Add use cases for back/forward navigation 2018-04-25 13:10:11 -04:00
Christian Sadilek
ae78b1dbd2 [components] Issue https://github.com/mozilla-mobile/android-components/issues/93: Make navigation state (canGoBack/canGoForward) observable 2018-04-25 12:32:48 -04:00
Christian Sadilek
bc431772da [components] Issue https://github.com/mozilla-mobile/android-components/issues/91: Make loading progress available and observable 2018-04-23 15:09:06 -04:00
Sebastian Kaspari
50392be7e0 [components] Issue https://github.com/mozilla-mobile/android-components/issues/60: Use consistent package names for code and in manifests. 2018-04-13 18:01:54 -04:00
Sebastian Kaspari
abf84c1216 [components] Issue https://github.com/mozilla-mobile/android-components/issues/49: Update package name of feature-toolbar and browser-engine-system modules. 2018-04-13 17:28:57 +02:00
Sebastian Kaspari
958da9a010 [components] Issue https://github.com/mozilla-mobile/android-components/issues/49: Rename package of browser-engine-gecko module to mozilla.components.engine.gecko. 2018-04-13 17:28:57 +02:00
Sebastian Kaspari
e992d4abf6 [components] Issue https://github.com/mozilla-mobile/android-components/issues/49: Updatesystem-engine module to implement concept-engine interfaces. 2018-04-13 17:28:57 +02:00
Sebastian Kaspari
4371ded289 [components] Issue https://github.com/mozilla-mobile/android-components/issues/49: New module engine-system: Engine implementation based on the system's WebView. 2018-04-13 17:28:57 +02:00