react-native-webview-bootpay 11.18.16 → 11.22.7

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.
Files changed (406) hide show
  1. package/android/.gradle/6.8/executionHistory/executionHistory.bin +0 -0
  2. package/android/.gradle/6.8/executionHistory/executionHistory.lock +0 -0
  3. package/android/.gradle/6.8/fileChanges/last-build.bin +0 -0
  4. package/android/.gradle/6.8/fileHashes/fileHashes.bin +0 -0
  5. package/android/.gradle/6.8/fileHashes/fileHashes.lock +0 -0
  6. package/android/.gradle/6.8/gc.properties +0 -0
  7. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  8. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  9. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  10. package/android/.gradle/checksums/checksums.lock +0 -0
  11. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  12. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  13. package/android/.gradle/configuration-cache/gc.properties +0 -0
  14. package/android/.gradle/vcs-1/gc.properties +0 -0
  15. package/android/.idea/compiler.xml +6 -0
  16. package/android/.idea/gradle.xml +19 -0
  17. package/android/.idea/jarRepositories.xml +30 -0
  18. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_1_0.xml +13 -0
  19. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_0_2_aar.xml +16 -0
  20. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_0_0.xml +11 -0
  21. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_0_0_aar.xml +13 -0
  22. package/android/.idea/libraries/Gradle__androidx_asynclayoutinflater_asynclayoutinflater_1_0_0_aar.xml +13 -0
  23. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +16 -0
  24. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_0_0.xml +11 -0
  25. package/android/.idea/libraries/Gradle__androidx_coordinatorlayout_coordinatorlayout_1_0_0_aar.xml +16 -0
  26. package/android/.idea/libraries/Gradle__androidx_core_core_1_1_0_aar.xml +16 -0
  27. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
  28. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
  29. package/android/.idea/libraries/Gradle__androidx_documentfile_documentfile_1_0_0_aar.xml +13 -0
  30. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
  31. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_0_0_aar.xml +16 -0
  32. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
  33. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_ui_1_0_0_aar.xml +13 -0
  34. package/android/.idea/libraries/Gradle__androidx_legacy_legacy_support_core_utils_1_0_0_aar.xml +13 -0
  35. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_0_0.xml +11 -0
  36. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +13 -0
  37. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_0_0_aar.xml +13 -0
  38. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_0_0_aar.xml +13 -0
  39. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_0_0_aar.xml +13 -0
  40. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
  41. package/android/.idea/libraries/Gradle__androidx_localbroadcastmanager_localbroadcastmanager_1_0_0_aar.xml +13 -0
  42. package/android/.idea/libraries/Gradle__androidx_print_print_1_0_0_aar.xml +16 -0
  43. package/android/.idea/libraries/Gradle__androidx_slidingpanelayout_slidingpanelayout_1_0_0_aar.xml +13 -0
  44. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
  45. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_0_1_aar.xml +13 -0
  46. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_0_0_aar.xml +13 -0
  47. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_0_aar.xml +13 -0
  48. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
  49. package/android/.idea/libraries/Gradle__androidx_webkit_webkit_1_4_0_aar.xml +16 -0
  50. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +13 -0
  51. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +15 -0
  52. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +18 -0
  53. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +18 -0
  54. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +18 -0
  55. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +18 -0
  56. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +15 -0
  57. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +15 -0
  58. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +15 -0
  59. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +15 -0
  60. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +15 -0
  61. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +15 -0
  62. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +15 -0
  63. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +15 -0
  64. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +13 -0
  65. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_68_2_aar.xml +16 -0
  66. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +13 -0
  67. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +13 -0
  68. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +15 -0
  69. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +13 -0
  70. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
  71. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +13 -0
  72. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +13 -0
  73. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +13 -0
  74. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
  75. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
  76. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +13 -0
  77. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_4_10.xml +13 -0
  78. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_4_10.xml +13 -0
  79. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_4_10.xml +13 -0
  80. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_4_10.xml +13 -0
  81. package/android/.idea/misc.xml +9 -0
  82. package/android/.idea/modules/android.iml +133 -0
  83. package/android/.idea/modules.xml +8 -0
  84. package/android/.idea/vcs.xml +6 -0
  85. package/android/build/.transforms/28ceacf58c1f53104331b6d3900dca4f/results.bin +1 -0
  86. package/android/build/.transforms/28ceacf58c1f53104331b6d3900dca4f/transformed/classes/classes.dex +0 -0
  87. package/android/build/.transforms/51cb61441c00f43d07400187762c0edf/results.bin +1 -0
  88. package/android/build/.transforms/51cb61441c00f43d07400187762c0edf/transformed/classes/classes.dex +0 -0
  89. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/results.bin +1 -0
  90. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebChromeClient$1.dex +0 -0
  91. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebChromeClient.dex +0 -0
  92. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebView$1.dex +0 -0
  93. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.dex +0 -0
  94. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.dex +0 -0
  95. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebView.dex +0 -0
  96. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewClient.dex +0 -0
  97. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewFileProvider.dex +0 -0
  98. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$1.dex +0 -0
  99. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$2.dex +0 -0
  100. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$3.dex +0 -0
  101. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager$4.dex +0 -0
  102. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewManager.dex +0 -0
  103. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$1.dex +0 -0
  104. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$2.dex +0 -0
  105. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$MimeType.dex +0 -0
  106. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.dex +0 -0
  107. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.dex +0 -0
  108. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewModule.dex +0 -0
  109. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BPCWebViewPackage.dex +0 -0
  110. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BasicAuthCredential.dex +0 -0
  111. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/BuildConfig.dex +0 -0
  112. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/WebViewConfig.dex +0 -0
  113. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.dex +0 -0
  114. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.dex +0 -0
  115. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.dex +0 -0
  116. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.dex +0 -0
  117. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.dex +0 -0
  118. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.dex +0 -0
  119. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.dex +0 -0
  120. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.dex +0 -0
  121. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.dex +0 -0
  122. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.dex +0 -0
  123. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.dex +0 -0
  124. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopMessageEvent.dex +0 -0
  125. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.dex +0 -0
  126. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.dex +0 -0
  127. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.dex +0 -0
  128. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.dex +0 -0
  129. package/android/build/.transforms/c0e3d8f6408bfb0237947517dbd71608/transformed/desugar_graph.bin +0 -0
  130. package/android/build/.transforms/fb29541d9d3f14fd2af0228851f54ad5/results.bin +1 -0
  131. package/android/build/generated/source/buildConfig/debug/kr/co/bootpay/webview/BuildConfig.java +10 -0
  132. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +106 -0
  133. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  134. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +4 -0
  135. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  136. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  137. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  138. package/android/build/intermediates/compile_symbol_list/debug/R.txt +1861 -0
  139. package/android/build/intermediates/compiled_local_resources/debug/out/xml_file_provider_paths.xml.flat +0 -0
  140. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  141. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  142. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  143. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +2 -0
  144. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -0
  145. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebChromeClient$1.class +0 -0
  146. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebChromeClient.class +0 -0
  147. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$1.class +0 -0
  148. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.class +0 -0
  149. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.class +0 -0
  150. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebView.class +0 -0
  151. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewClient.class +0 -0
  152. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewFileProvider.class +0 -0
  153. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$1.class +0 -0
  154. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$2.class +0 -0
  155. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$3.class +0 -0
  156. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager$4.class +0 -0
  157. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewManager.class +0 -0
  158. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$1.class +0 -0
  159. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$2.class +0 -0
  160. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$MimeType.class +0 -0
  161. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.class +0 -0
  162. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.class +0 -0
  163. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BPCWebViewModule.class +0 -0
  164. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BasicAuthCredential.class +0 -0
  165. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/BuildConfig.class +0 -0
  166. package/android/build/intermediates/javac/debug/classes/kr/co/bootpay/webview/WebViewConfig.class +0 -0
  167. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  168. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +3 -0
  169. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +210 -0
  170. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +106 -0
  171. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  172. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +18 -0
  173. package/android/build/intermediates/packaged_res/debug/xml/file_provider_paths.xml +6 -0
  174. package/android/build/intermediates/runtime_library_classes_dir/debug/META-INF/react-native-webview_debug.kotlin_module +0 -0
  175. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebChromeClient$1.class +0 -0
  176. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebChromeClient.class +0 -0
  177. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$1.class +0 -0
  178. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$BPCWebViewBridge.class +0 -0
  179. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView$ProgressChangedFilter.class +0 -0
  180. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebView.class +0 -0
  181. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewClient.class +0 -0
  182. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewFileProvider.class +0 -0
  183. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$1.class +0 -0
  184. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$2.class +0 -0
  185. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$3.class +0 -0
  186. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager$4.class +0 -0
  187. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewManager.class +0 -0
  188. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$1.class +0 -0
  189. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$2.class +0 -0
  190. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$MimeType.class +0 -0
  191. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock$ShouldOverrideCallbackState.class +0 -0
  192. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule$ShouldOverrideUrlLoadingLock.class +0 -0
  193. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewModule.class +0 -0
  194. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BPCWebViewPackage.class +0 -0
  195. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BasicAuthCredential.class +0 -0
  196. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/BuildConfig.class +0 -0
  197. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/WebViewConfig.class +0 -0
  198. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.class +0 -0
  199. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.class +0 -0
  200. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.class +0 -0
  201. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.class +0 -0
  202. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.class +0 -0
  203. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.class +0 -0
  204. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.class +0 -0
  205. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.class +0 -0
  206. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.class +0 -0
  207. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.class +0 -0
  208. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.class +0 -0
  209. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopMessageEvent.class +0 -0
  210. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.class +0 -0
  211. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.class +0 -0
  212. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.class +0 -0
  213. package/android/build/intermediates/runtime_library_classes_dir/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.class +0 -0
  214. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  215. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1381 -0
  216. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  217. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  218. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  219. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  220. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  221. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  222. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  223. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  224. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  225. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  226. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  227. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  228. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  229. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  230. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  231. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  232. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  233. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  234. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  235. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  236. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  237. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  238. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  239. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  240. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  241. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  242. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  243. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  244. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  245. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  246. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  247. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  248. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  249. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  250. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  251. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  252. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  253. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  254. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  255. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  256. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  257. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  258. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  259. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  260. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  261. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  262. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  263. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  264. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  265. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  266. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  267. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  268. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  269. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  270. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  271. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  272. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  273. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  274. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  275. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  276. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  277. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  278. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  279. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  280. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  281. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/localstate/build-history.bin +0 -0
  303. package/android/build/outputs/logs/manifest-merger-debug-report.txt +229 -0
  304. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  305. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-webview_debug.kotlin_module +0 -0
  306. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/BPCWebViewPackage.class +0 -0
  307. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent$Companion.class +0 -0
  308. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopHttpErrorEvent.class +0 -0
  309. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent$Companion.class +0 -0
  310. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingErrorEvent.class +0 -0
  311. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent$Companion.class +0 -0
  312. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingFinishEvent.class +0 -0
  313. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent$Companion.class +0 -0
  314. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingProgressEvent.class +0 -0
  315. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent$Companion.class +0 -0
  316. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopLoadingStartEvent.class +0 -0
  317. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopMessageEvent$Companion.class +0 -0
  318. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopMessageEvent.class +0 -0
  319. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent$Companion.class +0 -0
  320. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopRenderProcessGoneEvent.class +0 -0
  321. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent$Companion.class +0 -0
  322. package/android/build/tmp/kotlin-classes/debug/kr/co/bootpay/webview/events/TopShouldStartLoadWithRequestEvent.class +0 -0
  323. package/android/build.gradle +6 -6
  324. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  325. package/android/gradle/wrapper/gradle-wrapper.properties +5 -0
  326. package/android/gradle.properties +6 -6
  327. package/android/gradlew +185 -0
  328. package/android/gradlew.bat +89 -0
  329. package/android/local.properties +8 -0
  330. package/android/src/main/AndroidManifest.xml +67 -62
  331. package/android/src/main/java/kr/co/bootpay/webview/BPCWebChromeClient.java +25 -17
  332. package/android/src/main/java/kr/co/bootpay/webview/BPCWebView.java +31 -14
  333. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewClient.java +142 -117
  334. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewManager.java +144 -89
  335. package/android/src/main/java/kr/co/bootpay/webview/BPCWebViewModule.java +27 -21
  336. package/android/src/main/java/kr/co/bootpay/webview/BasicAuthCredential.java +11 -0
  337. package/apple/BPCWKProcessPoolManager.m +11 -11
  338. package/apple/BPCWebView.h +22 -1
  339. package/apple/BPCWebView.m +700 -646
  340. package/apple/BPCWebViewManager.h +2 -0
  341. package/apple/BPCWebViewManager.m +45 -8
  342. package/index.d.ts +5 -5
  343. package/ios/RNCWebView.xcodeproj/project.pbxproj +20 -18
  344. package/lib/WebView.android.d.ts +4 -75
  345. package/lib/WebView.android.d.ts.map +1 -1
  346. package/lib/WebView.android.js +88 -270
  347. package/lib/WebView.d.ts +2 -2
  348. package/lib/WebView.d.ts.map +1 -1
  349. package/lib/WebView.ios.d.ts +4 -80
  350. package/lib/WebView.ios.d.ts.map +1 -1
  351. package/lib/WebView.ios.js +86 -223
  352. package/lib/WebView.js +7 -9
  353. package/lib/WebView.macos.d.ts +4 -80
  354. package/lib/WebView.macos.d.ts.map +1 -1
  355. package/lib/WebView.macos.js +83 -221
  356. package/lib/WebView.windows.d.ts +5 -27
  357. package/lib/WebView.windows.d.ts.map +1 -1
  358. package/lib/WebView.windows.js +114 -165
  359. package/lib/WebViewNativeComponent.android.d.ts +4 -0
  360. package/lib/WebViewNativeComponent.android.d.ts.map +1 -0
  361. package/lib/WebViewNativeComponent.android.js +3 -0
  362. package/lib/WebViewNativeComponent.ios.d.ts +4 -0
  363. package/lib/WebViewNativeComponent.ios.d.ts.map +1 -0
  364. package/lib/WebViewNativeComponent.ios.js +3 -0
  365. package/lib/WebViewNativeComponent.macos.d.ts +4 -0
  366. package/lib/WebViewNativeComponent.macos.d.ts.map +1 -0
  367. package/lib/WebViewNativeComponent.macos.js +3 -0
  368. package/lib/WebViewNativeComponent.windows.d.ts +4 -0
  369. package/lib/WebViewNativeComponent.windows.d.ts.map +1 -0
  370. package/lib/WebViewNativeComponent.windows.js +3 -0
  371. package/lib/WebViewShared.d.ts +33 -3
  372. package/lib/WebViewShared.d.ts.map +1 -1
  373. package/lib/WebViewShared.js +85 -2
  374. package/lib/WebViewTypes.d.ts +154 -14
  375. package/lib/WebViewTypes.d.ts.map +1 -1
  376. package/lib/index.d.ts +4 -0
  377. package/lib/index.d.ts.map +1 -0
  378. package/lib/index.js +3 -0
  379. package/package.json +19 -21
  380. package/react-native-webview-bootpay.podspec +1 -2
  381. package/react-native.config.js +47 -61
  382. package/windows/ExperimentalFeatures.props +11 -0
  383. package/windows/ReactNativeWebView/ReactNativeWebView.vcxproj +48 -23
  384. package/windows/ReactNativeWebView/ReactPackageProvider.cpp +6 -1
  385. package/windows/ReactNativeWebView/ReactWebView.cpp +17 -16
  386. package/windows/ReactNativeWebView/ReactWebView.h +5 -3
  387. package/windows/ReactNativeWebView/ReactWebView.idl +17 -3
  388. package/windows/ReactNativeWebView/ReactWebView2.cpp +185 -0
  389. package/windows/ReactNativeWebView/ReactWebView2.h +51 -0
  390. package/windows/ReactNativeWebView/ReactWebView2Manager.cpp +155 -0
  391. package/windows/ReactNativeWebView/ReactWebView2Manager.h +57 -0
  392. package/windows/ReactNativeWebView/ReactWebViewManager.cpp +37 -32
  393. package/windows/{WebViewBridgeComponent → ReactNativeWebView}/WebBridge.cpp +1 -1
  394. package/windows/{WebViewBridgeComponent → ReactNativeWebView}/WebBridge.h +2 -2
  395. package/windows/{WebViewBridgeComponent → ReactNativeWebView}/WebBridge.idl +1 -1
  396. package/windows/ReactNativeWebView/packages.config +1 -0
  397. package/windows/ReactNativeWebView/pch.h +17 -0
  398. package/windows/ReactNativeWebView.sln +80 -119
  399. package/windows/WebViewBridgeComponent/PropertySheet.props +0 -16
  400. package/windows/WebViewBridgeComponent/WebViewBridgeComponent.def +0 -3
  401. package/windows/WebViewBridgeComponent/WebViewBridgeComponent.vcxproj +0 -160
  402. package/windows/WebViewBridgeComponent/WebViewBridgeComponent.vcxproj.filters +0 -33
  403. package/windows/WebViewBridgeComponent/packages.config +0 -4
  404. package/windows/WebViewBridgeComponent/pch.cpp +0 -1
  405. package/windows/WebViewBridgeComponent/pch.h +0 -4
  406. package/windows/WebViewBridgeComponent/readme.txt +0 -23
