aboutsummaryrefslogtreecommitdiffstats
path: root/content_scripts/vimium_frontend.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'content_scripts/vimium_frontend.coffee')
-rw-r--r--content_scripts/vimium_frontend.coffee21
1 files changed, 8 insertions, 13 deletions
diff --git a/content_scripts/vimium_frontend.coffee b/content_scripts/vimium_frontend.coffee
index 6db0d830..4f7becba 100644
--- a/content_scripts/vimium_frontend.coffee
+++ b/content_scripts/vimium_frontend.coffee
@@ -174,24 +174,19 @@ window.addEventListener "focus", ->
# Initialization tasks that must wait for the document to be ready.
#
initializeOnDomReady = ->
- registerFrameIfSizeAvailable(window.top == window.self)
+ registerFrame(window.top == window.self)
enterInsertModeIfElementIsFocused() if isEnabledForUrl
# Tell the background page we're in the dom ready state.
chrome.runtime.connect({ name: "domReady" })
-# This is a little hacky but sometimes the size wasn't available on domReady?
-registerFrameIfSizeAvailable = (is_top) ->
- if (innerWidth != undefined && innerWidth != 0 && innerHeight != undefined && innerHeight != 0)
- chrome.runtime.sendMessage(
- handler: "registerFrame"
- frameId: frameId
- area: innerWidth * innerHeight
- is_top: is_top
- total: frames.length + 1)
- else
- setTimeout((-> registerFrameIfSizeAvailable(is_top)), 100)
+registerFrame = (is_top) ->
+ chrome.runtime.sendMessage(
+ handler: "registerFrame"
+ frameId: frameId
+ is_top: is_top
+ total: frames.length + 1)
#
# Enters insert mode if the currently focused element in the DOM is focusable.
@@ -521,7 +516,7 @@ isFocusable = (element) -> isEditable(element) || isEmbed(element)
# Embedded elements like Flash and quicktime players can obtain focus but cannot be programmatically
# unfocused.
#
-isEmbed = (element) -> ["embed", "object"].indexOf(element.nodeName.toLowerCase()) > 0
+isEmbed = (element) -> ["embed", "object"].indexOf(element.nodeName.toLowerCase()) >= 0
#
# Input or text elements are considered focusable and able to receieve their own keyboard events,