blob: 10f75652effd4d768661b99df65bf7510f6e1866 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#
# This wraps the vomnibar iframe, which we inject into the page to provide the vomnibar.
#
Vomnibar =
vomnibarElement: null
activate: -> @open {completer:"omni"}
activateInNewTab: -> @open {
completer: "omni"
selectFirst: false
newTab: true
}
activateTabSelection: -> @open {
completer: "tabs"
selectFirst: true
}
activateBookmarks: -> @open {
completer: "bookmarks"
selectFirst: true
}
activateBookmarksInNewTab: -> @open {
completer: "bookmarks"
selectFirst: true
newTab: true
}
activateEditUrl: -> @open {
completer: "omni"
selectFirst: false
query: window.location.href
}
activateEditUrlInNewTab: -> @open {
completer: "omni"
selectFirst: false
query: window.location.href
newTab: true
}
# This function opens the vomnibar. It accepts options, a map with the values:
# completer - The completer to fetch results from.
# query - Optional. Text to prefill the Vomnibar with.
# selectFirst - Optional, boolean. Whether to select the first entry.
# newTab - Optional, boolean. Whether to open the result in a new tab.
open: (options) ->
unless @vomnibarElement?
@vomnibarElement = document.createElement "iframe"
@vomnibarElement.className = "vomnibarFrame"
@vomnibarElement.seamless = "seamless"
@hide()
options.frameId = frameId
optionStrings = []
for option of options
if typeof options[option] == "boolean"
optionStrings.push option if options[option]
else
optionStrings.push "#{option}=#{escape(options[option])}"
@vomnibarElement.src = "#{chrome.runtime.getURL "pages/vomnibar.html"}?#{optionStrings.join "&"}"
document.documentElement.appendChild @vomnibarElement
@vomnibarElement.focus()
close: ->
@hide()
@vomnibarElement?.remove()
show: ->
@vomnibarElement?.style.display = "block"
hide: ->
@vomnibarElement?.style.display = "none"
root = exports ? window
root.Vomnibar = Vomnibar
|