      "@contenteditable='' or translate(@contenteditable, 'TRUE', 'true')='true']"])
 
   # We need this as a top-level function because our command system doesn't yet support arguments.
-  activateModeToOpenInNewTab: -> @activateMode(true, false, false)
-  activateModeToCopyLinkUrl: -> @activateMode(null, false, true)
-  activateModeWithQueue: -> @activateMode(true, true, false)
-
-  activateMode: (openInNewTab, withQueue, copyLinkUrl) ->
+  activateModeToOpenInNewTab: -> @activateMode(OPEN_IN_NEW_TAB)
+  activateModeToCopyLinkUrl: -> @activateMode(COPY_LINK_URL)
+  activateModeWithQueue: -> @activateMode(OPEN_WITH_QUEUE)
+
+  activateMode: (mode = OPEN_IN_CURRENT_TAB) ->
     # we need documentElement to be ready in order to append links
     return unless document.documentElement
 

        DomUtils.simulateClick(link, {
          metaKey: KeyboardUtils.platform == "Mac",
          ctrlKey: KeyboardUtils.platform != "Mac" })
    else if (copyLinkUrl)
      HUD.show("Copy link URL to Clipboard")
      @linkActivator = (link) ->
        chrome.extension.sendRequest({handler: "copyToClipboard", data: link.href})
    else
      HUD.show("Open link in current tab")
      # When we're opening the link in the current tab, don't navigate to the selected link immediately
      # we want to give the user some time to notice which link has received focus.

        clickEl.focus()
      DomUtils.flashRect(matchedLink.rect)
      @linkActivator(clickEl)
      if @mode is OPEN_WITH_QUEUE
        @deactivateMode delay, ->
          LinkHints.delayMode = false
          LinkHints.activateModeWithQueue()
