| Age | Commit message (Collapse) | Author |
|
The fix for Chromium issue 483000 landed in this version, so it is no
longer necessary for #1611
|
|
|
|
This prevents issues like #1731 and is an (better) alternative to #1732.
|
|
(@mrmr1993: This is yet another approach to the Settings problem.)
With the new Settings implemetation, settings which have a non-default
value and which are not in synced storage (that is, they have not been
changed since synced storage was introduced) are not currently
accessible to content scripts. This commit makes such settings
accessible via chrome.storage.local.
Important:
- There's a change to the established settings data model here.
Previously, settings with default values were not stored; here, they
are. This eliminates a considerable amount logic from Settings, but
means that migrations will be required if default values are changed
in future. (Other than type changes, have we ever changed a default
value?)
- There's also a change (bug fix?) to the behaviour when an affected
setting is reset to its default value. Previously, the change would
*not* have been synced (whereas all other changes are). Here, such
changes *are* synced. The previous behaviour was inconsistent with
the syncing behaviour of all other options changes.
Note:
- This isn't particularly well tested. It's being committed mainly just
for consideration of the approach, initially.
|
|
|
|
This is a minor re-working of #1705 from @mrmr1993.
The main changes are:
- Simplify initialisation logic.
- Always initialise Settings immediately and automatically (ie. don't
initialise Settings separately and manually in the background,
content scripts, options and tests).
- Get rid of addEventListener (it's only being used for on "load").
- Add Settings.use() in its place.
|
|
The Settings object used by the background page now uses 1 of 3 caches,
depending on the context it is available in:
* localStorage - in the background page
* a copy of localStorage - in non-background extension pages
(options.html, popup.html, etc.)
* an empty object - in all other pages (where localStorage doesn't point
to the extension's localStorage object).
For any extension page which is *not* the background page, a copy of
localStorage is used instead of true localStorage:
* Once localStorage is updated by one background page, the others can
only see the updated copy.
- Pages with an updated cache can't tell which changes are new, and so
don't know which postUpdateHooks to run.
* By copying localStorage's contents into a new object, extension pages
can still access settings synchronously.
- This is especially important to options.html and popup.html; they
will not work without it.
|
|
|
|
|
|
This completely decouples settings.coffee from all other background
source files, so that it can (eventually) also be used in the frontend.
|
|
This stops Sync from being referred to from anywhere except
settings.coffee and settings_test.coffee.
|
|
|
|
|
|
Conflicts:
background_scripts/completion.coffee
|
|
|
|
A custom search engine like this...
i: https://www.google.ie/search?q=%s&num=30&newwindow=1&biw=1918&bih=1015&tbm=isch Google image search
Should not match a URL like this...
https://www.google.ie/search?q=bbc+sport
|
|
If the input is "w ", the user is going for something like "w query
terms" (a custom search engine).
So the domain completer should not offer completions if the user has
finished the first word.
|
|
|
|
This revamps how search-engine configuration is handled, and revises
some rather strange legacy code.
|
|
|
|
|
|
|
|
|
|
|
|
Fixed as per @mrmr1993's comment here:
https://github.com/philc/vimium/commit/1a1b8ec05aaca867261a3556317697d8cdaf7b6c
|
|
This is @mrmr9393's suggestion from #1636. It mimic's Chrome's behaviour
when a javascript: URI is enetered into the omnibox (or clicked).
Fixes #1611.
|
|
|
|
The name "SearchEngineCompleter" is more appropriate for completions
actually delivered by a search engine. Also, what was
SearchEngineCompleter is usually referred to as "custom search engines"
elsewhere.
|
|
|
|
|
|
|
|
This logic should never have been in settings.coffee. This moves it to completion.coffee, where it belongs.
|
|
This is @mrmr1993's work from #1041.
Reload content scripts when vimium is installed or updates.
(@mrmr1993: The automatic merge was really messy (or, at least, I
couldn't figure out what was going on). Since the bulk of #1041 was
actually quite compact, I took the liberty of just copying it in. Hope
you don't mind.)
|
|
See #1495.
|
|
|
|
|
|
As a proof of concept, this incorporates normal mode, passkeys mode and
insert mode.
|
|
https://github.com/smblott-github/vimium into smblott-github-search-engine-descriptions
|
|
|
|
|
|
https://github.com/smblott-github/vimium into smblott-github-passkeys---union-of-rules
|
|
|
|
- Simplify component API.
- Iframe flashes on re-focus.
- Probably some other stuff which I've forgotten.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|