@@ -1,11 +1,12 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
2
  <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3
+ <Import Project="$(SolutionDir)\ExperimentalFeatures.props" Condition="Exists('$(SolutionDir)\ExperimentalFeatures.props')" />
3
4
  <Import Project="$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props" Condition="Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props')" />
4
5
  <PropertyGroup Label="Globals">
5
6
  <CppWinRTOptimized>true</CppWinRTOptimized>
6
7
  <CppWinRTRootNamespaceAutoMerge>true</CppWinRTRootNamespaceAutoMerge>
7
8
  <MinimalCoreWin>true</MinimalCoreWin>
8
- <ProjectGuid>{729d9af8-cd9e-4427-9f6c-fb757e287729}</ProjectGuid>
9
+ <ProjectGuid>{00AA3765-C6A0-4713-B3F9-BFE47B9C83F5}</ProjectGuid>
9
10
  <ProjectName>ReactNativeWebView</ProjectName>
10
11
  <RootNamespace>ReactNativeWebView</RootNamespace>
11
12
  <DefaultLanguage>en-US</DefaultLanguage>
@@ -13,15 +14,11 @@
13
14
  <AppContainerApplication>true</AppContainerApplication>
14
15
  <ApplicationType>Windows Store</ApplicationType>
15
16
  <ApplicationTypeRevision>10.0</ApplicationTypeRevision>
