luxlabs header browser preview


@class UIImage, NSURL, NSMutableDictionary, NSDictionary, NSObject, NSMutableArray, WBSSiteMetadataImageCache, WBSTemplateIconMonogramConfiguration, UIColor, NSString, NSMutableSet, WBSTouchIconCacheSettingsSQLiteStore, NSCache;
@protocol OS_dispatch_queue, WBSSiteMetadataProviderDelegate;

@interface WBSTouchIconCache : NSObject <WBSSiteMetadataImageCacheDelegate, WBSWebViewMetadataFetchOperationDelegate, WBSSiteMetadataProvider> {
    NSObject<OS_dispatch_queue> *_internalQueue;
    struct atomic<bool> { struct __cxx_atomic_impl<bool, std::__cxx_atomic_base_impl<bool>> { _Atomic BOOL __a_value; } __a_; } _didLoadSettings;
    WBSSiteMetadataImageCache *_imageCache;
    NSMutableDictionary *_hostsToRequestSets;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _touchIconsDataForHostsAccessLock;
    NSMutableDictionary *_touchIconsDataForHosts;
    NSCache *_requestsToResponses;
    NSMutableDictionary *_requestsToDelayedResponses;
    NSMutableArray *_pendingSaveTouchIconToDiskBlocks;
    NSMutableSet *_pendingTouchIconRequestHosts;
    WBSTouchIconCacheSettingsSQLiteStore *_cacheSettingsStore;
}

@property (class, readonly, nonatomic) UIColor *defaultBackgroundColor;
@property (class, readonly, nonatomic) UIColor *defaultGlyphColor;
@property (class, readonly, nonatomic) UIImage *_generateDefaultFavoritesIcon;
@property (class, readonly, nonatomic) WBSTemplateIconMonogramConfiguration *_monogramConfiguration;

@property (readonly, nonatomic) NSURL *imageDirectoryURL;
@property (readonly, nonatomic) NSURL *cacheDirectoryURL;
@property (readonly, nonatomic, getter=isReadOnly) BOOL readOnly;
@property (readonly, nonatomic) long long protectionType;
@property (readonly, nonatomic) long long fileMappingStyle;
@property (readonly, nonatomic) BOOL allowFetchingOverCellularNetwork;
@property (readonly, copy, nonatomic) NSDictionary *uuidStringToHost;
@property (readonly, nonatomic) BOOL canFetchOutsideOfUserLoadedWebpage;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;
@property (weak) id<WBSSiteMetadataProviderDelegate> providerDelegate;
@property (readonly, nonatomic) BOOL providesFavicons;

+ (id)_generateFavoritesIconForRequest:(id)a0 withBackgroundColor:(id)a1;
+ (id)generateFavoritesIconForTitle:(id)a0 url:(id)a1 backgroundColor:(id)a2;
+ (id)generateFavoritesIconForTitle:(id)a0 url:(id)a1 backgroundColor:(id)a2 shouldRemoveGrammaticalArticles:(BOOL)a3;
+ (id)generateFavoritesIconForTitle:(id)a0 url:(id)a1 backgroundColor:(id)a2 shouldRemoveGrammaticalArticles:(BOOL)a3 fontWeight:(long long)a4 fontDesign:(long long)a5 fontSize:(double)a6;

