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 ?