16
- <WindowsTargetPlatformVersion Condition=" '$(WindowsTargetPlatformVersion)' == '' ">10.0.18362.0</WindowsTargetPlatformVersion>
17
+ <WindowsTargetPlatformVersion Condition=" '$(WindowsTargetPlatformVersion)' == '' ">10.0</WindowsTargetPlatformVersion>
17
18
  <WindowsTargetPlatformMinVersion>10.0.15063.0</WindowsTargetPlatformMinVersion>
18
19
  </PropertyGroup>
19
20
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
20
21
  <ItemGroup Label="ProjectConfigurations">
21
- <ProjectConfiguration Include="Debug|ARM">
22
- <Configuration>Debug</Configuration>
23
- <Platform>ARM</Platform>
24
- </ProjectConfiguration>
25
22
  <ProjectConfiguration Include="Debug|ARM64">
26
23
  <Configuration>Debug</Configuration>
27
24
  <Platform>ARM64</Platform>
@@ -34,10 +31,6 @@
34
31
  <Configuration>Debug</Configuration>
35
32
  <Platform>x64</Platform>
36
33
  </ProjectConfiguration>
37
- <ProjectConfiguration Include="Release|ARM">
38
- <Configuration>Release</Configuration>
39
- <Platform>ARM</Platform>
40
- </ProjectConfiguration>
41
34
  <ProjectConfiguration Include="Release|ARM64">
