diff --git a/submodules/UIKitRuntimeUtils/Source/UIKitRuntimeUtils/UIViewController+Navigation.m b/submodules/UIKitRuntimeUtils/Source/UIKitRuntimeUtils/UIViewController+Navigation.m index aa59f705f0..7aca166f99 100644 --- a/submodules/UIKitRuntimeUtils/Source/UIKitRuntimeUtils/UIViewController+Navigation.m +++ b/submodules/UIKitRuntimeUtils/Source/UIKitRuntimeUtils/UIViewController+Navigation.m @@ -5,6 +5,7 @@ #import "NSWeakReference.h" #import +#import @interface UIViewControllerPresentingProxy : UIViewController @@ -457,8 +458,6 @@ static NSMutableDictionary *trustedWebRecords() return value; } -void WKWebsiteDataStoreReinitializeAppBoundDomains(CFTypeRef dataStoreRef); - @implementation WebHelpers + (NSArray * _Nonnull)threadSafeTrustedDomains { @@ -504,7 +503,16 @@ void WKWebsiteDataStoreReinitializeAppBoundDomains(CFTypeRef dataStoreRef); } + (void)forceRefreshTrustedDomains:(WKWebsiteDataStore * _Nonnull)websiteDataStore { - WKWebsiteDataStoreReinitializeAppBoundDomains((__bridge CFTypeRef)(websiteDataStore)); + static void (*reinitializeFunction)(CFTypeRef dataStoreRef) = nil; + static dispatch_once_t onceToken; + dispatch_once(&onceToken, ^{ + NSString *nameString = [NSString stringWithFormat:@"WK%@", @"WebsiteDataStoreReinitializeAppBoundDomains"]; + reinitializeFunction = dlsym(RTLD_DEFAULT, [nameString UTF8String]); + }); + + if (reinitializeFunction) { + reinitializeFunction((__bridge CFTypeRef)(websiteDataStore)); + } } @end