- (id)init;
- (void)dealloc;
- (id).cxx_construct;
- (BOOL)canHandleRequest:(id)a0;
- (void).cxx_destruct;
- (void)savePendingChangesBeforeTermination;
- (void)_didLoadTouchIcon:(id)a0 withCacheSettingsEntry:(id)a1;
- (id)_operationWithRequest:(id)a0 completionHandler:(id /* block */)a1;
- (id)initWithCacheDirectoryURL:(id)a0 isReadOnly:(BOOL)a1;
- (id)initWithCacheDirectoryURL:(id)a0 isReadOnly:(BOOL)a1 protectionType:(long long)a2 allowFetchingOverCellularNetwork:(BOOL)a3 fileMappingStyle:(long long)a4 canFetchOutsideOfUserLoadedWebpage:(BOOL)a5;
- (void)saveTouchIconSettings:(id)a0 touchIcon:(id)a1;
- (void)stopWatchingUpdatesForRequest:(id)a0;
- (id)_touchIconForURL:(id)a0 getImageState:(long long *)a1;
- (id /* block */)_blockOperationForRequest:(id)a0 knownImageState:(long long)a1;
- (BOOL)_canFetchTouchIconForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1;
- (id)_didGenerateResponse:(id)a0 forRequest:(id)a1;
- (void)_ensureCacheDirectory;
- (void)_enumerateRequestsForHost:(id)a0 usingBlock:(id /* block */)a1;
- (id)_imageCacheSettingsDatabaseURL;
- (double)_maximumScreenScale;
- (void)_notifyImageWasLoaded:(id)a0 forHost:(id)a1;
- (void)_openCacheSettingsDatabaseIfNeeded;
- (void)_removeTouchIconsDataForHost:(id)a0;
- (void)_removeTouchIconsDataForHost:(id)a0 ifIconIsInCache:(BOOL)a1;
- (id)_resizedImage:(id)a0 forHost:(id)a1;
- (id)_responseForRequest:(id)a0 withTouchIcon:(id)a1;
- (id)_responseForTouchIconRequestWithNoHost:(id)a0;
- (void)_saveTouchIconToDisk:(id)a0 forHost:(id)a1 requestDidSucceed:(BOOL)a2 statusCode:(long long)a3 isUserLoadedWebpageRequest:(BOOL)a4 higherPriorityIconDownloadFailedDueToNetworkError:(BOOL)a5;
- (void)_saveTouchIconToDiskWithResult:(id)a0 forRequest:(id)a1 knownImageState:(long long)a2;
- (void)_setUpAndReturnDelayedResponseForRequest:(id)a0;
- (void)_setUpAndReturnPreparedResponseForRequest:(id)a0 withImage:(id)a1 imageState:(long long)a2 didReceiveNewData:(BOOL)a3;
- (void)_setUpImageCacheSettingsSQLiteStore;
- (BOOL)_shouldGenerateTouchIconFromTouchIcon:(id)a0 forRequest:(id)a1;
- (BOOL)_shouldRequestTouchIconForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1 initiatedFromBookmarkInteraction:(BOOL)a2;
- (BOOL)_shouldRequestTouchIconForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1 initiatedFromBookmarkInteraction:(BOOL)a2 knownImageState:(long long)a3;
- (BOOL)_shouldRequestTouchIconForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1 initiatedFromBookmarkInteraction:(BOOL)a2 shouldCheckImageState:(BOOL *)a3;
- (BOOL)_shouldRequestTouchIconWithTimeoutForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1 initiatedFromBookmarkInteraction:(BOOL)a2;
- (long long)_transparencyAnalysisResultForImage:(id)a0;
- (void)_updateTouchIconsDataForHost:(id)a0 image:(id)a1 requestDidSucceed:(BOOL)a2 statusCode:(long long)a3 isUserLoadedWebpageRequest:(BOOL)a4 higherPriorityIconDownloadFailedDueToNetworkError:(BOOL)a5 UUIDString:(id)a6;
- (void)_willSaveTouchIcon:(id)a0 withCacheSettingsEntry:(id)a1;
- (void)cacheFirstAvailableTouchIcon:(id)a0 forURL:(id)a1;
- (void)emptyCaches;
- (BOOL)hasDeterminedIconAvailabilityForURL:(id)a0;
- (id)initWithCacheDirectoryURL:(id)a0;
- (void)prepareResponseForRequest:(id)a0 allowDelayedResponse:(BOOL)a1;
- (void)purgeUnneededCacheEntries;
- (void)releaseTouchIconForHost:(id)a0;
- (void)releaseTouchIconForURLString:(id)a0;
- (void)releaseTouchIconsForHosts:(id)a0;
- (void)removeTouchIconMetadataForHosts:(id)a0 completionHandler:(id /* block */)a1;
- (id)responseForRequest:(id)a0 willProvideUpdates:(BOOL *)a1;
- (void)retainTouchIconForHost:(id)a0;
- (void)retainTouchIconForURLString:(id)a0;
- (void)retainTouchIconsForHosts:(id)a0;
- (BOOL)shouldRequestTouchIconForURL:(id)a0 inUserLoadedWebpage:(BOOL)a1;
- (BOOL)shouldRequestTouchIconForWebPageNavigationFromBookmarkInteractionForURL:(id)a0;
- (id)siteMetadataImageCache:(id)a0 customFileNameForKeyString:(id)a1;
- (void)siteMetadataImageCache:(id)a0 didFinishLoadingImage:(id)a1 forKeyString:(id)a2;
- (void)siteMetadataImageCache:(id)a0 didRemoveImageFromCacheForKeyString:(id)a1;
- (void)siteMetadataImageCacheDidEmptyCache:(id)a0;
- (void)siteMetadataImageCacheDidFinishLoadingSettings:(id)a0;
- (void)webViewMetadataFetchOperation:(id)a0 didFinishUsingWebView:(id)a1;
- (void)webViewMetadataFetchOperation:(id)a0 getWebViewOfSize:(struct CGSize { double x0; double x1; })a1 withConfiguration:(id)a2 completionHandler:(id /* block */)a3;

@end