42
35
  <Configuration>Release</Configuration>
43
36
  <Platform>ARM64</Platform>
@@ -56,6 +49,7 @@
56
49
  <PlatformToolset>v140</PlatformToolset>
57
50
  <PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
58
51
  <PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
52
+ <PlatformToolset Condition="'$(VisualStudioVersion)' == '17.0'">v143</PlatformToolset>
59
53
  <CharacterSet>Unicode</CharacterSet>
60
54
  <GenerateManifest>false</GenerateManifest>
61
55
  </PropertyGroup>
@@ -83,7 +77,13 @@
83
77
  <ImportGroup Label="PropertySheets">
84
78
  <Import Project="PropertySheet.props" />
85
79
  </ImportGroup>
86
- <PropertyGroup Label="UserMacros" />
80
+ <ImportGroup Label="ReactNativeWindowsPropertySheets">
81
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\external\Microsoft.ReactNative.Uwp.CppLib.props" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" />
82
+ <Import Project="$(SolutionDir)\packages\$(WinUIPackageProps)" Condition="'$(WinUIPackageProps)'!='' And Exists('$(SolutionDir)\packages\$(WinUIPackageProps)')" />
83
+ </ImportGroup>
84
+ <PropertyGroup>
85
+ <WinUI2_HasWebView2 Condition="$([MSBuild]::VersionGreaterThanOrEquals('$(WinUIPackageVersion)','2.8.0-prerelease.210927001'))">true</WinUI2_HasWebView2>
86
+ </PropertyGroup>
87
87
  <PropertyGroup />
88
88
  <ItemDefinitionGroup>
89
89
  <ClCompile>
@@ -115,21 +115,29 @@
115
115
  <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
116
116
  </ClCompile>
117
117
  </ItemDefinitionGroup>
118
+ <ItemDefinitionGroup Condition="'$(WinUI2_HasWebView2)'=='true'">
119
+ <ClCompile>
120
+ <PreprocessorDefinitions>WINUI2_HAS_WEBVIEW2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
121
+ </ClCompile>
122
+ <Midl>
123
+ <PreprocessorDefinitions>WINUI2_HAS_WEBVIEW2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
124
+ </Midl>
125
+ </ItemDefinitionGroup>
118
126
  <ItemGroup>
119
- <ClInclude Include="ReactWebView.h">
120
- <DependentUpon>ReactWebView.idl</DependentUpon>
121
- </ClInclude>
122
- <ClInclude Include="ReactWebViewManager.h" />
127
+ <ClInclude Include="ReactWebView.h" />
128
+ <ClInclude Include="ReactWebView2.h" />
129
+ <ClInclude Include="ReactWebView2Manager.h" />
123
130
  <ClInclude Include="pch.h" />
124
131
  <ClInclude Include="ReactPackageProvider.h">
125
132
  <DependentUpon>ReactPackageProvider.idl</DependentUpon>
126
133
  </ClInclude>
134
+ <ClInclude Include="ReactWebViewManager.h" />
135
+ <ClInclude Include="WebBridge.h" />
127
136
  </ItemGroup>
128
137
  <ItemGroup>
129
- <ClCompile Include="ReactWebView.cpp">
130
- <DependentUpon>ReactWebView.idl</DependentUpon>
131
- </ClCompile>
132
- <ClCompile Include="ReactWebViewManager.cpp" />
138
+ <ClCompile Include="ReactWebView.cpp" />
139
+ <ClCompile Include="ReactWebView2.cpp" />
140
+ <ClCompile Include="ReactWebView2Manager.cpp" />
133
141
  <ClCompile Include="pch.cpp">
134
142
  <PrecompiledHeader>Create</PrecompiledHeader>
135
143
  </ClCompile>
@@ -137,15 +145,19 @@
137
145
  <DependentUpon>ReactPackageProvider.idl</DependentUpon>
