diff options
| -rw-r--r-- | content_scripts/mode_insert.coffee | 3 | ||||
| -rw-r--r-- | content_scripts/vimium_frontend.coffee | 1 | ||||
| -rw-r--r-- | lib/dom_utils.coffee | 8 | ||||
| -rw-r--r-- | pages/help_dialog.coffee | 3 | ||||
| -rw-r--r-- | pages/logging.html | 2 | ||||
| -rw-r--r-- | tests/dom_tests/dom_tests.coffee | 5 | 
6 files changed, 8 insertions, 14 deletions
| diff --git a/content_scripts/mode_insert.coffee b/content_scripts/mode_insert.coffee index 93615b8f..9037b05a 100644 --- a/content_scripts/mode_insert.coffee +++ b/content_scripts/mode_insert.coffee @@ -54,8 +54,7 @@ class InsertMode extends Mode          # We can't rely on focus and blur events arriving in the expected order.  When the active element          # changes, we might get "focus" before "blur".  We track the active element in @insertModeLock, and          # exit only when that element blurs. -        # We don't exit if we're running under edit mode.  Edit mode itself will handles that case. -        @exit event, target if @insertModeLock and target == @insertModeLock and not @options.parentMode +        @exit event, target if @insertModeLock and target == @insertModeLock        "focus": (event) => @alwaysContinueBubbling =>          if @insertModeLock != event.target and DomUtils.isFocusable event.target            @activateOnElement event.target diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee index b7e097e1..4cebf4e4 100644 --- a/content_scripts/vimium_frontend.coffee +++ b/content_scripts/vimium_frontend.coffee @@ -649,7 +649,6 @@ followLink = (linkElement) ->      # if we can click on it, don't simply set location.href: some next/prev links are meant to trigger AJAX      # calls, like the 'more' button on GitHub's newsfeed.      linkElement.scrollIntoView() -    linkElement.focus()      DomUtils.simulateClick(linkElement)  # diff --git a/lib/dom_utils.coffee b/lib/dom_utils.coffee index db90c43a..553287af 100644 --- a/lib/dom_utils.coffee +++ b/lib/dom_utils.coffee @@ -171,6 +171,7 @@ DomUtils =    # An unknown type will be treated the same as "text", in the same way that the browser does.    #    isSelectable: (element) -> +    return false unless element instanceof Element      unselectableTypes = ["button", "checkbox", "color", "file", "hidden", "image", "radio", "reset", "submit"]      (element.nodeName.toLowerCase() == "input" && unselectableTypes.indexOf(element.type) == -1) ||          element.nodeName.toLowerCase() == "textarea" || element.isContentEditable @@ -179,12 +180,7 @@ DomUtils =    # enter insert mode if focused. Also note that the "contentEditable" attribute can be set on any element    # which makes it a rich text editor, like the notes on jjot.com.    isEditable: (element) -> -    return true if element.isContentEditable -    nodeName = element.nodeName?.toLowerCase() -    # Use a blacklist instead of a whitelist because new form controls are still being implemented for html5. -    if nodeName == "input" and element.type not in ["radio", "checkbox"] -      return true -    nodeName in ["textarea", "select"] +    (@isSelectable element) or element.nodeName?.toLowerCase() == "select"    # Embedded elements like Flash and quicktime players can obtain focus.    isEmbed: (element) -> diff --git a/pages/help_dialog.coffee b/pages/help_dialog.coffee index 019fba9b..1b9420c3 100644 --- a/pages/help_dialog.coffee +++ b/pages/help_dialog.coffee @@ -38,9 +38,6 @@ HelpDialog =      @showAdvancedCommands(@getShowAdvancedCommands()) -    # Simulating a click on the help dialog makes it the active element for scrolling. -    DomUtils.simulateClick document.getElementById "vimiumHelpDialog" -    hide: -> UIComponentServer.postMessage "hide"    toggle: (html) -> diff --git a/pages/logging.html b/pages/logging.html index b69902b3..78095e4b 100644 --- a/pages/logging.html +++ b/pages/logging.html @@ -1,6 +1,6 @@  <html>    <head> -    <title>Vimium Options</title> +    <title>Vimium Logging</title>      <script src="content_script_loader.js"></script>      <script src="logging.js"></script>      <style type="text/css"> diff --git a/tests/dom_tests/dom_tests.coffee b/tests/dom_tests/dom_tests.coffee index 1d4703c1..8a96913f 100644 --- a/tests/dom_tests/dom_tests.coffee +++ b/tests/dom_tests/dom_tests.coffee @@ -104,7 +104,10 @@ context "Test link hints for focusing input elements correctly",      stubSettings "linkHintCharacters", "ab"      # Every HTML5 input type except for hidden. We should be able to activate all of them with link hints. -    inputTypes = ["button", "checkbox", "color", "date", "datetime", "datetime-local", "email", "file", +    # +    # TODO: Re-insert "color" into the inputTypes list when PhantomJS issue #13979 is fixed and integrated. +    # Ref: https://github.com/ariya/phantomjs/issues/13979, and Vimium #1944. +    inputTypes = ["button", "checkbox", "date", "datetime", "datetime-local", "email", "file",        "image", "month", "number", "password", "radio", "range", "reset", "search", "submit", "tel", "text",        "time", "url", "week"] | 
