luxlabs header browser preview


@class NSURL, BKSProcessAssertion, NSObject, NSMutableArray, NSString, LPEvent, LPMetadataProviderSpecialization, NSTimer, LPFetcherGroup, NSURLRequest, LPLinkMetadata, LPAnimatedImageTranscoder, WKWebView;
@protocol OS_dispatch_group;

@interface LPMetadataProvider : NSObject <WKNavigationDelegate, LPMetadataProviderSpecializationDelegate> {
    unsigned int _loggingID;
    WKWebView *_webView;
    NSURLRequest *_URLRequest;
    NSURL *_originalURL;
    NSTimer *_watchdog;
    BKSProcessAssertion *_processAssertion;
    LPEvent *_mainResourceLoadEvent;
    LPEvent *_webProcessLaunchEvent;
    LPLinkMetadata *_metadata;
    BOOL _complete;
    BOOL _fetchingFromExistingWebView;
    BOOL _hasStartedFetching;
    BOOL _hasStartedFetchingMetadataFromWebView;
    BOOL _timedOut;
    BOOL _subresourceFetchIsNonAppInitiated;
    NSObject<OS_dispatch_group> *_subresourceFetchGroup;
    LPFetcherGroup *_iconFetcherGroup;
    LPAnimatedImageTranscoder *_imageTranscoder;
    NSMutableArray *_pendingFetchers;
    long long _specializationState;
    LPMetadataProviderSpecialization *_specializedMetadataProvider;
}

@property (copy, nonatomic) id /* block */ completionHandler;
@property BOOL cancelled;
@property (readonly, nonatomic) LPEvent *_event;
@property (nonatomic) BOOL useSpecializedProviders;
@property (nonatomic) BOOL fetchSubresources;
@property (nonatomic, setter=_setShouldDownloadImageSubresources:) BOOL _shouldDownloadImageSubresources;
@property (nonatomic, setter=_setShouldDownloadMediaSubresources:) BOOL _shouldDownloadMediaSubresources;
@property (nonatomic) unsigned long long allowedSpecializedProviders;
@property (nonatomic) BOOL shouldFetchSubresources;
@property (nonatomic) double timeout;
@property (readonly) unsigned long long hash;
@property (readonly) Class superclass;
@property (readonly, copy) NSString *description;
@property (readonly, copy) NSString *debugDescription;

+ (id)_callbackQueue;
+ (id)_copyDefaultWebViewConfiguration;
+ (id)_defaultUserAgent;
+ (id)_incompleteMetadataRequests;
+ (id)_postProcessingQueue;
+ (id)_requestMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1;
+ (void)_requestSourceApplicationMetadataForBundleIdentifier:(id)a0 completionHandler:(id /* block */)a1;
+ (id)requestMetadataForURL:(id)a0 completionHandler:(id /* block */)a1;
+ (id)requestMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1;

- (void)webView:(id)a0 didFailNavigation:(id)a1 withError:(id)a2;
- (void)webView:(id)a0 didFailProvisionalNavigation:(id)a1 withError:(id)a2;
- (void)webView:(id)a0 decidePolicyForNavigationAction:(id)a1 decisionHandler:(id /* block */)a2;
- (id)init;
- (void)webView:(id)a0 didFinishNavigation:(id)a1;
- (void)dealloc;
- (void)webViewWebContentProcessDidTerminate:(id)a0;
- (void)webView:(id)a0 decidePolicyForNavigationResponse:(id)a1 decisionHandler:(id /* block */)a2;
- (void).cxx_destruct;
- (void)cancel;
- (void)webView:(id)a0 didStartProvisionalNavigation:(id)a1;
- (void)startFetchingMetadataForURL:(id)a0 completionHandler:(id /* block */)a1;
- (id)_startFetchingMetadataForURL:(id)a0 completionHandler:(id /* block */)a1;
- (void)_setMetadata:(id)a0 onlyUpgradeFields:(BOOL)a1;
- (id)subresourceFetcherConfiguration;
- (void)_cancelDueToTimeout;
- (void)_completedWithError:(id)a0;
- (void)_failedWithErrorCode:(long long)a0 underlyingError:(id)a1;
- (void)_fetchAssociatedApplicationMetadataWithCompletionHandler:(id /* block */)a0;
- (void)_fetchImplicitIcons;
- (void)_fetchMetadataFromWebView;
- (void)_fetchSubresources;
- (void)_fetchedMetadata:(id)a0;
- (void)_generateSpecializationIfPossibleForCompleteMetadata:(id)a0 completionHandler:(id /* block */)a1;
- (void)_internalPostProcessResolvedMetadataWithCompletionHandler:(id /* block */)a0;
- (void)_internalStartFetchingMetadataForWebView:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2;
- (void)_internalStartFetchingMetadataFromURLRequest;
- (void)_postProcessResolvedMetadataWithCompletionHandler:(id /* block */)a0;
- (void)_propagateYouTubeTimestamps;
- (void)_redistinguishImagesAndIcons;
- (BOOL)_shouldFailFetchDueToLockdownModeWithCompletionHandler:(id /* block */)a0;
- (void)_simplifyTitle;
- (id)_startFetchingMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1;
- (id)_startFetchingMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1;
- (id)_startFetchingMetadataForWebView:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2;
- (void)_startFetchingSubresourcesForPartialMetadata:(id)a0 isNonAppInitiated:(BOOL)a1 completionHandler:(id /* block */)a2;
- (void)_startWatchdogTimer;
- (void)_stopWatchdogTimer;
- (BOOL)_switchToSpecializationIfPossibleForMIMEType:(id)a0 URL:(id)a1 hasLoadedResource:(BOOL)a2;
- (BOOL)_switchToSpecializationIfPossibleForMetadata:(id)a0 URL:(id)a1;
- (BOOL)_switchToSpecializationIfPossibleForURL:(id)a0;
- (void)_willStartFetchingMetadata;
- (void)metadataProviderSpecialization:(id)a0 didCompleteWithMetadata:(id)a1;
- (void)metadataProviderSpecialization:(id)a0 didFetchPreliminaryMetadata:(id)a1;
- (void)metadataProviderSpecializationDidFail:(id)a0;
- (void)startFetchingMetadataForRequest:(id)a0 completionHandler:(id /* block */)a1;
- (void)startFetchingMetadataForWebView:(id)a0 completionHandler:(id /* block */)a1;
- (void)startFetchingSubresourcesForPartialMetadata:(id)a0 completionHandler:(id /* block */)a1;

@end