138
146
  </ClCompile>
139
147
  <ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
148
+ <ClCompile Include="ReactWebViewManager.cpp" />
149
+ <ClCompile Include="WebBridge.cpp" />
140
150
  </ItemGroup>
141
151
  <ItemGroup>
142
152
  <Midl Include="ReactWebView.idl" />
143
153
  <Midl Include="ReactPackageProvider.idl" />
154
+ <Midl Include="WebBridge.idl" />
144
155
  </ItemGroup>
145
156
  <ItemGroup>
146
157
  <None Include="packages.config" />
147
158
  <None Include="ReactNativeWebView.def" />
148
159
  </ItemGroup>
160
+
149
161
  <ItemGroup>
150
162
  <None Include="PropertySheet.props" />
151
163
  </ItemGroup>
@@ -154,13 +166,23 @@
154
166
  <Project>{f7d32bd0-2749-483e-9a0d-1635ef7e3136}</Project>
155
167
  <Private>false</Private>
156
168
  </ProjectReference>
157
- <ProjectReference Include="..\WebViewBridgeComponent\WebViewBridgeComponent.vcxproj">
158
- <Project>{176323cd-97ce-4b0f-9d11-a2b77bda829b}</Project>
159
- </ProjectReference>
160
169
  </ItemGroup>
161
170
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
171
+ <ImportGroup Label="ReactNativeWindowsTargets">
172
+ <Import Project="$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets" Condition="Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" />
173
+ </ImportGroup>
174
+ <Target Name="EnsureReactNativeWindowsTargets" BeforeTargets="PrepareForBuild">
175
+ <PropertyGroup>
176
+ <ErrorText>This project references targets in your node_modules\react-native-windows folder that are missing. The missing file is {0}.</ErrorText>
177
+ </PropertyGroup>
178
+ <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.props'))" />
179
+ <Error Condition="!Exists('$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(ReactNativeWindowsDir)\PropertySheets\External\Microsoft.ReactNative.Uwp.CppLib.targets'))" />
180
+ </Target>
162
181
  <ImportGroup Label="ExtensionTargets">
163
182
  <Import Project="$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets" Condition="Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets')" />
183
+ <Import Project="$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets" Condition="Exists('$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets')" />
184
+ <Import Project="$(SolutionDir)\packages\Microsoft.ReactNative.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.targets" Condition="'$(UseExperimentalNuget)'=='true' And Exists('$(SolutionDir)\packages\Microsoft.ReactNative.Cxx.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.Cxx.targets')" />
185
+ <Import Project="$(SolutionDir)\packages\Microsoft.ReactNative.Cxx.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.Cxx.targets" Condition="'$(UseExperimentalNuget)'=='true' And Exists('$(SolutionDir)\packages\Microsoft.ReactNative.Cxx.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.Cxx.targets')" />
164
186
  </ImportGroup>
165
187
  <Target Name="Deploy" />
166
188
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
@@ -169,5 +191,8 @@
169
191
  </PropertyGroup>
170
192
  <Error Condition="!Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.props'))" />
171
193
  <Error Condition="!Exists('$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\Microsoft.Windows.CppWinRT.2.0.200316.3\build\native\Microsoft.Windows.CppWinRT.targets'))" />
194
+ <Error Condition="!Exists('$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)packages\$(WinUIPackageName).$(WinUIPackageVersion)\build\native\$(WinUIPackageName).targets'))" />
195
+ <Error Condition="'$(UseExperimentalNuget)'=='true' And !Exists('$(SolutionDir)\packages\Microsoft.ReactNative.Cxx.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.Cxx.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.ReactNative.Cxx.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.Cxx.targets'))" />
196
+ <Error Condition="'$(UseExperimentalNuget)'=='true' And !Exists('$(SolutionDir)\packages\Microsoft.ReactNative.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.ReactNative.$(ReactNativeWindowsVersion)\build\native\Microsoft.ReactNative.targets'))" />
172
197
  </Target>
173
- </Project>
198
+ </Project>
@@ -4,6 +4,7 @@
4
4
  #include "ReactPackageProvider.g.cpp"
5
5
  #endif
6
6
 
7
+ #include "ReactWebView2Manager.h"
7
8
  #include "ReactWebViewManager.h"
8
9
 
9
10
  using namespace winrt::Microsoft::ReactNative;
@@ -12,6 +13,10 @@ namespace winrt::ReactNativeWebView::implementation {
12
13
 
13
14
  void ReactPackageProvider::CreatePackage(IReactPackageBuilder const &packageBuilder) noexcept {
14
15
  packageBuilder.AddViewManager(L"ReactWebViewManager", []() { return winrt::make<ReactWebViewManager>(); });
16
+
17
+ #if HAS_WEBVIEW2
18
+ packageBuilder.AddViewManager(L"ReactWebView2Manager", []() { return winrt::make<ReactWebView2Manager>(); });
19
+ #endif
15
20
  }
16
21
 
17
- } // namespace winrt::ReactNativeWebView::implementation
22
+ } // namespace winrt::ReactNativeWebView::implementation
@@ -23,11 +23,7 @@ namespace winrt {
23
23
  namespace winrt::ReactNativeWebView::implementation {
24
24
 
25
25
  ReactWebView::ReactWebView(winrt::IReactContext const& reactContext) : m_reactContext(reactContext) {
26
- #ifdef CHAKRACORE_UWP
27
- m_webView = winrt::WebView(winrt::WebViewExecutionMode::SeparateProcess);
28
- #else
29
26
  m_webView = winrt::WebView();
30
- #endif
31
27
  this->Content(m_webView);
32
28
  RegisterEvents();
33
29
  }
@@ -63,7 +59,7 @@ namespace winrt::ReactNativeWebView::implementation {
63
59
  });
64
60
  }
65
61
 
