소스 검색

Merge branch 'master' into fix-onscroll-event-type

Nizomiddin Toshpulatov 4 년 전
부모
커밋
676b013f29
No account linked to committer's email address
6개의 변경된 파일92개의 추가작업 그리고 55개의 파일을 삭제
  1. 1
    0
      apple/RNCWebView.h
  2. 10
    2
      apple/RNCWebView.m
  3. 1
    0
      apple/RNCWebViewManager.m
  4. 71
    52
      docs/Reference.md
  5. 1
    1
      package.json
  6. 8
    0
      src/WebViewTypes.ts

+ 1
- 0
apple/RNCWebView.h 파일 보기

35
 @property (nonatomic, assign) BOOL injectedJavaScriptBeforeContentLoadedForMainFrameOnly;
35
 @property (nonatomic, assign) BOOL injectedJavaScriptBeforeContentLoadedForMainFrameOnly;
36
 @property (nonatomic, assign) BOOL scrollEnabled;
36
 @property (nonatomic, assign) BOOL scrollEnabled;
37
 @property (nonatomic, assign) BOOL sharedCookiesEnabled;
37
 @property (nonatomic, assign) BOOL sharedCookiesEnabled;
38
+@property (nonatomic, assign) BOOL autoManageStatusBarEnabled;
38
 @property (nonatomic, assign) BOOL pagingEnabled;
39
 @property (nonatomic, assign) BOOL pagingEnabled;
39
 @property (nonatomic, assign) CGFloat decelerationRate;
40
 @property (nonatomic, assign) CGFloat decelerationRate;
40
 @property (nonatomic, assign) BOOL allowsInlineMediaPlayback;
41
 @property (nonatomic, assign) BOOL allowsInlineMediaPlayback;

+ 10
- 2
apple/RNCWebView.m 파일 보기

125
     _showsVerticalScrollIndicator = YES;
125
     _showsVerticalScrollIndicator = YES;
126
     _directionalLockEnabled = YES;
126
     _directionalLockEnabled = YES;
127
     _automaticallyAdjustContentInsets = YES;
127
     _automaticallyAdjustContentInsets = YES;
128
+    _autoManageStatusBarEnabled = YES;
128
     _contentInset = UIEdgeInsetsZero;
129
     _contentInset = UIEdgeInsetsZero;
129
     _savedKeyboardDisplayRequiresUserAction = YES;
130
     _savedKeyboardDisplayRequiresUserAction = YES;
130
     #if !TARGET_OS_OSX
131
     #if !TARGET_OS_OSX
335
 -(void)showFullScreenVideoStatusBars
336
 -(void)showFullScreenVideoStatusBars
