android-components / mozilla.components.concept.engine.history / HistoryTrackingDelegate


interface HistoryTrackingDelegate (source)

An interface used for providing history information to an engine (e.g. for link highlighting), and receiving history updates from the engine (visits to URLs, title changes).

Even though this interface is defined at the “concept” layer, its get* methods are tailored to two types of engines which we support (system’s WebView and GeckoView).


Name Summary
getVisited abstract suspend fun getVisited(uris: List<String>): List<Boolean>
An engine needs to know “visited” (true/false) status for provided URIs.abstract suspend fun getVisited(): List<String>
An engine needs to know a list of all visited URIs.
onTitleChanged abstract suspend fun onTitleChanged(uri: String, title: String): Unit
Title changed for a given URI.
onVisited abstract suspend fun onVisited(uri: String, visit: PageVisit): Unit
A URI visit happened that an engine considers worthy of being recorded in browser’s history.
shouldStoreUri abstract fun shouldStoreUri(uri: String): Boolean
Allows an engine to check if this URI is going to be accepted by the delegate. This helps avoid unnecessary coroutine overhead for URIs which won’t be accepted.

Extension Functions

Name Summary
loadResourceAsString fun Any.loadResourceAsString(path: String): String
Loads a file from the resources folder and returns its content as a string object.


Name Summary
HistoryDelegate class HistoryDelegate : HistoryTrackingDelegate
Implementation of the HistoryTrackingDelegate which delegates work to an instance of HistoryStorage.