@samitouri / QOS-React-2 / commits / 58fae896fe

Fix full-page rendering

Closes #337. Test Plan: Opened react-page sample without any JS errors. Also ran grunt test after cherry-picking this changeset on top of #338.

Ben Alpert committed Sep 10, 2013 at 22:54 UTC 58fae896fe60647b537e20e7f2281e0c377d59f0
1 file changed +11 -5
src/core/ReactMount.js
+11 -5
@@ -28,6 +28,9 @@ var SEPARATOR = ReactInstanceHandles.SEPARATOR;
28 var ATTR_NAME = 'data-reactid';
29 var nodeCache = {};
30
31 +var ELEMENT_NODE_TYPE = 1;
32 +var DOC_NODE_TYPE = 9;
33 +
34 var $ = require('$');
35
36 /** Mapping from reactRootID to React component instance. */
@@ -235,13 +238,16 @@ var ReactMount = {
238 */
239 prepareEnvironmentForDOM: function(container) {
240 invariant(
238 - container && container.nodeType === 1,
241 + container && (
242 + container.nodeType === ELEMENT_NODE_TYPE ||
243 + container.nodeType === DOC_NODE_TYPE
244 + ),
245 'prepareEnvironmentForDOM(...): Target container is not a DOM element.'
246 );
241 - ReactEventEmitter.ensureListening(
242 - ReactMount.useTouchEvents,
243 - container.ownerDocument
244 - );
247 + var doc = container.nodeType === ELEMENT_NODE_TYPE ?
248 + container.ownerDocument :
249 + container;
250 + ReactEventEmitter.ensureListening(ReactMount.useTouchEvents, doc);
251 },
252
253 /**