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...
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.
We are actually actively building the full-text history and bookmarks search as a chrome (and soon also FF extension) (http://worldbrain.io) It's also all open-source.
We have some ideas regarding the server infra as well: https://github.com/WorldBrain/Research-Engine/issues/43
Maybe good to connect and share some thoughts. (We are also in Germany. Berlin to be exact.)
If Firefox provides a sane API for this in the future, I might do a public (and FLOSS) rewrite.
But in a few weeks, in Firefox stuff like this will be impossible – as the browser devs refuse to implement these features, and refuse to give extension devs the ability to override such browser-native features while still feeling native.
I built a similar extension for Firefox which I didn’t publish (the reasons will be obvious at the end of this paragraph), where I log the entire browser history on my own server, transform all loaded pages via reader mode, also log them, then provide fulltext search in all of them, which sites were visited after another, how did I open tabs, etc, forever.
This means I can search history for years, with postgres fulltext search, and find anything I’ve visited or read about, pages I saw before or after, etc.
It’s an amazing tool, but obviously once Firefox enforces WebExtensions, it’s useless, because I can’t integrate it with the omnibar or with the history tool anymore.