diff options
| -rw-r--r-- | background_scripts/bg_utils.coffee | 12 | ||||
| -rw-r--r-- | background_scripts/commands.coffee | 8 | ||||
| -rw-r--r-- | background_scripts/main.coffee | 15 | ||||
| -rw-r--r-- | manifest.json | 2 | 
4 files changed, 18 insertions, 19 deletions
| diff --git a/background_scripts/bg_utils.coffee b/background_scripts/bg_utils.coffee index ca042686..0b6e4338 100644 --- a/background_scripts/bg_utils.coffee +++ b/background_scripts/bg_utils.coffee @@ -53,4 +53,16 @@ class TabRecency  BgUtils =    tabRecency: new TabRecency() +  # Log messages to the extension's logging page, but only if that page is open. +  log: do -> +    loggingPageUrl = chrome.runtime.getURL "pages/logging.html" +    console.log "Vimium logging URL:\n  #{loggingPageUrl}" if loggingPageUrl? # Do not output URL for tests. +    (message, sender = null) -> +      for viewWindow in chrome.extension.getViews {type: "tab"} +        if viewWindow.location.pathname == "/pages/logging.html" +          # Don't log messages from the logging page itself.  We do this check late because most of the time +          # it's not needed. +          if sender?.url != loggingPageUrl +            viewWindow.document.getElementById("log-text").value += "#{(new Date()).toISOString()}: #{message}\n" +  root.BgUtils = BgUtils diff --git a/background_scripts/commands.coffee b/background_scripts/commands.coffee index 2e597e32..65d09d68 100644 --- a/background_scripts/commands.coffee +++ b/background_scripts/commands.coffee @@ -20,7 +20,7 @@ Commands =    #    command passed to it. This is used to implement e.g. "closing of 3 tabs".    addCommand: (command, description, options) ->      if command of @availableCommands -      logMessage? "#{command} is already defined! Check commands.coffee for duplicates." +      BgUtils.log "#{command} is already defined! Check commands.coffee for duplicates."        return      options ||= {} @@ -28,7 +28,7 @@ Commands =    mapKeyToCommand: ({ key, command, options }) ->      unless @availableCommands[command] -      logMessage? "#{command} doesn't exist!" +      BgUtils.log "#{command} doesn't exist!"        return      options ?= {} @@ -57,13 +57,13 @@ Commands =              [ _, key, command, optionList... ] = tokens              if command? and @availableCommands[command]                key = @normalizeKey key -              logMessage? "Mapping #{key} to #{command}" +              BgUtils.log "Mapping #{key} to #{command}"                @mapKeyToCommand { key, command, options: @parseCommandOptions command, optionList }            when "unmap"              if tokens.length == 2                key = @normalizeKey tokens[1] -              logMessage? "Unmapping #{key}" +              BgUtils.log "Unmapping #{key}"                delete @keyToCommandRegistry[key]            when "unmapAll" diff --git a/background_scripts/main.coffee b/background_scripts/main.coffee index 0d82e61c..4c5b0a76 100644 --- a/background_scripts/main.coffee +++ b/background_scripts/main.coffee @@ -72,18 +72,6 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) ->    # Ensure the sendResponse callback is freed.    return false) -# Log messages to the extension's logging page, but only if that page is open. -logMessage = do -> -  loggingPageUrl = chrome.runtime.getURL "pages/logging.html" -  console.log "Vimium logging URL:\n  #{loggingPageUrl}" if loggingPageUrl? # Do not output URL for tests. -  (message, sender = null) -> -    for viewWindow in chrome.extension.getViews {type: "tab"} -      if viewWindow.location.pathname == "/pages/logging.html" -        # Don't log messages from the logging page itself.  We do this check late because most of the time -        # it's not needed. -        if sender?.url != loggingPageUrl -          viewWindow.document.getElementById("log-text").value += "#{(new Date()).toISOString()}: #{message}\n" -  #  # Used by the content scripts to get their full URL. This is needed for URLs like "view-source:http:# .."  # because window.location doesn't know anything about the Chrome-specific "view-source:". @@ -396,7 +384,7 @@ sendMessageToFrames = (request, sender) ->  # For debugging only. This allows content scripts to log messages to the extension's logging page.  bgLog = (request, sender) -> -  logMessage "#{sender.tab.id}/#{request.frameId} #{request.message}", sender +  BgUtils.log "#{sender.tab.id}/#{request.frameId} #{request.message}", sender  # Port handler mapping  portHandlers = @@ -476,5 +464,4 @@ chrome.runtime.onInstalled.addListener ({reason}) ->      chrome.storage.local.set installDate: new Date().toString()  root.TabOperations = TabOperations -root.logMessage = logMessage  root.Frames = Frames diff --git a/manifest.json b/manifest.json index 07647da5..f11b44d9 100644 --- a/manifest.json +++ b/manifest.json @@ -10,9 +10,9 @@      "scripts": [        "lib/utils.js",        "lib/settings.js", +      "background_scripts/bg_utils.js",        "background_scripts/commands.js",        "lib/clipboard.js", -      "background_scripts/bg_utils.js",        "background_scripts/exclusions.js",        "background_scripts/completion_engines.js",        "background_scripts/completion_search.js", | 
