From 6e04bd758ed7a28ebdfbf544f6db9065340392e1 Mon Sep 17 00:00:00 2001 From: Sebastian Markbage Date: Fri, 18 Nov 2016 15:20:37 +0000 Subject: [PATCH] Apply @spicyj's SelectEventPlugin fix This fixes some tests with Fiber since we no longer rely on Stack internals for this. --- .../shared/eventPlugins/SelectEventPlugin.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/src/renderers/dom/shared/eventPlugins/SelectEventPlugin.js b/src/renderers/dom/shared/eventPlugins/SelectEventPlugin.js index 2a85508fda..831391dd44 100644 --- a/src/renderers/dom/shared/eventPlugins/SelectEventPlugin.js +++ b/src/renderers/dom/shared/eventPlugins/SelectEventPlugin.js @@ -22,9 +22,6 @@ var getActiveElement = require('getActiveElement'); var isTextInputElement = require('isTextInputElement'); var shallowEqual = require('shallowEqual'); -// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE). -var DOC_FRAGMENT_TYPE = 11; - var skipSelectionChangeEvent = ( ExecutionEnvironment.canUseDOM && 'documentMode' in document && @@ -159,13 +156,13 @@ var SelectEventPlugin = { nativeEvent, nativeEventTarget ) { - if (targetInst) { - var containerInfo = targetInst._hostContainerInfo; - var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE; - var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument; - if (!isListeningToAllDependencies('onSelect', doc)) { - return null; - } + var doc = nativeEventTarget.window === nativeEventTarget ? + nativeEventTarget.document : + nativeEventTarget.nodeType === 9 ? + nativeEventTarget : + nativeEventTarget.ownerDocument; + if (!doc || !isListeningToAllDependencies('onSelect', doc)) { + return null; } var targetNode = targetInst ?