@samitouri / QOS-React-2 / commits / 426cdbb3ae

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