This is similar to setting "hintchars" to "1234567890", but
ends up with more predictable and stable hints (see the
included documentation).
Setting "hintfiltermode" to "vimperator-reflow" and
"hintnames" to "numeric" provides more or less the same
experience that pentadactyl did.
We always generate hints using the "short" mechanism added
by 34aa42061e. In preparation
for adding a new mode, let's add a config option to select
this.
I've made "uniform" a separate mode. I don't actually care
about this mode myself, but it looks like there's no other
way to trigger the pre-34aa4206 behavior, even though we're
still carrying the code. It's possible that nobody cares and
it should simply be removed.
This reverts commit 092e501db4.
This was causing a bug identified by @glacambre and @Lexi where
sometimes the html function isn't defined when returning to a page with
history back.
Personally, I think it's probably webpack or Firefox's fault: content.ts
clearly imports html-tagged-template as it's first action.
If it's not their fault then it's html-tagged-template's fault: it must
be refusing to set window.html.
This commit makes Tridactyl aware of elements made interactive through
JavaScript and lets Tridactyl put hints on them.
Something possibly dangerous is done here: exporting a function to the
page's context. While it is believed that the current implementation is
secure and that pages can't discover whether the function has been
exported or not, this might change due to new standards being adopted by
firefox. One of these standards is the Custom Elements api:
https://developer.mozilla.org/en-US/docs/Web/Web_Components/Custom_Elements
It will be necessary to check how Tridactyl behaves once this API has
landed. The status of this API seems to be tracked here:
https://bugzilla.mozilla.org/show_bug.cgi?id=1406825
hintmode = "simple" is the default hinting mode, naming hints using
the hintchars configuration. It is the current tridactyl behavior and
is preserved unchanged.
hintmode = "vimperator" is a new hinting mode that allows the user to
filter hints using non-hintchar :alnum: characters. Hints with targets
whose html does not contain these characters as a subsequence (not
contiguous) will be filtered out.
This adds the ability to save link targets or images. The save location
can be default, or the save as dialog can be invoked.
Somewhat sensible default filenames are provided.
Data URLs are also supported (though they need quite a bit of massaging
to get past the WebExt security limitations). Specificially, they need
to be round-tripped though a Blob, and must be saved from the background
context.