@samitouri / QOS-React / commits / 6e04bd758e

Apply @spicyj's SelectEventPlugin fix

This fixes some tests with Fiber since we no longer rely on Stack internals for this.

Sebastian Markbage committed Nov 18, 2016 at 15:20 UTC 6e04bd758ed7a28ebdfbf544f6db9065340392e1
1 file changed +7 -10
src/renderers/dom/shared/eventPlugins/SelectEventPlugin.js
+7 -10
@@ -22,9 +22,6 @@ var getActiveElement = require('getActiveElement');
22 var isTextInputElement = require('isTextInputElement');
23 var shallowEqual = require('shallowEqual');
24
25 -// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).
26 -var DOC_FRAGMENT_TYPE = 11;
27 -
25 var skipSelectionChangeEvent = (
26 ExecutionEnvironment.canUseDOM &&
27 'documentMode' in document &&
@@ -159,13 +156,13 @@ var SelectEventPlugin = {
156 nativeEvent,
157 nativeEventTarget
158 ) {
162 - if (targetInst) {
163 - var containerInfo = targetInst._hostContainerInfo;
164 - var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;
165 - var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;
166 - if (!isListeningToAllDependencies('onSelect', doc)) {
167 - return null;
168 - }
159 + var doc = nativeEventTarget.window === nativeEventTarget ?
160 + nativeEventTarget.document :
161 + nativeEventTarget.nodeType === 9 ?
162 + nativeEventTarget :
163 + nativeEventTarget.ownerDocument;
164 + if (!doc || !isListeningToAllDependencies('onSelect', doc)) {
165 + return null;
166 }
167
168 var targetNode = targetInst ?