   if (keyChar == "" && !isInsertMode() &&
      (currentCompletionKeys.indexOf(KeyboardUtils.getKeyChar(event)) != -1 ||
       isValidFirstKey(KeyboardUtils.getKeyChar(event))))
-    # Suppress chrome propagation of this event, but drop through, and continue handler-stack processing.
-    DomUtils.suppressPropagation event
+    DomUtils.suppressPropagation(event)
     KeydownEvents.push event
 
-  return Mode.propagate
+  return true
 
 onKeyup = (event) ->
-  if KeydownEvents.pop event then Mode.suppressPropagation else Mode.propagate
+  DomUtils.suppressPropagation(event) if KeydownEvents.pop event
+  return true
 
 checkIfEnabledForUrl = ->
   url = window.location.toString()

      event.srcElement.blur()
    exitInsertMode()
    DomUtils.suppressEvent event
    KeydownEvents.push event

  else if (findMode)
    if (KeyboardUtils.isEscape(event))
      handleEscapeForFindMode()
      KeydownEvents.push event
      return Mode.suppressPropagation

    else if (event.keyCode == keyCodes.backspace || event.keyCode == keyCodes.deleteKey)
      handleDeleteForFindMode()
      KeydownEvents.push event
      return Mode.suppressPropagation

    else if (event.keyCode == keyCodes.enter)
      handleEnterForFindMode()
      KeydownEvents.push event
      return Mode.suppressPropagation

    else if (!modifiers)
      KeydownEvents.push event
      return Mode.suppressPropagation

  else if (isShowingHelpDialog && KeyboardUtils.isEscape(event))
    hideHelpDialog()
    KeydownEvents.push event
    return Mode.suppressPropagation

  else if (!isInsertMode() && !findMode)
    if (keyChar)
      if (currentCompletionKeys.indexOf(keyChar) != -1 or isValidFirstKey(keyChar))
        KeydownEvents.push event
        keyPort.postMessage({ keyChar:keyChar, frameId:frameId })
        return Mode.suppressPropagation

      keyPort.postMessage({ keyChar:keyChar, frameId:frameId })


    # Enter insert mode when the user enables the native find interface.
    if (keyChar == "f" && KeyboardUtils.isPrimaryModifierKey(event))
      enterInsertModeWithoutShowingIndicator()
      return true

    if (keyChar)
      if (findMode)
        handleKeyCharForFindMode(keyChar)
        DomUtils.suppressEvent(event)
      else if (!isInsertMode() && !findMode)
        if (isPassKey keyChar)
          return handlerStack.passThrough
        if (currentCompletionKeys.indexOf(keyChar) != -1 or isValidFirstKey(keyChar))
          DomUtils.suppressEvent(event)

        keyPort.postMessage({ keyChar:keyChar, frameId:frameId })

  return true

onKeydown = (event) ->
  keyChar = ""
