luxlabs header browser preview


@class NSCache, NSString, NSMutableDictionary, NSURL, NSMutableSet, NSObject, WBSSiteMetadataImageCache;
@protocol OS_dispatch_queue, WBSSiteMetadataProviderDelegate;

@interface WBSTemplateIconCache : NSObject <WBSSiteMetadataImageCacheDelegate, WBSSiteMetadataProvider> {
    NSObject<OS_dispatch_queue> *_internalQueue;
    BOOL _areSettingsLoaded;
    WBSSiteMetadataImageCache *_imageCache;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _templateIconsDataForHostsAccessLock;
    NSMutableDictionary *_templateIconsDataForHosts;
    NSMutableDictionary *_hostsToRequestSets;
    NSMutableSet *_pendingTemplateIconRequestHosts;
    NSMutableSet *_pendingTemplateIconFallbackRequestHosts;
    NSMutableSet *_pendingSVGImageRenderingRequests;
    NSMutableDictionary *_requestsToDelayedResponses;
    NSCache *_requestsToResponses;
    BOOL _historyDidFinishLoading;
    BOOL _hasPurgedUnneededItems;
}

@property (readonly, nonatomic) NSURL *imageDirectoryURL;
@property (nonatomic) struct CGSize { double width; double height; } defaultIconSize;
@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)init;
- (void)dealloc;
- (BOOL)canHandleRequest:(id)a0;
- (void).cxx_destruct;
- (void)savePendingChangesBeforeTermination;
- (void)_registerRequest:(id)a0;
- (id)initWithImageDirectoryURL:(id)a0;
- (void)stopWatchingUpdatesForRequest:(id)a0;
- (id)_imageForRequest:(id)a0 getThemeColor:(id *)a1;
- (void)_requestTemplateIconForRequest:(id)a0;
- (void)_updateTemplateIconsDataForHost:(id)a0 image:(id)a1 themeColor:(id)a2 isSavedToDisk:(BOOL)a3;
- (void)retainTemplateIconForURLString:(id)a0;
- (id)_monogramForRequest:(id)a0 themeColor:(id)a1;
- (void)_didAddHistoryItems:(id)a0;
- (void)_didLoadHistory:(id)a0;
- (void)_didRemoveHistoryItems:(id)a0;
- (id)_generateResponseForRequest:(id)a0;
- (BOOL)_isLocalIconRequest:(id)a0;
- (void)_notifyDidLoadIconForHost:(id)a0;
- (void)_notifyImageWasLoaded:(id)a0 forHost:(id)a1;
- (void)_purgeUnneededTemplateIconsIfReady;
- (void)_removeTemplateIconsDataForHost:(id)a0 ifIconIsInCache:(BOOL)a1;
- (void)_saveTemplateIcon:(id)a0 withThemeColor:(id)a1 forHost:(id)a2 toDisk:(BOOL)a3;
- (void)_setUpAndReturnDelayedResponseForRequest:(id)a0;
- (void)_setUpAndReturnPreparedResponseForRequest:(id)a0;
- (id)_templateIconForURL:(id)a0 getThemeColor:(id *)a1;
- (BOOL)_templateIconRetainerIsReadyForCleanUp;
- (void)_upgradeCacheVersionIfNeeded;
- (void)addTemplateIconAtURL:(id)a0 withThemeColor:(id)a1 forHost:(id)a2 toDisk:(BOOL)a3;
- (void)emptyCaches;
- (BOOL)hasDeterminedIconAvailabilityForURL:(id)a0;
- (void)prepareResponseForRequest:(id)a0 allowDelayedResponse:(BOOL)a1;
- (void)purgeUnneededCacheEntries;
- (void)releaseTemplateIconForHost:(id)a0;
- (void)releaseTemplateIconForURLString:(id)a0;
- (void)releaseTemplateIconsForHosts:(id)a0;
- (id)responseForRequest:(id)a0 willProvideUpdates:(BOOL *)a1;
- (void)retainTemplateIconForHost:(id)a0;
- (void)retainTemplateIconsForHosts:(id)a0;
- (BOOL)shouldRequestTemplateIconForURL:(id)a0 allowRefresh:(BOOL)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;

@end