     "http://suggestqueries.google.com/complete/search?ss_protocol=legace&client=toolbar&q=#{Utils.createSearchQuery queryTerms}"
 
   parse: (xhr) ->
-    try
-      for suggestion in xhr.responseXML.getElementsByTagName "suggestion"
-        continue unless suggestion = suggestion.getAttribute "data"
-        suggestion
-    catch
-      []
+    for suggestion in xhr.responseXML.getElementsByTagName "suggestion"
+      continue unless suggestion = suggestion.getAttribute "data"
+      suggestion
 
 class Youtube extends RegexpEngine
   constructor: ->


    engine = @lookupEngine searchUrl
    url = engine.getUrl queryTerms
    @get searchUrl, url, (xhr = null) =>
      if xhr?
        # We keep at most three suggestions, the top three.  These are most likely to be useful.
        callback @completionCache.set completionCacheKey, engine.parse(xhr)[...3]
      else
        callback @completionCache.set completionCacheKey, callback []
        # We cache failures, but remove them after just ten minutes.  This (it is hoped) avoids repeated
        # XMLHttpRequest failures over a short period of time.

  getUrl: -> chrome.runtime.getURL "content_scripts/vimium.css"
  parse: -> []

completionEngines = [
  Google
  Youtube
  Wikipedia
  DummySearchEngine
]

SearchEngines =
  cancel: (searchUrl, callback = null) ->
