| Age | Commit message (Collapse) | Author | 
|---|
|  | This reverts commit e975633f3ee8da9e01c332b2dcdb8422d5f941d8. | 
|  | This re-enables edit-mode (`gv`).  The code for this has been present in
`master` for quite some time, but has been disabled. | 
|  | These seem to be working fine, we can commit to them. | 
|  |  | 
|  | Rework to make match counting code for searches more DRY and easier to read | 
|  |  | 
|  | In #1828, we (I) broke the fact that `gt` and `gT` should be able to
wrap around at the ends (so, for example, `gt` on the right-most tab
should take you to the first). | 
|  | `2g0` takes you to the second tab.
`2g$` takes you to the second last tab.
This gives us `gt`/`gT` for relative tab selection and `g0`/`g$` for absolute tab selection.
`<count>` previously had no special meaning for `g0` and `g$`, and it's not clear it could have any other meaning than that implemented here.
Fixes #1298 (kind of). | 
|  |  | 
|  | Fixes #1814.
(This fixes a problem that was introduced in the "fix" of #1727.) | 
|  | Search completion; add support for Qwant completion | 
|  |  | 
|  |  | 
|  |  | 
|  | This makes global marks use the same code for opening new tabs as other
operations.  Thus, the new tab appears in the same position as it would
if it were created, for example, via the vomnibar.
To do this properly, we move the three tab-creating functions into an
object which can be (and is) exported (TabOperations).
Also fixes these three operations such that they all take the same
arguments; that is (request, callback).  Not all of these callbacks are
being used.  But we should be consistent. | 
|  | If the tab is subsequently deleted, then we return to the original tab
(as opposed to the one on its right). | 
|  |  | 
|  | ... as suggested by @mrmr1993 in #1728. | 
|  |  | 
|  | Note. This does not allow tabs to rotate from the left around to the
right, or vice versa.  Which means "999<<" moves the current tab all the
way to the left (and similarly to the right).
Fixes #1727 (kind of). | 
|  | With #1697, the vomnibar used with a custom-search keyword is not
initially empty (it shows the primary suggestion for the custom search
engine, even if the query is empty).  The way things were structured
previously, the user nevertheless had to wait until the history cache
(which was not actually required) had been fetched before the vomnibar
was updated.
This commit just flips things around a bit such that,
   - onComplete() is called immediately if the history is not actually
     required, and
   - the history cache is primed before it is needed, so it will
     (hopefully) be available before the user's next keystroke.
This avoids a noticable delay, particularly on start up and with a large
history.
(This is part of a sequence of vomnibar UX tweaks.) | 
|  | Conflicts:
	background_scripts/completion.coffee
	background_scripts/completion_engines.coffee | 
|  | On the help page, use separate row for very-long bindings. | 
|  | When filter suggestions from other completers, most notably the history
completer, we only keep suggestions which match the current searchUrl
and completer.  Here, we also *replace* the URL of the suggestion.  With
duplicate elimination, multiple history entries (e.g. those generated
with various "Search Tools" settings on Google) will be collapsed to
one.  This matters because, with custom search engines, we don't show
the URL, so the user can't see differences in the URL.  Without this,
the user can be presented with a list of apparently identical
completions. | 
|  | This commit contains the bulk og the material changes for which the
previous commits established the basis.
1) Add a general framework for detecting query prefixes in search URLs,
adding them to query sent to the completion engine, and stripping them
from the resulting suggestions.  This allows the user to have a
search engine...
   j: http://www.google.com/search?q=javascript+%s Javascript
and have the prefix "javascript" included (automatically) in queries
sent to completion engines, which results in substantially better
suggestions.
2) Re-work completion for Google Maps in a simpler form. | 
|  |  | 
|  | The original completion-engine interface was based on three functions.
With some experience, it seems there is a pattern involving explicit
regular expressions which is used by all actual engine implementations.
This is a refactoring to make those regular expressions explicit (and
required), and is a first step towards adding additional fucntionality.
This also simplifies the completion cache key (use JSON instead of some
weird hash). | 
|  | Improved global marks | 
|  | With global marks, we may later create a new tab when the mark is used.
When doing so, we should always be using the URL and scroll position of
the top frame within the tab.  For example, if a global mark is created
from within the Hangouts frame of Google's Inbox and the mark is later
used, then we should create a new tab for Inbox's URL and scroll
position, not for the Hangout's URL and scroll position. | 
|  |  | 
|  | As suggested by @mrmr1993 in #1716. | 
|  |  | 
|  |  | 
|  | (As suggested by @mrmr1993 in #1716.) | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | If there are many bindings for a command, then the column layout on the
help page can become out of whack.  This commit puts such bindings on a
separate table row which spans all three columns.
(Many bindings for a single command are more likely in light of #1697.) | 
|  |  | 
|  | Fixes #1712:
   - Make global marks work.
   - Add mode indicator.
   - Don't fail for global marks on background page if mark is not set.
   - Give HUD warning for global marks if global mark is not set.
(The diff is big but, which the exception of infrastructure refactoring,
the main change is to not exit on <Shift>, thereby fixing #1712). | 
|  | Instead of just giving an example search URL, we can give the actual
declaration (which the user can copy, paste and tweak). | 
|  | For each completion engine, this adds an @example properties (not
comments) | 
|  | When the user changes custom search engine during a single vomnibar
activation, we should only offer suggestions which match the current
search engine (not the previous one).
We now do this not just by checking that the suggestion is a custom
search suggestion, but by checking that the actual search URL matches. | 
|  | In Google Maps, we get a new history entry for every pan and every zoom.
This removes such duplicates. | 
|  | 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. | 
|  |  | 
|  |  |