diff --git a/src/text-editor-component.coffee b/src/text-editor-component.coffee index 022f5fbd5..149c9194d 100644 --- a/src/text-editor-component.coffee +++ b/src/text-editor-component.coffee @@ -93,7 +93,7 @@ TextEditorComponent = React.createClass className += ' is-focused' if focused className += ' has-selection' if hasSelection - div {className, style, tabIndex: -1}, + div {className, style}, if @shouldRenderGutter() GutterComponent { ref: 'gutter', onMouseDown: @onGutterMouseDown, lineDecorations, diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index b75001f8f..b8e0e2fe3 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -110,6 +110,11 @@ class TextEditorElement extends HTMLElement @focusOnAttach = true blurred: (event) -> + unless atom.config.get('editor.useShadowDOM') + if event.relatedTarget is @component?.refs.input.getDOMNode() + event.stopImmediatePropagation() + return + @component?.blurred() addGrammarScopeAttribute: -> diff --git a/src/text-editor-view.coffee b/src/text-editor-view.coffee index e84703067..4fbe487d6 100644 --- a/src/text-editor-view.coffee +++ b/src/text-editor-view.coffee @@ -127,7 +127,7 @@ class TextEditorView extends View Object.defineProperty @::, 'firstRenderedScreenRow', get: -> @component.getRenderedRowRange()[0] Object.defineProperty @::, 'lastRenderedScreenRow', get: -> @component.getRenderedRowRange()[1] Object.defineProperty @::, 'active', get: -> @is(@getPaneView()?.activeView) - Object.defineProperty @::, 'isFocused', get: -> @element is document.activeElement + Object.defineProperty @::, 'isFocused', get: -> document.activeElement is @element or document.activeElement is @element.component?.refs.input.getDOMNode() Object.defineProperty @::, 'mini', get: -> @component?.props.mini Object.defineProperty @::, 'component', get: -> @element?.component