That’s the problem. I don’t want to glue a new frontend on top of what exists, I want to completely replace every history API the browser provides, and replace it with my own.
I, as extension dev, can’t remove the history API’s implementation, and build my own implementation. I can’t change what backend the browser’s history UI uses, or replace that UI.
I can’t hijack the history button in the menu, or replace it.
With Firefox, today, with lots of hackery, I can get pretty close. But I still can’t fully get there.
With the new WebExtensions, I can only add UI – but not replace UI, or add backend functionality, or replace backend functionality.
https://developer.chrome.com/extensions/override
This would be sufficient to create the type of feature described in the article.
Not sure why you'd want to replace the backend, this could break other extensions. Both WebExtensions and Chrome extensions allow changing/deleting browser history items, which should enable most things extensions would want to do.
As I said above, the whole point is to do my own history tracking system, which stores history via a sync system of my own, in a server of my own.
And loads it from there, too.
The user has a webinterface, mobile interface, app integration with browsers, etc.
You can easily do fulltext search of all sites you’ve ever visited, etc.
"Breaking" other extensions is intentional – I want to replace the backend in which they search.
I want to provide far more than what any of these browsers provide, although Vivaldi is still the closest yet.
In this case, what is wrong with the history [1] and omnibox [2] APIs?
[1] https://developer.mozilla.org/en-US/Add-ons/WebExtensions/AP...
[2] https://developer.mozilla.org/en-US/Add-ons/WebExtensions/AP...