react-native-windows 0.72.3 → 0.72.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Microsoft.ReactNative.Managed/packages.lock.json +73 -4
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/Shared/Modules/HttpModule.cpp +10 -23
- package/Shared/Modules/HttpModule.h +0 -1
- package/Shared/Networking/DefaultBlobResource.cpp +6 -1
- package/Shared/Networking/WinRTHttpResource.cpp +9 -0
- package/Shared/OInstance.cpp +19 -36
- package/package.json +1 -1
|
@@ -24,11 +24,21 @@
|
|
|
24
24
|
"Microsoft.SourceLink.Common": "1.0.0"
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
|
+
"boost": {
|
|
28
|
+
"type": "Transitive",
|
|
29
|
+
"resolved": "1.76.0",
|
|
30
|
+
"contentHash": "p+w3YvNdXL8Cu9Fzrmexssu0tZbWxuf6ywsQqHjDlKFE5ojXHof1HIyMC3zDLfLnh80dIeFcEUAuR2Asg/XHRA=="
|
|
31
|
+
},
|
|
27
32
|
"Microsoft.Build.Tasks.Git": {
|
|
28
33
|
"type": "Transitive",
|
|
29
34
|
"resolved": "1.0.0",
|
|
30
35
|
"contentHash": "z2fpmmt+1Jfl+ZnBki9nSP08S1/tbEOxFdsK1rSR+LBehIJz1Xv9/6qOOoGNqlwnAGGVGis1Oj6S8Kt9COEYlQ=="
|
|
31
36
|
},
|
|
37
|
+
"Microsoft.JavaScript.Hermes": {
|
|
38
|
+
"type": "Transitive",
|
|
39
|
+
"resolved": "0.1.15",
|
|
40
|
+
"contentHash": "My/u5RvxoymtwWokoweU6iVpuP79w271UjadcmSNqnQ9ESIv00tlVP4sHnIiN3t2lJNDeciyE1EVF4swGPECKQ=="
|
|
41
|
+
},
|
|
32
42
|
"Microsoft.Net.Native.Compiler": {
|
|
33
43
|
"type": "Transitive",
|
|
34
44
|
"resolved": "2.2.7-rel-27913-00",
|
|
@@ -53,17 +63,35 @@
|
|
|
53
63
|
"Microsoft.NETCore.Platforms": {
|
|
54
64
|
"type": "Transitive",
|
|
55
65
|
"resolved": "2.1.0",
|
|
56
|
-
"contentHash": "
|
|
66
|
+
"contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ=="
|
|
57
67
|
},
|
|
58
68
|
"Microsoft.SourceLink.Common": {
|
|
59
69
|
"type": "Transitive",
|
|
60
70
|
"resolved": "1.0.0",
|
|
61
71
|
"contentHash": "G8DuQY8/DK5NN+3jm5wcMcd9QYD90UV7MiLmdljSJixi3U/vNaeBKmmXUqI4DJCOeWizIUEh4ALhSt58mR+5eg=="
|
|
62
72
|
},
|
|
73
|
+
"Microsoft.UI.Xaml": {
|
|
74
|
+
"type": "Transitive",
|
|
75
|
+
"resolved": "2.8.0",
|
|
76
|
+
"contentHash": "vxdHxTr63s5KVtNddMFpgvjBjUH50z7seq/5jLWmmSuf8poxg+sXrywkofUdE8ZstbpO9y3FL/IXXUcPYbeesA==",
|
|
77
|
+
"dependencies": {
|
|
78
|
+
"Microsoft.Web.WebView2": "1.0.1264.42"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"Microsoft.Web.WebView2": {
|
|
82
|
+
"type": "Transitive",
|
|
83
|
+
"resolved": "1.0.1264.42",
|
|
84
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
85
|
+
},
|
|
86
|
+
"Microsoft.Windows.SDK.BuildTools": {
|
|
87
|
+
"type": "Transitive",
|
|
88
|
+
"resolved": "10.0.22000.194",
|
|
89
|
+
"contentHash": "4L0P3zqut466SIqT3VBeLTNUQTxCBDOrTRymRuROCRJKazcK7ibLz9yAO1nKWRt50ttCj39oAa2Iuz9ZTDmLlg=="
|
|
90
|
+
},
|
|
63
91
|
"NETStandard.Library": {
|
|
64
92
|
"type": "Transitive",
|
|
65
93
|
"resolved": "2.0.3",
|
|
66
|
-
"contentHash": "
|
|
94
|
+
"contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==",
|
|
67
95
|
"dependencies": {
|
|
68
96
|
"Microsoft.NETCore.Platforms": "1.1.0"
|
|
69
97
|
}
|
|
@@ -144,6 +172,7 @@
|
|
|
144
172
|
"folly": {
|
|
145
173
|
"type": "Project",
|
|
146
174
|
"dependencies": {
|
|
175
|
+
"boost": "[1.76.0, )",
|
|
147
176
|
"fmt": "[1.0.0, )"
|
|
148
177
|
}
|
|
149
178
|
},
|
|
@@ -152,13 +181,18 @@
|
|
|
152
181
|
"dependencies": {
|
|
153
182
|
"Common": "[1.0.0, )",
|
|
154
183
|
"Folly": "[1.0.0, )",
|
|
155
|
-
"
|
|
184
|
+
"Microsoft.JavaScript.Hermes": "[0.1.15, )",
|
|
185
|
+
"Microsoft.UI.Xaml": "[2.8.0, )",
|
|
186
|
+
"Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )",
|
|
187
|
+
"ReactCommon": "[1.0.0, )",
|
|
188
|
+
"boost": "[1.76.0, )"
|
|
156
189
|
}
|
|
157
190
|
},
|
|
158
191
|
"reactcommon": {
|
|
159
192
|
"type": "Project",
|
|
160
193
|
"dependencies": {
|
|
161
|
-
"Folly": "[1.0.0, )"
|
|
194
|
+
"Folly": "[1.0.0, )",
|
|
195
|
+
"boost": "[1.76.0, )"
|
|
162
196
|
}
|
|
163
197
|
}
|
|
164
198
|
},
|
|
@@ -176,6 +210,11 @@
|
|
|
176
210
|
"runtime.win10-arm.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
177
211
|
}
|
|
178
212
|
},
|
|
213
|
+
"Microsoft.Web.WebView2": {
|
|
214
|
+
"type": "Transitive",
|
|
215
|
+
"resolved": "1.0.1264.42",
|
|
216
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
217
|
+
},
|
|
179
218
|
"runtime.win10-arm.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
180
219
|
"type": "Transitive",
|
|
181
220
|
"resolved": "6.2.9",
|
|
@@ -196,6 +235,11 @@
|
|
|
196
235
|
"runtime.win10-arm-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
197
236
|
}
|
|
198
237
|
},
|
|
238
|
+
"Microsoft.Web.WebView2": {
|
|
239
|
+
"type": "Transitive",
|
|
240
|
+
"resolved": "1.0.1264.42",
|
|
241
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
242
|
+
},
|
|
199
243
|
"runtime.win10-arm-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
200
244
|
"type": "Transitive",
|
|
201
245
|
"resolved": "6.2.9",
|
|
@@ -216,6 +260,11 @@
|
|
|
216
260
|
"runtime.win10-arm64-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
217
261
|
}
|
|
218
262
|
},
|
|
263
|
+
"Microsoft.Web.WebView2": {
|
|
264
|
+
"type": "Transitive",
|
|
265
|
+
"resolved": "1.0.1264.42",
|
|
266
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
267
|
+
},
|
|
219
268
|
"runtime.win10-arm64-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
220
269
|
"type": "Transitive",
|
|
221
270
|
"resolved": "6.2.9",
|
|
@@ -236,6 +285,11 @@
|
|
|
236
285
|
"runtime.win10-x64.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
237
286
|
}
|
|
238
287
|
},
|
|
288
|
+
"Microsoft.Web.WebView2": {
|
|
289
|
+
"type": "Transitive",
|
|
290
|
+
"resolved": "1.0.1264.42",
|
|
291
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
292
|
+
},
|
|
239
293
|
"runtime.win10-x64.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
240
294
|
"type": "Transitive",
|
|
241
295
|
"resolved": "6.2.9",
|
|
@@ -256,6 +310,11 @@
|
|
|
256
310
|
"runtime.win10-x64-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
257
311
|
}
|
|
258
312
|
},
|
|
313
|
+
"Microsoft.Web.WebView2": {
|
|
314
|
+
"type": "Transitive",
|
|
315
|
+
"resolved": "1.0.1264.42",
|
|
316
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
317
|
+
},
|
|
259
318
|
"runtime.win10-x64-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
260
319
|
"type": "Transitive",
|
|
261
320
|
"resolved": "6.2.9",
|
|
@@ -276,6 +335,11 @@
|
|
|
276
335
|
"runtime.win10-x86.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
277
336
|
}
|
|
278
337
|
},
|
|
338
|
+
"Microsoft.Web.WebView2": {
|
|
339
|
+
"type": "Transitive",
|
|
340
|
+
"resolved": "1.0.1264.42",
|
|
341
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
342
|
+
},
|
|
279
343
|
"runtime.win10-x86.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
280
344
|
"type": "Transitive",
|
|
281
345
|
"resolved": "6.2.9",
|
|
@@ -296,6 +360,11 @@
|
|
|
296
360
|
"runtime.win10-x86-aot.Microsoft.NETCore.UniversalWindowsPlatform": "6.2.9"
|
|
297
361
|
}
|
|
298
362
|
},
|
|
363
|
+
"Microsoft.Web.WebView2": {
|
|
364
|
+
"type": "Transitive",
|
|
365
|
+
"resolved": "1.0.1264.42",
|
|
366
|
+
"contentHash": "7OBUTkzQ5VI/3gb0ufi5U4zjuCowAJwQg2li0zXXzqkM+S1kmOlivTy1R4jAW+gY5Vyg510M+qMAESCQUjrfgA=="
|
|
367
|
+
},
|
|
299
368
|
"runtime.win10-x86-aot.Microsoft.NETCore.UniversalWindowsPlatform": {
|
|
300
369
|
"type": "Transitive",
|
|
301
370
|
"resolved": "6.2.9",
|
|
@@ -10,11 +10,11 @@
|
|
|
10
10
|
-->
|
|
11
11
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
12
12
|
<PropertyGroup>
|
|
13
|
-
<ReactNativeWindowsVersion>0.72.
|
|
13
|
+
<ReactNativeWindowsVersion>0.72.5</ReactNativeWindowsVersion>
|
|
14
14
|
<ReactNativeWindowsMajor>0</ReactNativeWindowsMajor>
|
|
15
15
|
<ReactNativeWindowsMinor>72</ReactNativeWindowsMinor>
|
|
16
|
-
<ReactNativeWindowsPatch>
|
|
16
|
+
<ReactNativeWindowsPatch>5</ReactNativeWindowsPatch>
|
|
17
17
|
<ReactNativeWindowsCanary>false</ReactNativeWindowsCanary>
|
|
18
|
-
<ReactNativeWindowsCommitId>
|
|
18
|
+
<ReactNativeWindowsCommitId>6b90857aa8bfcba0b1a5f771c31b089c8dde9a5a</ReactNativeWindowsCommitId>
|
|
19
19
|
</PropertyGroup>
|
|
20
20
|
</Project>
|
|
@@ -237,6 +237,8 @@ std::map<string, dynamic> HttpModule::getConstants() {
|
|
|
237
237
|
|
|
238
238
|
// clang-format off
|
|
239
239
|
std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods() {
|
|
240
|
+
// See CxxNativeModule::lazyInit()
|
|
241
|
+
SetUpHttpResource(m_resource, getInstance(), m_inspectableProperties);
|
|
240
242
|
|
|
241
243
|
return
|
|
242
244
|
{
|
|
@@ -249,12 +251,6 @@ std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods()
|
|
|
249
251
|
return;
|
|
250
252
|
}
|
|
251
253
|
|
|
252
|
-
auto resource = holder->Module->m_resource;
|
|
253
|
-
if (!holder->Module->m_isResourceSetup)
|
|
254
|
-
{
|
|
255
|
-
SetUpHttpResource(resource, holder->Module->getInstance(), holder->Module->m_inspectableProperties);
|
|
256
|
-
holder->Module->m_isResourceSetup = true;
|
|
257
|
-
}
|
|
258
254
|
holder->Module->m_requestId++;
|
|
259
255
|
|
|
260
256
|
auto params = facebook::xplat::jsArgAsObject(args, 0);
|
|
@@ -263,7 +259,7 @@ std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods()
|
|
|
263
259
|
headers.emplace(header.first.getString(), header.second.getString());
|
|
264
260
|
}
|
|
265
261
|
|
|
266
|
-
|
|
262
|
+
holder->Module->m_resource->SendRequest(
|
|
267
263
|
params["method"].asString(),
|
|
268
264
|
params["url"].asString(),
|
|
269
265
|
holder->Module->m_requestId,
|
|
@@ -289,14 +285,7 @@ std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods()
|
|
|
289
285
|
return;
|
|
290
286
|
}
|
|
291
287
|
|
|
292
|
-
|
|
293
|
-
if (!holder->Module->m_isResourceSetup)
|
|
294
|
-
{
|
|
295
|
-
SetUpHttpResource(resource, holder->Module->getInstance(), holder->Module->m_inspectableProperties);
|
|
296
|
-
holder->Module->m_isResourceSetup = true;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
resource->AbortRequest(facebook::xplat::jsArgAsInt(args, 0));
|
|
288
|
+
holder->Module->m_resource->AbortRequest(facebook::xplat::jsArgAsInt(args, 0));
|
|
300
289
|
}
|
|
301
290
|
},
|
|
302
291
|
{
|
|
@@ -309,14 +298,7 @@ std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods()
|
|
|
309
298
|
return;
|
|
310
299
|
}
|
|
311
300
|
|
|
312
|
-
|
|
313
|
-
if (!holder->Module->m_isResourceSetup)
|
|
314
|
-
{
|
|
315
|
-
SetUpHttpResource(resource, holder->Module->getInstance(), holder->Module->m_inspectableProperties);
|
|
316
|
-
holder->Module->m_isResourceSetup = true;
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
resource->ClearCookies();
|
|
301
|
+
holder->Module->m_resource->ClearCookies();
|
|
320
302
|
}
|
|
321
303
|
}
|
|
322
304
|
};
|
|
@@ -331,6 +313,11 @@ std::vector<facebook::xplat::module::CxxModule::Method> HttpModule::getMethods()
|
|
|
331
313
|
return s_moduleName;
|
|
332
314
|
}
|
|
333
315
|
|
|
316
|
+
/*extern*/ std::unique_ptr<facebook::xplat::module::CxxModule> CreateHttpModule(
|
|
317
|
+
IInspectable const &inspectableProperties) noexcept {
|
|
318
|
+
return std::make_unique<HttpModule>(inspectableProperties);
|
|
319
|
+
}
|
|
320
|
+
|
|
334
321
|
/*extern*/ const wchar_t *GetHttpTurboModuleName() noexcept {
|
|
335
322
|
return s_moduleNameW;
|
|
336
323
|
}
|
|
@@ -84,7 +84,6 @@ class HttpModule : public facebook::xplat::module::CxxModule {
|
|
|
84
84
|
|
|
85
85
|
std::shared_ptr<Networking::IHttpResource> m_resource;
|
|
86
86
|
std::shared_ptr<ModuleHolder> m_holder;
|
|
87
|
-
bool m_isResourceSetup{false};
|
|
88
87
|
int64_t m_requestId{0};
|
|
89
88
|
|
|
90
89
|
// Property bag high level reference.
|
|
@@ -145,8 +145,13 @@ void DefaultBlobResource::AddNetworkingHandler() noexcept /*override*/ {
|
|
|
145
145
|
httpHandler->AddRequestBodyHandler(m_requestBodyHandler);
|
|
146
146
|
httpHandler->AddResponseHandler(m_responseHandler);
|
|
147
147
|
}
|
|
148
|
+
} else {
|
|
149
|
+
// #11439 - The absence of HttpModule.Proxy may be caused by a module initialization race condition.
|
|
150
|
+
// Best-effort approach to set up the request/response handlers by exposing this interface to dependents
|
|
151
|
+
// (i.e. IHttpResource).
|
|
152
|
+
auto propId = msrn::ReactPropertyId<msrn::ReactNonAbiValue<weak_ptr<IBlobResource>>>{L"Blob.Resource"};
|
|
153
|
+
m_propertyBag.Set(propId, weak_ptr<IBlobResource>(shared_from_this()));
|
|
148
154
|
}
|
|
149
|
-
// TODO: else emit error?
|
|
150
155
|
}
|
|
151
156
|
|
|
152
157
|
void DefaultBlobResource::AddWebSocketHandler(int64_t id) noexcept /*override*/ {
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
#include "WinRTHttpResource.h"
|
|
7
7
|
|
|
8
8
|
#include <CppRuntimeOptions.h>
|
|
9
|
+
#include <Networking/IBlobResource.h>
|
|
9
10
|
#include <ReactPropertyBag.h>
|
|
10
11
|
#include <Utils/CppWinrtLessExceptions.h>
|
|
11
12
|
#include <Utils/WinRTConversions.h>
|
|
@@ -672,6 +673,14 @@ void WinRTHttpResource::AddResponseHandler(shared_ptr<IResponseHandler> response
|
|
|
672
673
|
auto propBag = ReactPropertyBag{inspectableProperties.try_as<IReactPropertyBag>()};
|
|
673
674
|
auto moduleProxy = weak_ptr<IHttpModuleProxy>{result};
|
|
674
675
|
propBag.Set(propId, std::move(moduleProxy));
|
|
676
|
+
|
|
677
|
+
// #11439 - Best-effort attempt to set up the HTTP handler after an initial call to addNetworkingHandler failed.
|
|
678
|
+
auto blobRcPropId = ReactPropertyId<ReactNonAbiValue<weak_ptr<Networking::IBlobResource>>>{L"Blob.Resource"};
|
|
679
|
+
if (auto prop = propBag.Get(blobRcPropId)) {
|
|
680
|
+
if (auto blobRc = prop.Value().lock()) {
|
|
681
|
+
blobRc->AddNetworkingHandler();
|
|
682
|
+
}
|
|
683
|
+
}
|
|
675
684
|
}
|
|
676
685
|
|
|
677
686
|
return result;
|
package/Shared/OInstance.cpp
CHANGED
|
@@ -26,7 +26,6 @@
|
|
|
26
26
|
#include <cxxreact/ModuleRegistry.h>
|
|
27
27
|
|
|
28
28
|
#include <Modules/ExceptionsManagerModule.h>
|
|
29
|
-
#include <Modules/HttpModule.h>
|
|
30
29
|
#include <Modules/PlatformConstantsModule.h>
|
|
31
30
|
#include <Modules/SourceCodeModule.h>
|
|
32
31
|
#include <Modules/StatusBarManagerModule.h>
|
|
@@ -68,15 +67,6 @@ using namespace Microsoft::JSI;
|
|
|
68
67
|
using std::make_shared;
|
|
69
68
|
using winrt::Microsoft::ReactNative::ReactPropertyBagHelper;
|
|
70
69
|
|
|
71
|
-
namespace Microsoft::React {
|
|
72
|
-
|
|
73
|
-
/*extern*/ std::unique_ptr<facebook::xplat::module::CxxModule> CreateHttpModule(
|
|
74
|
-
winrt::Windows::Foundation::IInspectable const &inspectableProperties) noexcept {
|
|
75
|
-
return std::make_unique<HttpModule>(inspectableProperties);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
} // namespace Microsoft::React
|
|
79
|
-
|
|
80
70
|
namespace facebook {
|
|
81
71
|
namespace react {
|
|
82
72
|
|
|
@@ -543,6 +533,10 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
|
|
|
543
533
|
std::vector<std::unique_ptr<NativeModule>> modules;
|
|
544
534
|
auto transitionalProps{ReactPropertyBagHelper::CreatePropertyBag()};
|
|
545
535
|
|
|
536
|
+
// These modules are instantiated separately in MSRN (Universal Windows).
|
|
537
|
+
// When there are module name collisions, the last one registered is used.
|
|
538
|
+
// If this code is enabled, we will have unused module instances.
|
|
539
|
+
// Also, MSRN has a different property bag mechanism incompatible with this method's transitionalProps variable.
|
|
546
540
|
#if (defined(_MSC_VER) && !defined(WINRT))
|
|
547
541
|
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
548
542
|
m_innerInstance,
|
|
@@ -551,7 +545,6 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
|
|
|
551
545
|
return Microsoft::React::CreateHttpModule(transitionalProps);
|
|
552
546
|
},
|
|
553
547
|
nativeQueue));
|
|
554
|
-
#endif
|
|
555
548
|
|
|
556
549
|
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
557
550
|
m_innerInstance,
|
|
@@ -561,11 +554,21 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
|
|
|
561
554
|
},
|
|
562
555
|
nativeQueue));
|
|
563
556
|
|
|
564
|
-
//
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
557
|
+
// Use in case the host app provides its a non-Blob-compatilbe HTTP module.
|
|
558
|
+
if (!Microsoft::React::GetRuntimeOptionBool("Blob.DisableModule")) {
|
|
559
|
+
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
560
|
+
m_innerInstance,
|
|
561
|
+
Microsoft::React::GetBlobModuleName(),
|
|
562
|
+
[transitionalProps]() { return Microsoft::React::CreateBlobModule(transitionalProps); },
|
|
563
|
+
nativeQueue));
|
|
564
|
+
|
|
565
|
+
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
566
|
+
m_innerInstance,
|
|
567
|
+
Microsoft::React::GetFileReaderModuleName(),
|
|
568
|
+
[transitionalProps]() { return Microsoft::React::CreateFileReaderModule(transitionalProps); },
|
|
569
|
+
nativeQueue));
|
|
570
|
+
}
|
|
571
|
+
|
|
569
572
|
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
570
573
|
m_innerInstance,
|
|
571
574
|
"Timing",
|
|
@@ -620,26 +623,6 @@ std::vector<std::unique_ptr<NativeModule>> InstanceImpl::GetDefaultNativeModules
|
|
|
620
623
|
[]() { return std::make_unique<StatusBarManagerModule>(); },
|
|
621
624
|
nativeQueue));
|
|
622
625
|
|
|
623
|
-
// These modules are instantiated separately in MSRN (Universal Windows).
|
|
624
|
-
// When there are module name colisions, the last one registered is used.
|
|
625
|
-
// If this code is enabled, we will have unused module instances.
|
|
626
|
-
// Also, MSRN has a different property bag mechanism incompatible with this method's transitionalProps variable.
|
|
627
|
-
#if (defined(_MSC_VER) && !defined(WINRT))
|
|
628
|
-
if (Microsoft::React::GetRuntimeOptionBool("Blob.EnableModule")) {
|
|
629
|
-
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
630
|
-
m_innerInstance,
|
|
631
|
-
Microsoft::React::GetBlobModuleName(),
|
|
632
|
-
[transitionalProps]() { return Microsoft::React::CreateBlobModule(transitionalProps); },
|
|
633
|
-
nativeQueue));
|
|
634
|
-
|
|
635
|
-
modules.push_back(std::make_unique<CxxNativeModule>(
|
|
636
|
-
m_innerInstance,
|
|
637
|
-
Microsoft::React::GetFileReaderModuleName(),
|
|
638
|
-
[transitionalProps]() { return Microsoft::React::CreateFileReaderModule(transitionalProps); },
|
|
639
|
-
nativeQueue));
|
|
640
|
-
}
|
|
641
|
-
#endif
|
|
642
|
-
|
|
643
626
|
return modules;
|
|
644
627
|
}
|
|
645
628
|
|