diff options
| -rw-r--r-- | README.markdown | 5 | ||||
| -rw-r--r-- | background_page.html | 24 | ||||
| -rw-r--r-- | commands.js | 13 | ||||
| -rw-r--r-- | helpDialog.html | 9 | ||||
| -rw-r--r-- | linkHints.js | 15 | ||||
| -rw-r--r-- | options.html | 8 | ||||
| -rw-r--r-- | vimiumFrontend.js | 74 | 
7 files changed, 15 insertions, 133 deletions
diff --git a/README.markdown b/README.markdown index 124ccaad..853fca9f 100644 --- a/README.markdown +++ b/README.markdown @@ -40,8 +40,6 @@ Navigating the current page:      F       open a link in a new tab      r       reload      gs      view source -    zi      zoom in -    zo      zoom out      i       enter insert mode -- all commands will be ignored until you hit esc to exit      yy      copy the current url to the clipboard      yf      copy a link url to the clipboard @@ -75,8 +73,6 @@ Additional advanced browsing commands:      gu      go up one level in the URL hierarchy      zH      scroll all the way left      zL      scroll all the way right -    z0      reset zoom to default value -  Vimium supports command repetition so, for example, hitting '5t' will open 5 tabs in rapid succession. ESC (or  <c-[>) will clear any partial commands in the queue and will also exit insert and find modes. @@ -157,7 +153,6 @@ Release Notes  -  Some sites are now excluded by default.  -  View source (`gs`) now opens in a new tab.  -  Support for browsing paginated sites using `]]` and `[[` to go forward and backward respectively. --  `z0` will reset the zoom level for the current page.  -  Many of the less-used commands are now marked as "advanced" and hidden in the help dialog by default, so     that the core command set is more focused and approachable.  -  Improvements to link hinting. diff --git a/background_page.html b/background_page.html index 5de86bca..77e36bb6 100644 --- a/background_page.html +++ b/background_page.html @@ -25,7 +25,6 @@    var defaultSettings = {      scrollStepSize: 60, -    defaultZoomLevel: 100,      linkHintCharacters: "sadfjklewcmpgh",      filterLinkHints: false,      userDefinedLinkHintCss: @@ -64,8 +63,6 @@      keyDown:              handleKeyDown,      returnScrollPosition: handleReturnScrollPosition,      getCurrentTabUrl:     getCurrentTabUrl, -    getZoomLevel:         getZoomLevel, -    saveZoomLevel:        saveZoomLevel,      getSetting:           getSetting,      getBookmarks:         getBookmarks    }; @@ -159,17 +156,6 @@      localStorage["helpDialog_showAdvancedCommands"] = request.showAdvancedCommands;    } -  /* -   * Returns the previously saved zoom level for the current tab, or the default zoom level -   */ -  function getZoomLevel(args, port) { -    var returnPort = chrome.tabs.connect(port.tab.id, { name: "returnZoomLevel" }); -    var localStorageKey = "zoom" + args.domain; -    var zoomLevelForDomain = (localStorage[localStorageKey] || "").split(",")[1]; -    var zoomLevel = parseInt(zoomLevelForDomain || getSettingFromLocalStorage("defaultZoomLevel")); -    returnPort.postMessage({ zoomLevel: zoomLevel }); -  } -    function showHelp(callback, frameId) {      chrome.tabs.getSelected(null, function(tab) {        chrome.tabs.sendRequest(tab.id, @@ -319,16 +305,6 @@      }    } -  /* -   * Persists the current zoom level for a given domain -   */ -  function saveZoomLevel(args) { -    var localStorageKey = "zoom" + args.domain; -    // TODO(philc): We might want to consider expiring these entries after X months as NoSquint does. -    // Note(philc): We might also want to jsonify this hash instead of polluting our local storage keyspace. -    localStorage[localStorageKey] = [getCurrentTimeInSeconds(), args.zoomLevel].join(","); -  } -    function getCurrentTimeInSeconds() { Math.floor((new Date()).getTime() / 1000); }    chrome.tabs.onSelectionChanged.addListener(function(tabId, selectionInfo) { diff --git a/commands.js b/commands.js index 4e7ebccb..894818a2 100644 --- a/commands.js +++ b/commands.js @@ -111,10 +111,6 @@ function clearKeyMappingsAndSetDefaults() {      "L": "goForward",      "gu": "goUp", -    "zi": "zoomIn", -    "zo": "zoomOut", -    "z0": "zoomReset", -      "gi": "focusInput",      "f":     "linkHints.activateMode", @@ -170,11 +166,8 @@ var commandDescriptions = {    reload: ["Reload the page"],    toggleViewSource: ["View page source"], -  zoomIn: ["Zoom in"], -  zoomOut: ["Zoom out"], -  zoomReset: ["Reset zoom to default value"],    copyCurrentUrl: ["Copy the current URL to the clipboard"], -   +    'linkHints.activateModeToCopyLinkUrl': ["Copy a link URL to the clipboard"],    enterInsertMode: ["Enter insert mode"], @@ -223,7 +216,7 @@ var commandGroups = {      ["scrollDown", "scrollUp", "scrollLeft", "scrollRight",       "scrollToTop", "scrollToBottom", "scrollToLeft", "scrollToRight", "scrollPageDown",       "scrollPageUp", "scrollFullPageUp", "scrollFullPageDown", -     "reload", "toggleViewSource", "zoomIn", "zoomOut", "zoomReset", "copyCurrentUrl", "linkHints.activateModeToCopyLinkUrl", "goUp", +     "reload", "toggleViewSource", "copyCurrentUrl", "linkHints.activateModeToCopyLinkUrl", "goUp",       "enterInsertMode", "focusInput",       "linkHints.activateMode", "linkHints.activateModeToOpenInNewTab", "linkHints.activateModeWithQueue",       "activateBookmarkFindMode", "activateBookmarkFindModeToOpenInNewTab", @@ -242,5 +235,5 @@ var commandGroups = {  // from Vimium will uncover these gems.  var advancedCommands = [      "scrollToLeft", "scrollToRight", -    "zoomReset", "goUp", "focusInput", "linkHints.activateModeWithQueue", +    "goUp", "focusInput", "linkHints.activateModeWithQueue",      "goPrevious", "goNext"]; diff --git a/helpDialog.html b/helpDialog.html index 51ff1692..5feed105 100644 --- a/helpDialog.html +++ b/helpDialog.html @@ -162,14 +162,7 @@          var advanced = VimiumHelpDialog.dialogElement.getElementsByClassName("advanced");          for (var i = 0; i < advanced.length; i++)            advanced[i].style.display = (visible ? "table-row" : "none"); -      }, - -      centerDialog: function() { -        var zoomFactor = currentZoomLevel / 100.0; -        this.dialogElement.style.top = Math.max( -            (window.innerHeight - this.dialogElement.clientHeight * zoomFactor) / 2.0, -            20) / zoomFactor + "px"; -        } +      }      };      VimiumHelpDialog.init(); diff --git a/linkHints.js b/linkHints.js index f4ffc768..91e77410 100644 --- a/linkHints.js +++ b/linkHints.js @@ -153,10 +153,10 @@ var linkHints = {     * Returns true if element is visible.     */    isVisible: function(element, clientRect) { -    // Exclude links which have just a few pixels on screen, because the link hints won't show for them anyway. -    var zoomFactor = currentZoomLevel / 100.0; -    if (!clientRect || clientRect.top < 0 || clientRect.top * zoomFactor >= window.innerHeight - 4 || -        clientRect.left < 0 || clientRect.left * zoomFactor >= window.innerWidth - 4) +    // Exclude links which have just a few pixels on screen, because the link hints won't show for them +    // anyway. +    if (!clientRect || clientRect.top < 0 || clientRect.top >= window.innerHeight - 4 || +        clientRect.left < 0 || clientRect.left  >= window.innerWidth - 4)        return false;      if (clientRect.width < 3 || clientRect.height < 3) @@ -575,11 +575,8 @@ var hintUtils = {      marker.clickableItem = link.element;      var clientRect = link.rect; -    // The coordinates given by the window do not have the zoom factor included since the zoom is set only on -    // the document node. -    var zoomFactor = currentZoomLevel / 100.0; -    marker.style.left = clientRect.left + window.scrollX / zoomFactor + "px"; -    marker.style.top = clientRect.top  + window.scrollY / zoomFactor + "px"; +    marker.style.left = clientRect.left + window.scrollX + "px"; +    marker.style.top = clientRect.top  + window.scrollY  + "px";      return marker;    } diff --git a/options.html b/options.html index f1194554..7b1d77bc 100644 --- a/options.html +++ b/options.html @@ -81,7 +81,7 @@    $ = function(id) { return document.getElementById(id); };    var defaultSettings = chrome.extension.getBackgroundPage().defaultSettings; -  var editableFields = ["scrollStepSize", "defaultZoomLevel", "excludedUrls", "linkHintCharacters", +  var editableFields = ["scrollStepSize", "excludedUrls", "linkHintCharacters",                          "userDefinedLinkHintCss", "keyMappings", "filterLinkHints"];    var canBeEmptyFields = ["excludedUrls", "keyMappings", "userDefinedLinkHintCss"]; @@ -211,12 +211,6 @@          </td>        </tr>        <tr> -        <td><span class="caption">Default zoom level</span></td> -        <td> -          <input id="defaultZoomLevel" type="text" value="100" style="width:50px" />% -        </td> -      </tr> -      <tr>          <td colspan="3">              Excluded URLs<br/>              <div class="help"> diff --git a/vimiumFrontend.js b/vimiumFrontend.js index 0e3f66e8..4307b481 100644 --- a/vimiumFrontend.js +++ b/vimiumFrontend.js @@ -1,8 +1,8 @@  /*   * This content script takes input from its webpage and executes commands locally on behalf of the background - * page. It must be run prior to domReady so that we perform some operations very early, like setting - * the page's zoom level. We tell the background page that we're in domReady and ready to accept normal - * commands by connectiong to a port named "domReady". + * page. It must be run prior to domReady so that we perform some operations very early. We tell the + * background page that we're in domReady and ready to accept normal commands by connectiong to a port named + * "domReady".   */  var getCurrentUrlHandlers = []; // function(url) @@ -15,7 +15,6 @@ var isShowingHelpDialog = false;  var handlerStack = [];  var keyPort;  var settingPort; -var saveZoomLevelPort;  // Users can disable Vimium on URL patterns via the settings page.  var isEnabledForUrl = true;  // The user's operating system. @@ -23,9 +22,6 @@ var currentCompletionKeys;  var validFirstKeys;  var linkHintCss; -// TODO(philc): This should be pulled from the extension's storage when the page loads. -var currentZoomLevel = 100; -  // The types in <input type="..."> that we consider for focusInput command. Right now this is recalculated in  // each content script. Alternatively we could calculate it once in the background page and use a request to  // fetch it each time. @@ -75,17 +71,13 @@ var hasModifiersRegex = /^<([amc]-)+.>/;  var googleRegex = /:\/\/[^/]*google[^/]+/;  /* - * Complete initialization work that sould be done prior to DOMReady, like setting the page's zoom level. + * Complete initialization work that sould be done prior to DOMReady.   */  function initializePreDomReady() {    settings.load();    checkIfEnabledForUrl(); -  var getZoomLevelPort = chrome.extension.connect({ name: "getZoomLevel" }); -  if (window.self == window.parent) -    getZoomLevelPort.postMessage({ domain: window.location.host }); -    chrome.extension.sendRequest({handler: "getLinkHintCss"}, function (response) {      linkHintCss = response.linkHintCss;    }); @@ -145,12 +137,6 @@ function initializePreDomReady() {        port.onMessage.addListener(function(args) {          if (getCurrentUrlHandlers.length > 0) { getCurrentUrlHandlers.pop()(args.url); }        }); -    } else if (port.name == "returnZoomLevel") { -      port.onMessage.addListener(function(args) { -        currentZoomLevel = args.zoomLevel; -        if (isEnabledForUrl) -          setPageZoomLevel(currentZoomLevel); -      });      } else if (port.name == "returnSetting") {        port.onMessage.addListener(settings.receiveMessage);      } else if (port.name == "refreshCompletionKeys") { @@ -223,47 +209,6 @@ function enterInsertModeIfElementIsFocused() {      enterInsertModeWithoutShowingIndicator(document.activeElement);  } -/* - * Asks the background page to persist the zoom level for the given domain to localStorage. - */ -function saveZoomLevel(domain, zoomLevel) { -  if (!saveZoomLevelPort) -    saveZoomLevelPort = chrome.extension.connect({ name: "saveZoomLevel" }); -  saveZoomLevelPort.postMessage({ domain: domain, zoomLevel: zoomLevel }); -} - -/* - * Zoom in increments of 20%; this matches chrome's CMD+ and CMD- keystrokes. - * Set the zoom style on documentElement because document.body does not exist pre-page load. - */ -function setPageZoomLevel(zoomLevel, showUINotification) { -  document.documentElement.style.zoom = zoomLevel + "%"; -  if (document.body) -    HUD.updatePageZoomLevel(zoomLevel); -  if (showUINotification) -    HUD.showForDuration("Zoom: " + currentZoomLevel + "%", 1000); -} - -function zoomIn() { -  currentZoomLevel += 20; -  setAndSaveZoom(); -} - -function zoomOut() { -  currentZoomLevel -= 20; -  setAndSaveZoom(); -} - -function zoomReset() { -  currentZoomLevel = 100; -  setAndSaveZoom(); -} - -function setAndSaveZoom() { -  setPageZoomLevel(currentZoomLevel, true); -  saveZoomLevel(window.location.host, currentZoomLevel); -} -  function scrollToBottom() { window.scrollTo(window.pageXOffset, document.body.scrollHeight); }  function scrollToTop() { window.scrollTo(window.pageXOffset, 0); }  function scrollToLeft() { window.scrollTo(0, window.pageYOffset); } @@ -853,15 +798,6 @@ HUD = {        function() { HUD.upgradeNotificationElement().style.display = "none"; });    }, -  updatePageZoomLevel: function(pageZoomLevel) { -    // Since the chrome HUD does not scale with the page's zoom level, neither will this HUD. -    var inverseZoomLevel = (100.0 / pageZoomLevel) * 100; -    if (HUD._displayElement) -      HUD.displayElement().style.zoom = inverseZoomLevel + "%"; -    if (HUD._upgradeNotificationElement) -      HUD.upgradeNotificationElement().style.zoom = inverseZoomLevel + "%"; -  }, -    /*     * Retrieves the HUD HTML element.     */ @@ -870,7 +806,6 @@ HUD = {        HUD._displayElement = HUD.createHudElement();        // Keep this far enough to the right so that it doesn't collide with the "popups blocked" chrome HUD.        HUD._displayElement.style.right = "150px"; -      HUD.updatePageZoomLevel(currentZoomLevel);      }      return HUD._displayElement;    }, @@ -880,7 +815,6 @@ HUD = {        HUD._upgradeNotificationElement = HUD.createHudElement();        // Position this just to the left of our normal HUD.        HUD._upgradeNotificationElement.style.right = "315px"; -      HUD.updatePageZoomLevel(currentZoomLevel);      }      return HUD._upgradeNotificationElement;    },  | 
