@samitouri / QOS-React-2 / commits / 8d08f3f00a

Wrap insertBefore in Windows 8 apps

Andreww8xx8 committed Feb 18, 2016 at 06:04 UTC 8d08f3f00aa2a09536f396b4527881112c3728b1
2 files changed +20 -2
src/renderers/dom/client/utils/DOMChildrenOperations.js
+10 -1
@@ -9,6 +9,8 @@
9 * @providesModule DOMChildrenOperations
10 */
11
12 +/* globals MSApp */
13 +
14 'use strict';
15
16 var DOMLazyTree = require('DOMLazyTree');
@@ -35,7 +37,14 @@ function insertChildAt(parentNode, childNode, referenceNode) {
37 // We rely exclusively on `insertBefore(node, null)` instead of also using
38 // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so
39 // we are careful to use `null`.)
38 - parentNode.insertBefore(childNode, referenceNode);
40 +
41 + if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
42 + MSApp.execUnsafeLocalFunction(function() {
43 + parentNode.insertBefore(childNode, referenceNode);
44 + });
45 + } else {
46 + parentNode.insertBefore(childNode, referenceNode);
47 + }
48 }
49
50 function insertLazyTreeChildAt(parentNode, childTree, referenceNode) {
src/renderers/dom/client/utils/DOMLazyTree.js
+10 -1
@@ -9,6 +9,8 @@
9 * @providesModule DOMLazyTree
10 */
11
12 +/* globals MSApp */
13 +
14 'use strict';
15
16 var setTextContent = require('setTextContent');
@@ -51,7 +53,14 @@ function insertTreeChildren(tree) {
53 }
54
55 function insertTreeBefore(parentNode, tree, referenceNode) {
54 - parentNode.insertBefore(tree.node, referenceNode);
56 + if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
57 + MSApp.execUnsafeLocalFunction(function() {
58 + parentNode.insertBefore(tree.node, referenceNode);
59 + });
60 + } else {
61 + parentNode.insertBefore(tree.node, referenceNode);
62 + }
63 +
64 insertTreeChildren(tree);
65 }
66