66
- bool Is17763OrHigher() {
62
+ bool ReactWebView::Is17763OrHigher() {
67
63
  static std::optional<bool> hasUniversalAPIContract_v7;
68
64
 
69
65
  if (!hasUniversalAPIContract_v7.has_value()) {
@@ -122,9 +118,9 @@ namespace winrt::ReactNativeWebView::implementation {
122
118
  });
123
119
 
124
120
  if (m_messagingEnabled) {
125
- winrt::hstring windowAlert = L"window.alert = function (msg) {__REACT_WEB_VIEW_BRIDGE.postMessage(`{\"type\":\"__alert\",\"message\":\"${msg}\"}`)};";
126
- winrt::hstring postMessage = L"window.BootpayRNWebView = {postMessage: function (data) {__REACT_WEB_VIEW_BRIDGE.postMessage(String(data))}};";
127
- webView.InvokeScriptAsync(L"eval", { windowAlert + postMessage });
121
+ winrt::hstring message = LR"(window.alert = function(msg) { __REACT_WEB_VIEW_BRIDGE.postMessage(`{"type":"__alert", "message" : "${msg}" }`) };
122
+ window.ReactNativeWebView = {postMessage: function(data) { __REACT_WEB_VIEW_BRIDGE.postMessage(String(data)) }};)";
123
+ webView.InvokeScriptAsync(L"eval", { message });
128
124
  }
129
125
  }
130
126
 