336
 {
337
 {
337
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
338
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
339
+    if (!_autoManageStatusBarEnabled) {
340
+      return;
341
+    }
342
+
338
     _isFullScreenVideoOpen = YES;
343
     _isFullScreenVideoOpen = YES;
339
     RCTUnsafeExecuteOnMainQueueSync(^{
344
     RCTUnsafeExecuteOnMainQueueSync(^{
340
-      [RCTSharedApplication() setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
345
+      [RCTSharedApplication() setStatusBarStyle:self->_savedStatusBarStyle animated:YES];
341
     });
346
     });
342
 #pragma clang diagnostic pop
347
 #pragma clang diagnostic pop
343
 }
348
 }
345
 -(void)hideFullScreenVideoStatusBars
350
 -(void)hideFullScreenVideoStatusBars
346
 {
351
 {
347
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
352
 #pragma clang diagnostic ignored "-Wdeprecated-declarations"
353
+    if (!_autoManageStatusBarEnabled) {
354
+      return;
355
+    }
356
+
348
     _isFullScreenVideoOpen = NO;
357
     _isFullScreenVideoOpen = NO;
349
     RCTUnsafeExecuteOnMainQueueSync(^{
358
     RCTUnsafeExecuteOnMainQueueSync(^{
350
       [RCTSharedApplication() setStatusBarHidden:self->_savedStatusBarHidden animated:YES];
359
       [RCTSharedApplication() setStatusBarHidden:self->_savedStatusBarHidden animated:YES];
1375
 }
1384
 }
1376
 
1385
 
1377
 @end
1386
 @end
1378
-

+ 1
- 0
apple/RNCWebViewManager.m 파일 보기

66
 #endif
66
 #endif
67
 RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets)
67
 RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets)
68
 RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustContentInsets, BOOL)
68
 RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustContentInsets, BOOL)
69
+RCT_EXPORT_VIEW_PROPERTY(autoManageStatusBarEnabled, BOOL)
69
 RCT_EXPORT_VIEW_PROPERTY(hideKeyboardAccessoryView, BOOL)
70
 RCT_EXPORT_VIEW_PROPERTY(hideKeyboardAccessoryView, BOOL)
70
 RCT_EXPORT_VIEW_PROPERTY(allowsBackForwardNavigationGestures, BOOL)
71
 RCT_EXPORT_VIEW_PROPERTY(allowsBackForwardNavigationGestures, BOOL)
71
 RCT_EXPORT_VIEW_PROPERTY(incognito, BOOL)
72
 RCT_EXPORT_VIEW_PROPERTY(incognito, BOOL)

+ 71
- 52
docs/Reference.md 파일 보기

72
 - [`pullToRefreshEnabled`](Reference.md#pullToRefreshEnabled)
72
 - [`pullToRefreshEnabled`](Reference.md#pullToRefreshEnabled)
73
 - [`ignoreSilentHardwareSwitch`](Reference.md#ignoreSilentHardwareSwitch)
73
 - [`ignoreSilentHardwareSwitch`](Reference.md#ignoreSilentHardwareSwitch)
74
 - [`onFileDownload`](Reference.md#onFileDownload)
74
 - [`onFileDownload`](Reference.md#onFileDownload)
75
+- [`autoManageStatusBarEnabled`](Reference.md#autoManageStatusBarEnabled)
75
 
76
 
76
 ## Methods Index
77
 ## Methods Index
77
 
78
 
137
 
138
 
138
 On iOS, see [`WKUserScriptInjectionTimeAtDocumentEnd`](https://developer.apple.com/documentation/webkit/wkuserscriptinjectiontime/wkuserscriptinjectiontimeatdocumentend?language=objc)
139
 On iOS, see [`WKUserScriptInjectionTimeAtDocumentEnd`](https://developer.apple.com/documentation/webkit/wkuserscriptinjectiontime/wkuserscriptinjectiontimeatdocumentend?language=objc)
139
 
140
 
140
-| Type   | Required | Platform |
141
-| ------ | -------- | -------- |
142
-| string | No       | iOS, Android, macOS
141
+| Type   | Required | Platform            |
142
+| ------ | -------- | ------------------- |
143
+| string | No       | iOS, Android, macOS |
143
 
144
 
144
 To learn more, read the [Communicating between JS and Native](Guide.md#communicating-between-js-and-native) guide.
145
 To learn more, read the [Communicating between JS and Native](Guide.md#communicating-between-js-and-native) guide.
145
 
146
 
169
 
170
 
170
 On iOS, see [`WKUserScriptInjectionTimeAtDocumentStart`](https://developer.apple.com/documentation/webkit/wkuserscriptinjectiontime/wkuserscriptinjectiontimeatdocumentstart?language=objc)
171
 On iOS, see [`WKUserScriptInjectionTimeAtDocumentStart`](https://developer.apple.com/documentation/webkit/wkuserscriptinjectiontime/wkuserscriptinjectiontimeatdocumentstart?language=objc)
171
 
172
 
172
-| Type   | Required | Platform |
173
-| ------ | -------- | -------- |
173
+| Type   | Required | Platform   |
174
+| ------ | -------- | ---------- |
174
 | string | No       | iOS, macOS |
175
 | string | No       | iOS, macOS |
175
 
176
 
176
 To learn more, read the [Communicating between JS and Native](Guide.md#communicating-between-js-and-native) guide.
177
 To learn more, read the [Communicating between JS and Native](Guide.md#communicating-between-js-and-native) guide.
177
 
178
 
178
 Example:
179
 Example:
179
 
180
 
180
-Post message a JSON object of `window.location` to be handled by [`onMessage`](Reference.md#onmessage). `window.ReactNativeWebView.postMessage` *will* be available at this time.
181
+Post message a JSON object of `window.location` to be handled by [`onMessage`](Reference.md#onmessage). `window.ReactNativeWebView.postMessage` _will_ be available at this time.
181
 
182
 
182
 ```jsx
183
 ```jsx
183
 const INJECTED_JAVASCRIPT = `(function() {
184
 const INJECTED_JAVASCRIPT = `(function() {
199
 
200
 
200
 If `false`, (only supported on iOS and macOS), loads it into all frames (e.g. iframes).
201
 If `false`, (only supported on iOS and macOS), loads it into all frames (e.g. iframes).
201
 
202
 
202
-| Type   | Required | Platform |
203
-| ------ | -------- | -------- |
203
+| Type | Required | Platform                                          |
204
+| ---- | -------- | ------------------------------------------------- |
204
 | bool | No       | iOS and macOS (only `true` supported for Android) |
205
 | bool | No       | iOS and macOS (only `true` supported for Android) |
205
 
206
 
206
 ---
207
 ---
211
 
212
 
212
 If `false`, (only supported on iOS and macOS), loads it into all frames (e.g. iframes).
213
 If `false`, (only supported on iOS and macOS), loads it into all frames (e.g. iframes).
213
 
214
 
214
-| Type   | Required | Platform |
215
-| ------ | -------- | -------- |
215
+| Type | Required | Platform                                          |
216
+| ---- | -------- | ------------------------------------------------- |
216
 | bool | No       | iOS and macOS (only `true` supported for Android) |
217
 | bool | No       | iOS and macOS (only `true` supported for Android) |
217
 
218
 
218
 ---
219
 ---
223
 
224
 
224
 NOTE: the default `true` value might cause some videos to hang loading on iOS. Setting it to `false` could fix this issue.
225
 NOTE: the default `true` value might cause some videos to hang loading on iOS. Setting it to `false` could fix this issue.
225
 
226
 
226
-| Type | Required | Platform |
227
-| ---- | -------- | -------- |
227
+| Type | Required | Platform            |
228
+| ---- | -------- | ------------------- |
228
 | bool | No       | iOS, Android, macOS |
229
 | bool | No       | iOS, Android, macOS |
229
 
230
 
230
 ---
231
 ---
239
 - `props` (object)
240
 - `props` (object)
240
 - `viewManager` (object)
241
 - `viewManager` (object)
241
 
242
 
242
-| Type   | Required | Platform |
243
-| ------ | -------- | -------- |
243
+| Type   | Required | Platform            |
244
+| ------ | -------- | ------------------- |
244
 | object | No       | iOS, Android, macOS |
245
 | object | No       | iOS, Android, macOS |
245
 
246
 
246
 ---
247
 ---
258
 ```jsx
259
 ```jsx
259
 <WebView
260
 <WebView
260
   source={{ uri: 'https://reactnative.dev' }}
261
   source={{ uri: 'https://reactnative.dev' }}
261
-  onError={syntheticEvent => {
262
+  onError={(syntheticEvent) => {
262
     const { nativeEvent } = syntheticEvent;
263
     const { nativeEvent } = syntheticEvent;
263
     console.warn('WebView error: ', nativeEvent);
264
     console.warn('WebView error: ', nativeEvent);
264
   }}
265
   }}
298
 ```jsx
299
 ```jsx
299
 <WebView
300
 <WebView
300
   source={{ uri: 'https://reactnative.dev' }}
301
   source={{ uri: 'https://reactnative.dev' }}
301
-  onLoad={syntheticEvent => {
302
+  onLoad={(syntheticEvent) => {
302
     const { nativeEvent } = syntheticEvent;
303
     const { nativeEvent } = syntheticEvent;
303
     this.url = nativeEvent.url;
304
     this.url = nativeEvent.url;
304
   }}
305
   }}
331
 ```jsx
332
 ```jsx
332
 <WebView
333
 <WebView
333
   source={{ uri: 'https://reactnative.dev' }}
334
   source={{ uri: 'https://reactnative.dev' }}
334
-  onLoadEnd={syntheticEvent => {
335
+  onLoadEnd={(syntheticEvent) => {
335
     // update component to be aware of loading status
336
     // update component to be aware of loading status
336
     const { nativeEvent } = syntheticEvent;
337
     const { nativeEvent } = syntheticEvent;
337
     this.isLoading = nativeEvent.loading;
338
     this.isLoading = nativeEvent.loading;
365
 ```jsx
366
 ```jsx
366
 <WebView
367
 <WebView
367
   source={{ uri: 'https://reactnative.dev/=' }}
368
   source={{ uri: 'https://reactnative.dev/=' }}
368
-  onLoadStart={syntheticEvent => {
369
+  onLoadStart={(syntheticEvent) => {
369
     // update component to be aware of loading status
370
     // update component to be aware of loading status
370
     const { nativeEvent } = syntheticEvent;
371
     const { nativeEvent } = syntheticEvent;
371
     this.isLoading = nativeEvent.loading;
372
     this.isLoading = nativeEvent.loading;
390
 
391
 
391
 Function that is invoked when the `WebView` is loading.
392
 Function that is invoked when the `WebView` is loading.
392
 
393
 
393
-| Type     | Required | Platform |
394
-| -------- | -------- | --------- |
394
+| Type     | Required | Platform            |
395
+| -------- | -------- | ------------------- |
395
 | function | No       | iOS, Android, macOS |
396
 | function | No       | iOS, Android, macOS |
396
 
397
 
397
 Example:
398
 Example:
435
 ```jsx
436
 ```jsx
436
 <WebView
437
 <WebView
437
   source={{ uri: 'https://reactnative.dev' }}
438
   source={{ uri: 'https://reactnative.dev' }}
438
-  onHttpError={syntheticEvent => {
439
+  onHttpError={(syntheticEvent) => {
439
     const { nativeEvent } = syntheticEvent;
440
     const { nativeEvent } = syntheticEvent;
440
     console.warn(
441
     console.warn(
441
       'WebView received error status code: ',
442
       'WebView received error status code: ',
523
 ```jsx
524
 ```jsx
524
 <WebView
525
 <WebView
525
   source={{ uri: 'https://reactnative.dev' }}
526
   source={{ uri: 'https://reactnative.dev' }}
526
-  onNavigationStateChange={navState => {
527
+  onNavigationStateChange={(navState) => {
527
     // Keep track of going back navigation within component
528
     // Keep track of going back navigation within component
528
     this.canGoBack = navState.canGoBack;
529
     this.canGoBack = navState.canGoBack;
529
   }}
530
   }}
557
 ```jsx
558
 ```jsx
558
 <WebView
559
 <WebView
559
   source={{ uri: 'https://reactnative.dev' }}
560
   source={{ uri: 'https://reactnative.dev' }}
560
-  onContentProcessDidTerminate={syntheticEvent => {
561
+  onContentProcessDidTerminate={(syntheticEvent) => {
561
     const { nativeEvent } = syntheticEvent;
562
     const { nativeEvent } = syntheticEvent;
562
     console.warn('Content process terminated, reloading', nativeEvent);
563
     console.warn('Content process terminated, reloading', nativeEvent);
563
     this.refs.webview.reload();
564
     this.refs.webview.reload();
615
 
616
 
616
 List of origin strings to allow being navigated to. The strings allow wildcards and get matched against _just_ the origin (not the full URL). If the user taps to navigate to a new page but the new page is not in this whitelist, the URL will be handled by the OS. The default whitelisted origins are "http://*" and "https://*".
617
 List of origin strings to allow being navigated to. The strings allow wildcards and get matched against _just_ the origin (not the full URL). If the user taps to navigate to a new page but the new page is not in this whitelist, the URL will be handled by the OS. The default whitelisted origins are "http://*" and "https://*".
617
 
618
 
618
-| Type             | Required | Platform |
619
-| ---------------- | -------- | -------- |
619
+| Type             | Required | Platform            |
620
+| ---------------- | -------- | ------------------- |
620
 | array of strings | No       | iOS, Android, macOS |
621
 | array of strings | No       | iOS, Android, macOS |
621
 
622
 
622
 Example:
623
 Example:
635
 
636
 
636
 Function that returns a view to show if there's an error.
637
 Function that returns a view to show if there's an error.
637
 
638
 
638
-| Type     | Required | Platform |
639
-| -------- | -------- | -------- |
639
+| Type     | Required | Platform            |
640
+| -------- | -------- | ------------------- |
640
 | function | No       | iOS, Android, macOS |
641
 | function | No       | iOS, Android, macOS |
641
 
642
 
642
 Example:
643
 Example:
644
 ```jsx
645
 ```jsx
645
 <WebView
646
 <WebView
646
   source={{ uri: 'https://reactnative.dev' }}
647
   source={{ uri: 'https://reactnative.dev' }}
647
-  renderError={errorName => <Error name={errorName} />}
648
+  renderError={(errorName) => <Error name={errorName} />}
648
 />
649
 />
649
 ```
650
 ```
650
 
651
 
656
 
657
 
657
 Function that returns a loading indicator. The startInLoadingState prop must be set to true in order to use this prop.
658
 Function that returns a loading indicator. The startInLoadingState prop must be set to true in order to use this prop.
658
 
659
 
659
-| Type     | Required | Platform |
660
-| -------- | -------- | -------- |
660
+| Type     | Required | Platform            |
661
+| -------- | -------- | ------------------- |
661
 | function | No       | iOS, Android, macOS |
662
 | function | No       | iOS, Android, macOS |
662
 
663
 
663
 Example:
664
 Example:
688
 
689
 
689
 On Android, is not called on the first load.
690
 On Android, is not called on the first load.
690
 
691
 
691
-| Type     | Required | Platform |
692
-| -------- | -------- | -------- |
692
+| Type     | Required | Platform            |
693
+| -------- | -------- | ------------------- |
693
 | function | No       | iOS, Android, macOS |
694
 | function | No       | iOS, Android, macOS |
694
 
695
 
695
 Example:
696
 Example:
697
 ```jsx
698
 ```jsx
698
 <WebView
699
 <WebView
699
   source={{ uri: 'https://reactnative.dev' }}
700
   source={{ uri: 'https://reactnative.dev' }}
700
-  onShouldStartLoadWithRequest={request => {
701
+  onShouldStartLoadWithRequest={(request) => {
701
     // Only allow navigating within this website
702
     // Only allow navigating within this website
702
     return request.url.startsWith('https://reactnative.dev');
703
     return request.url.startsWith('https://reactnative.dev');
703
   }}
704
   }}
725
 
726
 
726
 Boolean value that forces the `WebView` to show the loading view on the first load. This prop must be set to `true` in order for the `renderLoading` prop to work.
727
 Boolean value that forces the `WebView` to show the loading view on the first load. This prop must be set to `true` in order for the `renderLoading` prop to work.
727
 
728
 
728
-| Type | Required | Platform |
729
-| ---- | -------- | -------- |
729
+| Type | Required | Platform            |
730
+| ---- | -------- | ------------------- |
730
 | bool | No       | iOS, Android, macOS |
731
 | bool | No       | iOS, Android, macOS |
731
 
732
 
732
 ---
733
 ---
870
 
871
 
871
 Sets the user-agent for the `WebView`.
872
 Sets the user-agent for the `WebView`.
872
 
873
 
873
-| Type   | Required | Platform |
874
-| ------ | -------- | -------- |
874
+| Type   | Required | Platform            |
875
+| ------ | -------- | ------------------- |
875
 | string | No       | iOS, Android, macOS |
876
 | string | No       | iOS, Android, macOS |
876
 
877
 
877
 ---
878
 ---
880
 
881
 
881
 Append to the existing user-agent. Setting `userAgent` will override this.
882
 Append to the existing user-agent. Setting `userAgent` will override this.
882
 
883
 
883
-| Type   | Required | Platform |
884
-| ------ | -------- | -------- |
884
+| Type   | Required | Platform            |
885
+| ------ | -------- | ------------------- |
885
 | string | No       | iOS, Android, macOS |
886
 | string | No       | iOS, Android, macOS |
886
 
887
 
887
 ```jsx
888
 ```jsx
1038
 
1039
 
1039
 Boolean value that determines whether a horizontal scroll indicator is shown in the `WebView`. The default value is `true`.
1040
 Boolean value that determines whether a horizontal scroll indicator is shown in the `WebView`. The default value is `true`.
1040
 
1041
 
1041
-| Type | Required | Platform |
1042
-| ---- | -------- | -------- |
1042
+| Type | Required | Platform            |
1043
+| ---- | -------- | ------------------- |
1043
 | bool | No       | iOS, Android, macOS |
1044
 | bool | No       | iOS, Android, macOS |
1044
 
1045
 
1045
 ---
1046
 ---
1048
 
1049
 
1049
 Boolean value that determines whether a vertical scroll indicator is shown in the `WebView`. The default value is `true`.
1050
 Boolean value that determines whether a vertical scroll indicator is shown in the `WebView`. The default value is `true`.
1050
 
1051
 
1051
-| Type | Required | Platform |
1052
-| ---- | -------- | -------- |
1052
+| Type | Required | Platform            |
1053
+| ---- | -------- | ------------------- |
1053
 | bool | No       | iOS, Android, macOS |
1054
 | bool | No       | iOS, Android, macOS |
1054
 
1055
 
1055
 ---
1056
 ---
1068
 
1069
 
1069
 Boolean that sets whether JavaScript running in the context of a file scheme URL should be allowed to access content from other file scheme URLs. The default value is `false`.
1070
 Boolean that sets whether JavaScript running in the context of a file scheme URL should be allowed to access content from other file scheme URLs. The default value is `false`.
1070
 
1071
 
1071
-| Type | Required | Platform |
1072
-| ---- | -------- | -------- |
1072
+| Type | Required | Platform            |
1073
+| ---- | -------- | ------------------- |
1073
 | bool | No       | iOS, Android, macOS |
1074
 | bool | No       | iOS, Android, macOS |
1074
 
1075
 
1075
 ---
1076
 ---
1148
 
1149
 
1149
 Does not store any data within the lifetime of the WebView.
1150
 Does not store any data within the lifetime of the WebView.
1150
 
1151
 
1151
-| Type    | Required | Platform |
1152
-| ------- | -------- | -------- |
1152
+| Type    | Required | Platform            |
1153
+| ------- | -------- | ------------------- |
1153
 | boolean | No       | iOS, Android, macOS |
1154
 | boolean | No       | iOS, Android, macOS |
1154
 
1155
 
1155
 ---
1156
 ---
1178
 
1179
 
1179
 Sets whether WebView should use browser caching.
1180
 Sets whether WebView should use browser caching.
1180
 
1181
 
1181
-| Type    | Required | Default | Platform |
1182
-| ------- | -------- | ------- | -------- |
1182
+| Type    | Required | Default | Platform            |
1183
+| ------- | -------- | ------- | ------------------- |
1183
 | boolean | No       | true    | iOS, Android, macOS |
1184
 | boolean | No       | true    | iOS, Android, macOS |
1184
 
1185
 
1185
 ---
1186
 ---
1284
 If not provided, the default is to let the webview try to render the file.
1285
 If not provided, the default is to let the webview try to render the file.
1285
 
1286
 
1286
 Example:
1287
 Example:
1288
+
1287
 ```jsx
1289
 ```jsx
1288
 <WebView
1290
 <WebView
1289
   source={{ uri: 'https://reactnative.dev' }}
1291
   source={{ uri: 'https://reactnative.dev' }}
1290
-  onFileDownload={ ( { nativeEvent: { downloadUrl } } ) => {
1292
+  onFileDownload={({ nativeEvent: { downloadUrl } }) => {
1291
     // You use downloadUrl which is a string to download files however you want.
1293
     // You use downloadUrl which is a string to download files however you want.
1292
   }}
1294
   }}
1293
-  />
1295
+/>
1294
 ```
1296
 ```
1295
 
1297
 
1298
+| Type     | Required | Platform |
1299
+| -------- | -------- | -------- |
1300
+| function | No       | iOS      |
1301
+
1302
+---
1303
+
1304
+### `autoManageStatusBarEnabled`
1305
+
1306
+If set to `true`, the status bar will be automatically hidden/shown by WebView, specifically when full screen video is being watched. If `false`, WebView will not manage the status bar at all. The default value is `true`.
1307
+
1296
 | Type    | Required | Platform |
1308
 | Type    | Required | Platform |
1297
 | ------- | -------- | -------- |
1309
 | ------- | -------- | -------- |
1298
-| function | No       | iOS      |
1310
+| boolean | No       | iOS      |
1311
+
1312
+Example:
1313
+
1314
+```javascript
1315
+<WebView autoManageStatusBarEnabled={false} />
1316
+```
1299
 
1317
 
1300
 ## Methods
1318
 ## Methods
1301
 
1319
 
1360
 ```javascript
1378
 ```javascript
1361
 postMessage('message');
1379
 postMessage('message');
1362
 ```
1380
 ```
1381
+
1363
 Post a message to WebView, handled by [`onMessage`](Reference.md#onmessage).
1382
 Post a message to WebView, handled by [`onMessage`](Reference.md#onmessage).
1364
 
1383
 
1365
 ### `clearFormData()`[⬆](#methods-index)<!-- Link generated with jump2header -->
1384
 ### `clearFormData()`[⬆](#methods-index)<!-- Link generated with jump2header -->

+ 1
- 1
package.json 파일 보기

8
     "Thibault Malbranche <malbranche.thibault@gmail.com>"
8
     "Thibault Malbranche <malbranche.thibault@gmail.com>"
9
   ],
9
   ],
10
   "license": "MIT",
10
   "license": "MIT",
11
-  "version": "10.8.3",
11
+  "version": "10.9.0",
12
   "homepage": "https://github.com/react-native-community/react-native-webview#readme",
12
   "homepage": "https://github.com/react-native-community/react-native-webview#readme",
13
   "scripts": {
13
   "scripts": {
14
     "start": "node node_modules/react-native/local-cli/cli.js start",
14
     "start": "node node_modules/react-native/local-cli/cli.js start",

+ 8
- 0
src/WebViewTypes.ts 파일 보기

313
   allowsInlineMediaPlayback?: boolean;
313
   allowsInlineMediaPlayback?: boolean;
314
   allowsLinkPreview?: boolean;
314
   allowsLinkPreview?: boolean;
315
   automaticallyAdjustContentInsets?: boolean;
315
   automaticallyAdjustContentInsets?: boolean;
316
+  autoManageStatusBarEnabled?: boolean;
316
   bounces?: boolean;
317
   bounces?: boolean;
317
   contentInset?: ContentInsetProp;
318
   contentInset?: ContentInsetProp;
318
   contentInsetAdjustmentBehavior?: ContentInsetAdjustmentBehavior;
319
   contentInsetAdjustmentBehavior?: ContentInsetAdjustmentBehavior;
500
    */
501
    */
501
   sharedCookiesEnabled?: boolean;
502
   sharedCookiesEnabled?: boolean;
502
 
503
 
504
+  /**
505
+   * Set true if StatusBar should be light when user watch video fullscreen.
506
+   * The default value is `true`.
507
+   * @platform ios
508
+   */
509
+  autoManageStatusBarEnabled?: boolean;
510
+
503
   /**
511
   /**
504
    * A Boolean value that determines whether scrolling is disabled in a particular direction.
512
    * A Boolean value that determines whether scrolling is disabled in a particular direction.
505
    * The default value is `true`.
513
    * The default value is `true`.