| Age | Commit message (Collapse) | Author | 
 | 
 | 
 | 
`SearchEngines` was previously in `utils.coffee`, which means it was
loaded in *every* content frame.  This is unnecessary, since it is only
used on the background page.  So this PR moves it there.
Also:
- Simplify some unnecessarily complex logic in `vomnibar.coffee`.
- Re-use `Utils.parseLines()` to parse the custom search engine configuation text.
 | 
 | 
 | 
 | 
1. Explicitly remove comments.
2. A trailing backslash means the current line continues on the next line.
E.g.
    a \
      b \
      c
is a single line `a b c`.
This helps alleviate the fact that configuration lines can be very long,
whereas the *Custom key mappings* input is quite narrow.
TODO: We should use the same line parser in the custom-search-engines
input.
 | 
 | 
 | 
 | 
... we know what day it is!
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
This fix the problem that `chrome.tabs.onActivated` won't be triggered
when we switch Chrome windows.
 | 
 | 
- handle case where there's only one tab
- also focus the selected tab's window
 | 
 | 
Implements visitPreviousTab (as discussed in #1955).
 | 
 | 
Certain background-page utilities are actually shared, and are therefore
best placed in place that reflects that.
Here, tabRecency is moved to the new gb_utils.coffee in preparation for
implementing a go-to-previous-tab command.  In particular, it is no
longer appropriate that tabRecency be embedded within the completion
code.
logMessage() from main.coffee is also a candidate for moving to
bg_utils.coffee.
 |