@@ -145,13 +141,15 @@ namespace winrt::ReactNativeWebView::implementation {
145
141
 
146
142
  void ReactWebView::HandleMessageFromJS(winrt::hstring const& message) {
147
143
  winrt::JsonObject jsonObject;
148
- if (winrt::JsonObject::TryParse(message, jsonObject) && jsonObject.HasKey(L"type")) {
149
- auto type = jsonObject.GetNamedString(L"type");
150
- if (type == L"__alert") {
151
- auto dialog = winrt::MessageDialog(jsonObject.GetNamedString(L"message"));
152
- dialog.Commands().Append(winrt::UICommand(L"OK"));
153
- dialog.ShowAsync();
154
- return;
144
+ if (winrt::JsonObject::TryParse(message, jsonObject)) {
145
+ if (auto v = jsonObject.Lookup(L"type"); v && v.ValueType() == JsonValueType::String) {
146
+ auto type = v.GetString();
147
+ if (type == L"__alert") {
148
+ auto dialog = winrt::MessageDialog(jsonObject.GetNamedString(L"message"));
149
+ dialog.Commands().Append(winrt::UICommand(L"OK"));
150
+ dialog.ShowAsync();
151
+ return;
152
+ }
155
153
  }
156
154
  }
157
155
 
@@ -167,8 +165,11 @@ namespace winrt::ReactNativeWebView::implementation {
167
165
  });
168
166
  }
169
167
 
170
- void ReactWebView::SetMessagingEnabled(bool enabled) {
168
+ void ReactWebView::MessagingEnabled(bool enabled) noexcept{
171
169
  m_messagingEnabled = enabled;
172
170
  }
173
171
 
172
+ bool ReactWebView::MessagingEnabled() const noexcept{
173
+ return m_messagingEnabled;
174
+ }
174
175
  } // namespace winrt::ReactNativeWebView::implementation
@@ -7,16 +7,17 @@
7
7
  #include "NativeModules.h"
8
8
  #include "ReactWebView.g.h"
9
9
 
10
- #include "winrt/WebViewBridgeComponent.h"
10
+ #include "winrt/ReactNativeWebView.h"
11
11
 
12
- using namespace winrt::WebViewBridgeComponent;
12
+ using namespace winrt::ReactNativeWebView;
13
13
 
14
14
  namespace winrt::ReactNativeWebView::implementation {
15
15
 
16
16
  class ReactWebView : public ReactWebViewT<ReactWebView> {
17
17
  public:
18
18
  ReactWebView(Microsoft::ReactNative::IReactContext const& reactContext);
19
- void SetMessagingEnabled(bool enabled);
19
+ void MessagingEnabled(bool enabled) noexcept;
20
+ bool MessagingEnabled() const noexcept;
20
21
  ~ReactWebView();
21
22
 
22
23
  private:
@@ -36,6 +37,7 @@ namespace winrt::ReactNativeWebView::implementation {
36
37
  void OnNavigationCompleted(winrt::Windows::UI::Xaml::Controls::WebView const& sender, winrt::Windows::UI::Xaml::Controls::WebViewNavigationCompletedEventArgs const& args);
37
38
  void OnNavigationFailed(winrt::Windows::Foundation::IInspectable const& sender, winrt::Windows::UI::Xaml::Controls::WebViewNavigationFailedEventArgs const& args);
38
39
  void OnMessagePosted(hstring const& message);
40
+ bool Is17763OrHigher();
39
41
  };
40
42
  } // namespace winrt::ReactNativeWebView::implementation
41
43
 
@@ -1,7 +1,21 @@
1
1
  namespace ReactNativeWebView{
2
2
  [default_interface]
3
- runtimeclass ReactWebView : Windows.UI.Xaml.Controls.UserControl{
3
+ runtimeclass ReactWebView : Windows.UI.Xaml.Controls.ContentPresenter{
4
4
  ReactWebView(Microsoft.ReactNative.IReactContext context);
5
- void SetMessagingEnabled(Boolean enabled);
5
+ Boolean MessagingEnabled;
6
6
  };
7
- } // namespace ReactNativeWebView
7
+ #if __has_include(<VersionMacros.h>)
8
+ #include <VersionMacros.h>
9
+ #else
10
+ #define RNW_VERSION_AT_LEAST(x,y,z) false
11
+ #endif
12
+
13
+ #if RNW_VERSION_AT_LEAST(0,68,0) && defined(WINUI2_HAS_WEBVIEW2)
14
+ [default_interface]
15
+ runtimeclass ReactWebView2 : Windows.UI.Xaml.Controls.ContentPresenter{
16
+ ReactWebView2(Microsoft.ReactNative.IReactContext context);
17
+ void NavigateToHtml(String html);
18
+ Boolean MessagingEnabled;
19
+ };
20
+ #endif
21
+ } // namespace ReactNativeWebView
@@ -0,0 +1,185 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License.
3
+
4
+ #include "pch.h"
5
+ #include "ReactWebView2.h"
6
+
7
+ #if HAS_WEBVIEW2
8
+ #include "JSValueXaml.h"
9
+ #include "ReactWebView2.g.cpp"
10
+ #include <winrt/Windows.Foundation.Metadata.h>
11
+ #include <optional>
12
+
13
+ namespace winrt {
14
+ using namespace Microsoft::ReactNative;
15
+ using namespace Windows::Foundation;
16
+ using namespace Windows::UI;
17
+ using namespace Windows::UI::Xaml;
18
+ using namespace Windows::UI::Xaml::Controls;
19
+ using namespace Microsoft::UI::Xaml::Controls;
20
+ using namespace Microsoft::Web::WebView2::Core;
21
+ using namespace Windows::Data::Json;
22
+ using namespace Windows::UI::Popups;
23
+ using namespace Windows::UI::Xaml::Input;
24
+ using namespace Windows::UI::Xaml::Media;
25
+ } // namespace winrt
26
+
27
+ namespace winrt::ReactNativeWebView::implementation {
28
+
29
+ ReactWebView2::ReactWebView2(winrt::IReactContext const& reactContext) : m_reactContext(reactContext) {
30
+ m_webView = winrt::WebView2();
31
+ this->Content(m_webView);
32
+ RegisterEvents();
33
+ }
34
+
35
+ ReactWebView2::~ReactWebView2(){}
36
+
37
+ void ReactWebView2::RegisterEvents() {
38
+ m_navigationStartingRevoker = m_webView.NavigationStarting(
39
+ winrt::auto_revoke, [ref = get_weak()](auto const& sender, auto const& args) {
40
+ if (auto self = ref.get()) {
41
+ self->OnNavigationStarting(sender, args);
42
+ }
43
+
44
+ });
45
+
46
+ m_navigationCompletedRevoker = m_webView.NavigationCompleted(
47
+ winrt::auto_revoke, [ref = get_weak()](auto const& sender, auto const& args) {
48
+ if (auto self = ref.get()) {
49
+ self->OnNavigationCompleted(sender, args);
50
+ }
51
+ });
52
+
53
+ m_CoreWebView2InitializedRevoker = m_webView.CoreWebView2Initialized(
54
+ winrt::auto_revoke, [ref = get_weak()](auto const& sender, auto const& args){
55
+ if (auto self = ref.get()) {
56
+ self->OnCoreWebView2Initialized(sender, args);
57
+ }
58
+ });
59
+ }
60
+
61
+ bool ReactWebView2::Is17763OrHigher() {
62
+ static std::optional<bool> hasUniversalAPIContract_v7;
63
+
64
+ if (!hasUniversalAPIContract_v7.has_value()) {
65
+ hasUniversalAPIContract_v7 = winrt::Windows::Foundation::Metadata::ApiInformation::IsApiContractPresent(L"Windows.Foundation.UniversalApiContract", 7);
66
+ }
67
+ return hasUniversalAPIContract_v7.value();
68
+ }
69
+
70
+ void ReactWebView2::WriteWebViewNavigationEventArg(winrt::WebView2 const& sender, winrt::IJSValueWriter const& eventDataWriter) {
71
+ auto tag = this->GetValue(winrt::FrameworkElement::TagProperty()).as<winrt::IPropertyValue>().GetInt64();
72
+ WriteProperty(eventDataWriter, L"canGoBack", sender.CanGoBack());
73
+ WriteProperty(eventDataWriter, L"canGoForward", sender.CanGoForward());
74
+ if (Is17763OrHigher()) {
75
+ WriteProperty(eventDataWriter, L"loading", !sender.IsLoaded());
76
+ }
77
+ WriteProperty(eventDataWriter, L"target", tag);
78
+ if (auto uri = sender.Source()) {
79
+ WriteProperty(eventDataWriter, L"url", uri.AbsoluteCanonicalUri());
80
+ }
81
+ }
82
+
83
+ void ReactWebView2::OnNavigationStarting(winrt::WebView2 const& webView, winrt::CoreWebView2NavigationStartingEventArgs const& /* args */) {
84
+ m_reactContext.DispatchEvent(
85
+ *this,
86
+ L"topLoadingStart",
87
+ [&](winrt::IJSValueWriter const& eventDataWriter) noexcept {
88
+ eventDataWriter.WriteObjectBegin();
89
+ WriteWebViewNavigationEventArg(webView, eventDataWriter);
90
+ eventDataWriter.WriteObjectEnd();
91
+ });
92
+
93
+
94
+ if (m_messagingEnabled) {
95
+ m_messageToken = webView.WebMessageReceived([this](auto const& /* sender */ , winrt::CoreWebView2WebMessageReceivedEventArgs const& messageArgs)
96
+ {
97
+ try {
98
+ auto message = messageArgs.TryGetWebMessageAsString();
99
+ this->OnMessagePosted(message);
100
+ }
101
+ catch (...) {
102
+ return;
103
+ }
104
+ });
105
+ }
106
+ }
107
+
108
+ void ReactWebView2::OnMessagePosted(hstring const& message)
109
+ {
110
+ HandleMessageFromJS(message);
111
+ }
112
+
113
+ void ReactWebView2::OnNavigationCompleted(winrt::WebView2 const& webView, winrt::CoreWebView2NavigationCompletedEventArgs const& /* args */) {
114
+ m_reactContext.DispatchEvent(
115
+ *this,
116
+ L"topLoadingFinish",
117
+ [&](winrt::IJSValueWriter const& eventDataWriter) noexcept {
118
+ eventDataWriter.WriteObjectBegin();
119
+ WriteWebViewNavigationEventArg(webView, eventDataWriter);
120
+ eventDataWriter.WriteObjectEnd();
121
+ });
122
+
123
+ if (m_messagingEnabled) {
124
+ winrt::hstring message = LR"(window.alert = function (msg) {window.chrome.webview.postMessage(`{"type":"__alert","message":"${msg}"}`)};
125
+ window.ReactNativeWebView = {postMessage: function (data) {window.chrome.webview.postMessage(String(data))}};)";
126
+ webView.ExecuteScriptAsync(message);
127
+ }
128
+ }
129
+
130
+ void ReactWebView2::OnCoreWebView2Initialized(winrt::Microsoft::UI::Xaml::Controls::WebView2 const& sender, winrt::Microsoft::UI::Xaml::Controls::CoreWebView2InitializedEventArgs const& /* args */) {
131
+ assert(sender.CoreWebView2());
132
+ if (m_navigateToHtml != L"") {
133
+ m_webView.NavigateToString(m_navigateToHtml);
134
+ m_navigateToHtml = L"";
135
+ }
136
+ }
137
+
138
+ void ReactWebView2::HandleMessageFromJS(winrt::hstring const& message) {
139
+ winrt::JsonObject jsonObject;
140
+ if (winrt::JsonObject::TryParse(message, jsonObject)) {
141
+ if (auto v = jsonObject.Lookup(L"type"); v && v.ValueType() == JsonValueType::String) {
142
+ auto type = v.GetString();
143
+ if (type == L"__alert") {
144
+ auto dialog = winrt::MessageDialog(jsonObject.GetNamedString(L"message"));
145
+ dialog.Commands().Append(winrt::UICommand(L"OK"));
146
+ dialog.ShowAsync();
147
+ return;
148
+ }
149
+ }
150
+ }
151
+
152
+ m_reactContext.DispatchEvent(
153
+ *this,
154
+ L"topMessage",
155
+ [&](winrt::Microsoft::ReactNative::IJSValueWriter const& eventDataWriter) noexcept {
156
+ eventDataWriter.WriteObjectBegin();
157
+ {
158
+ WriteProperty(eventDataWriter, L"data", message);
159
+ }
160
+ eventDataWriter.WriteObjectEnd();
161
+ });
162
+ }
163
+
164
+ void ReactWebView2::MessagingEnabled(bool enabled) noexcept{
165
+ m_messagingEnabled = enabled;
166
+ }
167
+
168
+ bool ReactWebView2::MessagingEnabled() const noexcept{
169
+ return m_messagingEnabled;
170
+ }
171
+
172
+
173
+ void ReactWebView2::NavigateToHtml(winrt::hstring html) {
174
+ if (m_webView.CoreWebView2()) {
175
+ m_webView.NavigateToString(html);
176
+ }
177
+ else {
178
+ m_webView.EnsureCoreWebView2Async();
179
+ m_navigateToHtml = html;
180
+ }
181
+ }
182
+
183
+ } // namespace winrt::ReactNativeWebView::implementation
184
+
185
+ #endif // HAS_WEBVIEW2
@@ -0,0 +1,51 @@
1
+ // Copyright (c) Microsoft Corporation. All rights reserved.
2
+ // Licensed under the MIT License.
3
+
4
+ #pragma once
5
+
6
+ #if HAS_WEBVIEW2
7
+
8
+ #include "winrt/Microsoft.ReactNative.h"
9
+ #include "NativeModules.h"
10
+ #include "ReactWebView2.g.h"
11
+
12
+ #include "winrt/ReactNativeWebView.h"
13
+
14
+ using namespace winrt::ReactNativeWebView;
15
+
16
+ namespace winrt::ReactNativeWebView::implementation {
17
+
18
+ class ReactWebView2 : public ReactWebView2T<ReactWebView2> {
19
+ public:
20
+ ReactWebView2(Microsoft::ReactNative::IReactContext const& reactContext);
21
+ void MessagingEnabled(bool enabled) noexcept;
22
+ bool MessagingEnabled() const noexcept;
23
+ void NavigateToHtml(winrt::hstring html);
24
+ ~ReactWebView2();
25
+
26
+ private:
27
+ winrt::hstring m_navigateToHtml = L"";
28
+ bool m_messagingEnabled{ true };
29
+
30
+ winrt::Microsoft::UI::Xaml::Controls::WebView2 m_webView{ nullptr };
31
+ Microsoft::ReactNative::IReactContext m_reactContext{ nullptr };
32
+ winrt::event_token m_messageToken;
33
+ winrt::Microsoft::UI::Xaml::Controls::WebView2::NavigationStarting_revoker m_navigationStartingRevoker{};
34
+ winrt::Microsoft::UI::Xaml::Controls::WebView2::NavigationCompleted_revoker m_navigationCompletedRevoker{};
35
+ winrt::Microsoft::UI::Xaml::Controls::WebView2::CoreWebView2Initialized_revoker m_CoreWebView2InitializedRevoker{};
36
+ void HandleMessageFromJS(winrt::hstring const& message);
37
+ void RegisterEvents();
38
+ void WriteWebViewNavigationEventArg(winrt::Microsoft::UI::Xaml::Controls::WebView2 const& sender, winrt::Microsoft::ReactNative::IJSValueWriter const& eventDataWriter);
39
+ void OnNavigationStarting(winrt::Microsoft::UI::Xaml::Controls::WebView2 const& sender, winrt::Microsoft::Web::WebView2::Core::CoreWebView2NavigationStartingEventArgs const& args);
40
+ void OnNavigationCompleted(winrt::Microsoft::UI::Xaml::Controls::WebView2 const& sender, winrt::Microsoft::Web::WebView2::Core::CoreWebView2NavigationCompletedEventArgs const& args);
41
+ void OnCoreWebView2Initialized(winrt::Microsoft::UI::Xaml::Controls::WebView2 const& sender, winrt::Microsoft::UI::Xaml::Controls::CoreWebView2InitializedEventArgs const& args);
42
+ void OnMessagePosted(hstring const& message);
43
+ bool Is17763OrHigher();
44
+ };
45
+ } // namespace winrt::ReactNativeWebView2::implementation
46
+
47
+ namespace winrt::ReactNativeWebView::factory_implementation {
48
+ struct ReactWebView2 : ReactWebView2T<ReactWebView2, implementation::ReactWebView2> {};
49
+ } // namespace winrt::ReactNativeWebView2::factory_implementation
50
+
51
+ #endif // HAS_WEBVIEW2