aboutsummaryrefslogtreecommitdiffstats
path: root/background_scripts
diff options
context:
space:
mode:
authorStephen Blott2014-10-27 11:26:58 +0000
committerStephen Blott2014-10-27 11:26:58 +0000
commit54b597bb1562f9d1c1aa13141cf2d1c33ce66b63 (patch)
tree77a4c19f0f24c1816184428f6757d404f6093f90 /background_scripts
parent2e8ac9c4847d0088443b5d961c44096c293cd1c0 (diff)
parent7c2f6c56000b5af5e86d97b535d02e24a7d1b322 (diff)
downloadvimium-54b597bb1562f9d1c1aa13141cf2d1c33ce66b63.tar.bz2
Merge favicons for vomnibar.
Diffstat (limited to 'background_scripts')
-rw-r--r--background_scripts/completion.coffee13
1 files changed, 12 insertions, 1 deletions
diff --git a/background_scripts/completion.coffee b/background_scripts/completion.coffee
index b0ab4b88..b52d9eb8 100644
--- a/background_scripts/completion.coffee
+++ b/background_scripts/completion.coffee
@@ -26,6 +26,7 @@ class Suggestion
generateHtml: ->
return @html if @html
+ favIconUrl = @tabFavIconUrl or "#{@getUrlRoot(@url)}/favicon.ico"
relevancyHtml = if @showRelevancy then "<span class='relevancy'>#{@computeRelevancy()}</span>" else ""
# NOTE(philc): We're using these vimium-specific class names so we don't collide with the page's CSS.
@html =
@@ -34,12 +35,21 @@ class Suggestion
<span class="vimiumReset vomnibarSource">#{@type}</span>
<span class="vimiumReset vomnibarTitle">#{@highlightTerms(Utils.escapeHtml(@title))}</span>
</div>
- <div class="vimiumReset vomnibarBottomHalf">
+ <div class="vimiumReset vomnibarBottomHalf vomnibarIcon"
+ style="background-image: url(#{favIconUrl});">
<span class="vimiumReset vomnibarUrl">#{@shortenUrl(@highlightTerms(Utils.escapeHtml(@url)))}</span>
#{relevancyHtml}
</div>
"""
+ # Use neat trick to snatch a domain (http://stackoverflow.com/a/8498668).
+ # TODO(smblott) Is this really faster than using parseUri? That's probably what's happening behind the
+ # scenes anyway.
+ getUrlRoot: (url) ->
+ a = document.createElement 'a'
+ a.href = url
+ a.protocol + "//" + a.hostname
+
shortenUrl: (url) -> @stripTrailingSlash(url).replace(/^https?:\/\//, "")
stripTrailingSlash: (url) ->
@@ -261,6 +271,7 @@ class TabCompleter
suggestions = results.map (tab) =>
suggestion = new Suggestion(queryTerms, "tab", tab.url, tab.title, @computeRelevancy)
suggestion.tabId = tab.id
+ suggestion.tabFavIconUrl = tab.favIconUrl
suggestion
onComplete(suggestions)