Remove all uses of ExecutionEnvironment.global
Closes #271. All three of these files are DOM-specific so it should be fine to use window. (ReactEventTopLevelCallback isn't obviously DOM-specific but it calls getEventTarget which is so I think we're fine here.) Test Plan: grunt test, tried events in a real browser and they seemed to work still.
Ben Alpert committed
Aug 23, 2013 at 00:40 UTC
426cdbb3aeca313784af25bff8bfb6d7ad7b1b38
5 files changed
+6
-18
src/core/ReactEventTopLevelCallback.js
+1
-2
@@ -19,7 +19,6 @@
19
20
"use strict";
21
22
-var ExecutionEnvironment = require('ExecutionEnvironment');
22
var ReactEventEmitter = require('ReactEventEmitter');
23
var ReactMount = require('ReactMount');
24
@@ -74,7 +73,7 @@ var ReactEventTopLevelCallback = {
73
}
74
var topLevelTarget = ReactMount.getFirstReactDOM(
75
getEventTarget(nativeEvent)
77
- ) || ExecutionEnvironment.global;
76
+ ) || window;
77
var topLevelTargetID = ReactMount.getID(topLevelTarget) || '';
78
ReactEventEmitter.handleTopLevel(
79
topLevelType,
src/dom/getEventTarget.js
+1
-6
@@ -19,8 +19,6 @@
19
20
"use strict";
21
22
-var ExecutionEnvironment = require('ExecutionEnvironment');
23
-
22
/**
23
* Gets the target node from a native browser event by accounting for
24
* inconsistencies in browser DOM APIs.
@@ -29,10 +27,7 @@ var ExecutionEnvironment = require('ExecutionEnvironment');
27
* @return {DOMEventTarget} Target node.
28
*/
29
function getEventTarget(nativeEvent) {
32
- var target =
33
- nativeEvent.target ||
34
- nativeEvent.srcElement ||
35
- ExecutionEnvironment.global;
30
+ var target = nativeEvent.target || nativeEvent.srcElement || window;
31
// Safari may fire events on text nodes (Node.TEXT_NODE is 3).
32
// @see http://www.quirksmode.org/js/events_properties.html
33
return target.nodeType === 3 ? target.parentNode : target;
src/eventPlugins/EnterLeaveEventPlugin.js
+2
-3
@@ -21,7 +21,6 @@
21
22
var EventConstants = require('EventConstants');
23
var EventPropagators = require('EventPropagators');
24
-var ExecutionEnvironment = require('ExecutionEnvironment');
24
var SyntheticMouseEvent = require('SyntheticMouseEvent');
25
26
var ReactMount = require('ReactMount');
@@ -73,9 +72,9 @@ var EnterLeaveEventPlugin = {
72
from = topLevelTarget;
73
to =
74
getFirstReactDOM(nativeEvent.relatedTarget || nativeEvent.toElement) ||
76
- ExecutionEnvironment.global;
75
+ window;
76
} else {
78
- from = ExecutionEnvironment.global;
77
+ from = window;
78
to = topLevelTarget;
79
}
80
src/test/ReactPerf.js
+1
-4
@@ -67,10 +67,7 @@ var ReactPerf = {
67
68
if (__DEV__) {
69
var ExecutionEnvironment = require('ExecutionEnvironment');
70
- var URL = ExecutionEnvironment.global &&
71
- ExecutionEnvironment.global.location &&
72
- ExecutionEnvironment.global.location.href ||
73
- '';
70
+ var URL = ExecutionEnvironment.canUseDOM ? window.location.href : '';
71
ReactPerf.enableMeasure = ReactPerf.enableMeasure ||
72
!!URL.match(/[?&]react_perf\b/);
73
}
src/vendor/core/ExecutionEnvironment.js
+1
-3
@@ -34,9 +34,7 @@ var ExecutionEnvironment = {
34
35
canUseWorkers: typeof Worker !== 'undefined',
36
37
- isInWorker: !canUseDOM, // For now, this is true - might change in the future.
38
-
39
- global: new Function('return this;')()
37
+ isInWorker: !canUseDOM // For now, this is true - might change in the future.
38
39
};
40