| Age | Commit message (Collapse) | Author | 
 | 
1. Rework event handling to eliminate frame flicker (a la #1485).
2. Tidy up logic.  Which should make this more robust.
 | 
 | 
 | 
 | 
 | 
 | 
This delivers a "hidden" massage to the vomnibar after the vomnibar has
been hiddent in the host page.  The vomnibar only performs whatever
action is required when it receives this "hidden" message.
 | 
 | 
This is not entirely satisfactory.  It would be great if a delay of 0
worked (a la `nextTick`).  But it seems we need a little longer because
we need to allow the UI component messaging to complete.
An alternative would be to thread the action required through the UI
component logic.  But that's pretty ugly too.
Yet another alternative would be to have the UI Component post an "ok,
we're done, do it" message once the UI component has been removed.
Fixes #1485.
 | 
 | 
Click:
- in the vomnibar focuses the input
- anywhere else (such as in the space below the vomnibar) hides the
  vomnibar.
This makes clicks in the space below the vomnibar behave the same as
clicks in the page itself...  Which makes sense, because the difference
is not apparent to the user.
 | 
 | 
Fixes #1506.
This takes the opposite approach to #1511.  Instead of hiding the
vomnibar when it blurs, we hide it when it's host frame is focused.
 | 
 | 
In #1389/c52c0ea57f86c1c5a132819fe85e763db84ce712 we added descriptions
to search engines. We (I) omitted to realise that the "type" of a
selection (in particular, the constant "search") is also used to
determine whether the suggestion is automatically selected by the
vomnibar.
This fixes that, such that custom search engines with descriptions are
now automatically selected in the vomnibar.
 | 
 | 
In tabs mode, the vomnibar is pre-populated when the query is empty.
If, as part of hiding the vomnibar, we reset it, it becomes populated
again, so the display style is reset from "none" to "block".  Therefore,
the completion list is briefly visible when the vomnibar is later
reactivated.
Solution:
- Do not run `@update()` from `@reset()`.
 | 
 | 
 | 
 | 
From top to bottom on the diff:
- The echo handler on the background page is no longer required.
- Simplify/refactor vomnibarUI message handler.
- Initialise vomnibar query to "" (rather than null) and simplify.
- No need to focus parent window when vomnibar closes; that's handled by
  the iframe framework.  Also no need to blur.
 | 
 | 
 | 
 | 
into smblott-github-vomnibarToPage
Conflicts:
	background_scripts/main.coffee
	content_scripts/vimium.css
	content_scripts/vomnibar.coffee
	lib/utils.coffee
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
Use the `openUrlInCurrentTab` message to open bookmarklets so they are opened
via `chrome.tabs.update` instead of an injected script element. This allows
bookmarklets to open popups.
 | 
 | 
 |