@@ -11,12 +11,31 @@ import type {Dispatcher} from 'react-reconciler/src/ReactInternalTypes';
11
11
import type { CacheDispatcher } from 'react-reconciler/src/ReactInternalTypes' ;
12
12
import type { ReactComponentInfo } from 'shared/ReactTypes' ;
13
13
14
- import { disableStringRefs } from 'shared/ReactFeatureFlags' ;
14
+ import type {
15
+ Reference ,
16
+ TaintEntry ,
17
+ RequestCleanupQueue ,
18
+ } from './ReactTaintRegistry' ;
19
+
20
+ import {
21
+ TaintRegistryObjects ,
22
+ TaintRegistryValues ,
23
+ TaintRegistryByteLengths ,
24
+ TaintRegistryPendingRequests ,
25
+ } from './ReactTaintRegistry' ;
26
+
27
+ import { disableStringRefs , enableTaint } from 'shared/ReactFeatureFlags' ;
15
28
16
29
export type SharedStateServer = {
17
30
H : null | Dispatcher , // ReactCurrentDispatcher for Hooks
18
31
C : null | CacheDispatcher , // ReactCurrentCache for Cache
19
32
33
+ // enableTaint
34
+ TaintRegistryObjects : WeakMap < Reference , string> ,
35
+ TaintRegistryValues : Map < string | bigint , TaintEntry> ,
36
+ TaintRegistryByteLengths : Set < number > ,
37
+ TaintRegistryPendingRequests : Set < RequestCleanupQueue > ,
38
+
20
39
// DEV-only-ish
21
40
owner : null | ReactComponentInfo , // ReactCurrentOwner is ReactComponentInfo in Flight, null in Fizz. Fiber/Fizz uses SharedStateClient.
22
41
@@ -33,6 +52,14 @@ const ReactSharedInternals: SharedStateServer = ({
33
52
C : null ,
34
53
} : any ) ;
35
54
55
+ if ( enableTaint ) {
56
+ ReactSharedInternals . TaintRegistryObjects = TaintRegistryObjects ;
57
+ ReactSharedInternals . TaintRegistryValues = TaintRegistryValues ;
58
+ ReactSharedInternals . TaintRegistryByteLengths = TaintRegistryByteLengths ;
59
+ ReactSharedInternals . TaintRegistryPendingRequests =
60
+ TaintRegistryPendingRequests ;
61
+ }
62
+
36
63
if ( __DEV__ || ! disableStringRefs ) {
37
64
ReactSharedInternals . owner = null ;
38
65
}
0 commit comments