@class WBSWebExtensionsController, NSDictionary, WBSWebExtensionLocalization, WBSWebExtensionContextMenuItemManager, WBSWebExtensionToolbarItem, NSMutableArray, NSString, UIImage, NSArray, NSPointerArray, NSMutableDictionary, WBSWebExtensionDeclarativeNetRequestSQLiteStore, NSCountedSet, WKContentWorld, NSSet, WBSWebExtensionAlarmState, WBSWebExtensionStorageAPISQLiteStore, WBSDispatchSourceTimer, WBSWebExtensionRegisteredContentScriptsSQLiteStore, WKWebView, NSUUID, NSMutableOrderedSet, NSURL, NSDate, NSMapTable, NSExtension; @interface WBSWebExtensionData : WBSSafariExtension { NSMutableArray *_actionsToPerformAfterBackgroundPageLoads; WBSDispatchSourceTimer *_timerToUnloadBackgroundPage; WKWebView *_backgroundWebView; NSPointerArray *_relatedWebViewPool; NSMutableDictionary *_injectedScriptsPerOriginPattern; NSMutableDictionary *_injectedStyleSheetsPerOriginPattern; NSMapTable *_temporaryTabPermissionOrigins; NSMutableArray *_websiteRequestsPendingApproval; NSMutableOrderedSet *_manifestErrors; NSString *_extensionBundleIdentifier; NSDictionary *_manifestDictionary; BOOL _parsedManifestDictionary; NSMutableDictionary *_grantedPermissions; NSMutableDictionary *_grantedPermissionOrigins; NSMutableDictionary *_revokedPermissions; NSMutableDictionary *_revokedPermissionOrigins; NSDate *_nextGrantedPermissionsExpirationDate; NSDate *_nextRevokedPermissionsExpirationDate; NSMutableOrderedSet *_cachedPermissionURLs; NSMutableDictionary *_cachedPermissionStates; NSSet *_manifestPermissions; NSSet *_manifestOptionalPermissions; NSSet *_manifestPermissionOrigins; NSSet *_manifestOptionalPermissionOrigins; BOOL _didPopulatePermissionsAndOriginsPropertiesFromManifest; NSArray *_backgroundScriptPaths; NSString *_backgroundPagePath; NSString *_backgroundServiceWorkerPath; NSString *_generatedBackgroundPageContent; BOOL _backgroundPageIsPersistent; BOOL _backgroundPageUsesModules; BOOL _parsedBackgroundManifest; BOOL _parsedExternallyConnectableManifest; NSSet *_externallyConnectableMatchPatterns; BOOL _isExtensionBeingLoadedAsPartOfSafariLaunch; NSArray *_injectedContentData; BOOL _parsedContentScriptsManifest; NSArray *_manifestV3WebAccessibleResources; NSArray *_webAccessibleResources; BOOL _parsedWebAccessibleResources; NSUUID *_baseURIHost; NSString *_displayName; NSString *_displayShortName; NSString *_version; NSString *_displayVersion; NSString *_displayDescription; BOOL _parsedManifestDisplayStrings; BOOL _hasCachedPreferencesIcon; UIImage *_preferencesIcon; BOOL _hasCachedIcon; UIImage *_icon; BOOL _hasCachedToolbarImage; UIImage *_toolbarImage; NSArray *_commands; WBSWebExtensionLocalization *_localization; WBSWebExtensionStorageAPISQLiteStore *_localStorage; WBSWebExtensionStorageAPISQLiteStore *_syncedStorage; WBSWebExtensionStorageAPISQLiteStore *_sessionStorage; BOOL _allowedInPrivateBrowsing; BOOL _isAllowedInPrivateBrowsingValuePopulated; NSDictionary *_queuedInstallEventDetails; BOOL _shouldFireStartupEvent; BOOL _hasFirstNativeMessagePort; NSMutableArray *_queuedNativeMessages; NSArray *_declarativeNetRequestRulesets; BOOL _parsedDeclarativeNetRequestProperties; WBSWebExtensionDeclarativeNetRequestSQLiteStore *_dynamicRulesStorage; WBSWebExtensionDeclarativeNetRequestSQLiteStore *_sessionRulesStorage; NSMutableArray *_matchedDeclarativeNetRequestRules; BOOL _displayBlockedResourceCountInBadge; WBSWebExtensionRegisteredContentScriptsSQLiteStore *_registeredContentScriptsStorage; BOOL _permissionsAreBeingUpdatedDueToAnExternalChange; NSDate *_lastBackgroundPageLoadDate; } @property (class, readonly) BOOL supportsSecureCoding; @property (nonatomic) BOOL hasLoadedPermissionsFromStorage; @property (weak, nonatomic) WBSWebExtensionsController *extensionsController; @property (readonly, nonatomic) NSExtension *extension; @property (readonly, nonatomic) NSString *composedIdentifier; @property (readonly, nonatomic) NSUUID *uniqueIdentifier; @property (readonly, nonatomic) NSUUID *identifier; @property (readonly, nonatomic) NSString *containingAppBundleIdentifier; @property (readonly, nonatomic) NSURL *resourcesDirectoryURL; @property (readonly, nonatomic) BOOL manifestParsedSuccessfully; @property (readonly, copy, nonatomic) NSDictionary *manifest; @property (readonly, nonatomic) WBSWebExtensionLocalization *localization; @property (retain, nonatomic) WBSWebExtensionToolbarItem *toolbarItem; @property (readonly, copy, nonatomic) NSDictionary *registeredContentData; @property (readonly, copy, nonatomic) NSString *toolbarLabel; @property (readonly, copy, nonatomic) NSString *toolbarPopupPath; @property (readonly, nonatomic) NSURL *backgroundPageURL; @property (readonly, nonatomic) BOOL serviceWorkerFailedToLoad; @property (readonly, nonatomic) WBSWebExtensionStorageAPISQLiteStore *localStorage; @property (readonly, nonatomic) WBSWebExtensionStorageAPISQLiteStore *syncedStorage; @property (readonly, nonatomic) WBSWebExtensionStorageAPISQLiteStore *sessionStorage; @property (readonly, nonatomic) WKWebView *backgroundWebView; @property (readonly, nonatomic) WKWebView *relatedWebView; @property (readonly, nonatomic) NSArray *allRelatedWebViews; @property (nonatomic) BOOL allowedInPrivateBrowsing; @property (retain, nonatomic) WKContentWorld *extensionWorldForInjectedContent; @property (readonly, nonatomic) WBSWebExtensionContextMenuItemManager *contextMenuItemManager; @property (readonly, nonatomic) WBSWebExtensionAlarmState *alarmState; @property (readonly, nonatomic) NSArray *declarativeNetRequestRulesets; @property (readonly, nonatomic) BOOL usesDeclarativeNetRequest; @property (readonly, nonatomic) BOOL hasDynamicOrSessionDeclarativeNetRequestRules; @property (nonatomic) BOOL displayBlockedResourceCountInBadge; @property (readonly, copy, nonatomic) NSArray *matchedDeclarativeNetRequestRules; @property (nonatomic) double numberOfSessionRules; @property (nonatomic) double numberOfDynamicRules; @property (readonly, nonatomic) NSURL *optionsPageURL; @property (readonly, copy, nonatomic) NSArray *corsDisablingPatterns; @property (readonly, nonatomic) NSDictionary *userVisiblePermissions; @property (readonly, nonatomic) BOOL shouldShowInWebsitePreferences; @property (readonly, nonatomic) NSSet *urlsPendingApproval; @property (readonly, nonatomic) NSSet *apiNamesPendingApproval; @property (copy, nonatomic) NSCountedSet *backgroundPageEventListeners; @property (retain, nonatomic) NSDate *dateOfLastMessageSentFromAnyPortInBackgroundPage; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; @property (readonly, nonatomic) NSString *displayName; @property (readonly, nonatomic) NSString *displayShortName; @property (readonly, nonatomic) NSString *displayVersion; @property (readonly, nonatomic) NSString *displayDescription; @property (readonly, nonatomic) NSString *processDisplayName; @property (readonly, nonatomic) NSString *version; @property (readonly, nonatomic) UIImage *preferencesIcon; @property (readonly, nonatomic) UIImage *icon; @property (readonly, nonatomic) UIImage *toolbarImage; @property (readonly, nonatomic) NSString *generatedBackgroundPageContent; @property (readonly, nonatomic) BOOL backgroundPageIsPersistent; @property (readonly, nonatomic) BOOL backgroundPageIsServiceWorker; @property (readonly, nonatomic) BOOL backgroundPageUsesModules; @property (readonly, nonatomic) BOOL hasAbilityToInjectContentIntoWebpages; @property (readonly, nonatomic) NSArray *injectedContentData; @property (readonly, nonatomic) NSArray *externallyConnectableMatchPatternStrings; @property (readonly, nonatomic) NSSet *externallyConnectableMatchPatterns; @property (readonly, nonatomic) NSURL *newTabOverridePageURL; @property (readonly, nonatomic) BOOL hasBrowserAction; @property (readonly, nonatomic) BOOL hasPageAction; @property (readonly, nonatomic) BOOL hasCommands; @property (readonly, nonatomic) BOOL hasStorage; @property (readonly, nonatomic) BOOL hasAction; @property (readonly, nonatomic) long long manifestVersion; @property (readonly, nonatomic) BOOL usesManifestVersion3; @property (readonly, nonatomic) BOOL hasDeclarativeNetRequestPermission; @property (readonly, nonatomic) BOOL hasDeclarativeNetRequestHostAccessPermission; @property (readonly, nonatomic) BOOL requestsAccessToAllHosts; @property (nonatomic) BOOL requestedOptionalAccessToAllHosts; @property (readonly, nonatomic) NSSet *currentPermissions; @property (readonly, nonatomic) NSSet *currentPermissionOrigins; @property (readonly, nonatomic) NSSet *currentAccessibleOrigins; @property (readonly, nonatomic) NSDictionary *configuredPermissions; @property (readonly, nonatomic) NSDictionary *configuredPermissionOrigins; @property (readonly, nonatomic) NSSet *requestedPermissionsNotAlreadyConfigured; @property (readonly, nonatomic) NSSet *requestedPermissionOriginsNotAlreadyConfigured; @property (copy, nonatomic) NSDictionary *grantedPermissions; @property (copy, nonatomic) NSDictionary *grantedPermissionOrigins; @property (copy, nonatomic) NSDictionary *revokedPermissions; @property (copy, nonatomic) NSDictionary *revokedPermissionOrigins; @property (readonly, nonatomic) NSSet *manifestPermissions; @property (readonly, nonatomic) NSSet *manifestOptionalPermissions; @property (readonly, nonatomic) NSSet *manifestPermissionOrigins; @property (readonly, nonatomic) NSSet *manifestOptionalPermissionOrigins; @property (readonly, nonatomic) NSSet *manifestAccessibleOrigins; @property (readonly, nonatomic) NSString *contentSecurityPolicy; @property (readonly, nonatomic) NSArray *webAccessibleResources; @property (readonly, nonatomic) NSArray *commands; @property (readonly, nonatomic) NSArray *manifestErrors; + (id)generatedBackgroundPageFilename; + (BOOL)_isShortVersion:(id)a0 supportedInSafariVersion:(id)a1; + (id)_manifestKeySupportForDictionary:(id)a0 withSupportedFeatures:(id)a1 currentSafariShortVersion:(id)a2; + (void)_mergeKeySupportDictionary:(id)a0 intoDictionary:(id)a1; + (id /* block */)_originPatternMatchesAnyPatternInAllowedPatterns:(id)a0; + (id)_unsupportedKeysFromKeySupportDictionary:(id)a0; + (id)_unsupportedValuesInArray:(id)a0 withSupportedFeatures:(id)a1 currentSafariShortVersion:(id)a2; + (id)createWebExtensionError:(long long)a0; + (id)createWebExtensionError:(long long)a0 customLocalizedDescription:(id)a1; + (id)createWebExtensionError:(long long)a0 underlyingError:(id)a1; + (id)supportedPermissions; + (id)supportedWebExtensionFeaturesForManifestVersion:(unsigned long long)a0; + (id)supportedWebExtensionPatternSchemes; + (id)unlocalizedManifestDictionaryFromData:(id)a0 withExtensionIdentifier:(id)a1 error:(id *)a2; + (id)unsupportedManifestKeysInDictionary:(id)a0 withSupportedFeatures:(id)a1 currentSafariShortVersion:(id)a2; - (void)addListener:(unsigned long long)a0; - (void)load; - (void)unload; - (void)removeListener:(unsigned long long)a0; - (void)webView:(id)a0 decidePolicyForNavigationAction:(id)a1 decisionHandler:(id /* block */)a2; - (void)webView:(id)a0 didFinishNavigation:(id)a1; - (void)webViewWebContentProcessDidTerminate:(id)a0; - (void)encodeWithCoder:(id)a0; - (void).cxx_destruct; - (BOOL)_applicationIsActive; - (id)initWithCoder:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (id)_actionDictionary; - (id)_backgroundWebViewConfiguration; - (BOOL)hasPermissionToAccessURL:(id)a0 inTab:(id)a1; - (void)_compileDeclarativeNetRequestRules:(id)a0 completionHandler:(id /* block */)a1; - (void)_hidePermissionBanner; - (void)_validateToolbarItemInAllWindows; - (BOOL)canLoadWithErrorString:(id *)a0; - (void)checkPermissionAndPromptIfNecessaryToAccessURLs:(id)a0 inTab:(id)a1 options:(unsigned long long)a2 callingAPIName:(id)a3 completionHandler:(id /* block */)a4; - (void)dispatchAllPendingWebsiteRequests; - (void)dispatchExpiredPendingWebsiteRequests; - (void)grantPermissions:(id)a0 origins:(id)a1 expirationDate:(id)a2; - (BOOL)hasMoreThanOneRequestedOriginNotAlreadyConfigured; - (BOOL)hasPendingWebsiteRequests; - (BOOL)hasPermission:(id)a0; - (long long)permissionStateForURL:(id)a0 inTab:(id)a1; - (void)revokePermissions:(id)a0 origins:(id)a1 expirationDate:(id)a2; - (void)userGesturePerformedInTab:(id)a0; - (BOOL)hasActiveUserGestureInTab:(id)a0; - (BOOL)hasPermission:(id)a0 inTab:(id)a1; - (void)addWebViewToRelatedWebViewPool:(id)a0; - (void)_loadToolbarItem; - (void)_loadToolbarItemInPrivateBrowsing; - (void)_unloadToolbarItem; - (void)_unloadToolbarItemInPrivateBrowsing; - (void)prepareToFireEvent:(unsigned long long)a0 completionHandler:(id /* block */)a1; - (BOOL)shouldShowToolbarItemForTab:(id)a0; - (void)_populateDisplayStringsIfNeeded; - (void)_unloadRegisteredContentScripts; - (BOOL)canLoad; - (void)loadDeclarativeNetRequestRulesetsIfNeededWithCompletionHandler:(id /* block */)a0; - (id)registeredContentScriptsStorage; - (void)_populateWebAccessibleResources; - (void)_addInjectedContent:(id)a0 forGrantedOriginPattern:(id)a1; - (void)_addInjectedContentForAllGrantedOriginForInjectedContent:(id)a0; - (void)_addInjectedContentInPrivateBrowsing; - (void)_applyModificationsToDeclarativeNetRequestRulesetsFromUpdateEnabledRulesets; - (void)_clearCachedPermissions; - (id)_configuredDictionaryWithRequested:(id)a0 granted:(id)a1 revoked:(id)a2; - (id)_containingAppIcon; - (id)_createDeclarativeNetRequestErrors:(id)a0; - (double)_delayForNonPersistentBackgroundPageBeforeUnloading; - (void)_fireStartupAndInstallEventsIfNecessaryForWebView:(id)a0; - (void)_getDeclarativeNetRequestRulesFromStorage:(id)a0 completionHandler:(id /* block */)a1; - (BOOL)_hasScriptingPermission; - (void)_loadBackgroundPageWithURL:(id)a0; - (void)_loadBackgroundWebView; - (void)_loadBackgroundWebViewDuringExtensionLoad:(BOOL)a0; - (void)_loadDeclarativeNetRequestRulesInPrivateBrowsing; - (void)_loadInPrivateBrowsing; - (id)_maximumSafariVersionString; - (id)_minimumSafariVersionString; - (id)_nextExpirationDateWithPermissions:(id)a0 origins:(id)a1; - (void)_parseContentScriptsAndStyleSheetsForInjectedContent:(id)a0; - (void)_performTasksAfterBackgroundPageLoads; - (void)_populateBackgroundPropertiesIfNeeded; - (void)_populateContentScriptPropertiesIfNeeded; - (void)_populateDeclarativeNetRequestPropertiesIfNeeded; - (void)_populateExternallyConnectablePropertiesIfNeeded; - (void)_populatePermissionsAndOriginsPropertiesIfNeeded; - (void)_queueEventToFireAfterBackgroundPageLoads:(id /* block */)a0; - (void)_recordManifestErrorIfNecessary:(id)a0; - (id)_remoteInspectionMenuTitle; - (void)_removeExpiredGrantedPermissionsAndPostNotification:(BOOL)a0; - (void)_removeExpiredPermissions:(id)a0 origins:(id)a1 notificationName:(id)a2; - (void)_removeExpiredRevokedPermissionsAndPostNotification:(BOOL)a0; - (void)_removeInjectedContentForOriginPattern:(id)a0; - (void)_removeInjectedContentInPrivateBrowsing; - (void)_removePermissions:(id)a0 origins:(id)a1 exactPatternMatchesOnly:(BOOL)a2 fromPermissions:(id)a3 fromOrigins:(id)a4 notificationName:(id)a5; - (BOOL)_requestsAccessToAllHostsThroughImplicitPermission; - (id)_serviceWorkerErrorsFromErrorStrings:(id)a0; - (BOOL)_shouldAutomaticallyEnableInPrivateBrowsing; - (id)_storageTypeForRulesStorage:(id)a0; - (void)_unloadBackgroundWebView; - (void)_unloadInPrivateBrowsing; - (void)_updateDeclarativeNetRequestRulesInStorage:(id)a0 byRemovingRules:(id)a1 addRules:(id)a2 completionHandler:(id /* block */)a3; - (void)_updateInjectedContentForRevokedOriginPattern:(id)a0; - (id)_userInfoDictionaryForPermissionsNotificationWithPermissions:(id)a0 origins:(id)a1; - (id /* block */)_validateAndReadResourceBlock; - (void)addInjectedContent:(id)a0 forGrantedOriginPatterns:(id)a1; - (id)baseURIHost; - (id)bestIconSizeKeyInIconsDictionary:(id)a0 idealPixelSize:(long long)a1; - (void)checkPermissionAndPromptIfNecessaryToAccessURL:(id)a0 inTab:(id)a1 callingAPIName:(id)a2 completionHandler:(id /* block */)a3; - (void)checkPermissionAndPromptIfNecessaryToAccessURL:(id)a0 inTab:(id)a1 options:(unsigned long long)a2 callingAPIName:(id)a3 completionHandler:(id /* block */)a4; - (void)checkPermissionAndPromptIfNecessaryToAccessURLs:(id)a0 inTab:(id)a1 callingAPIName:(id)a2 completionHandler:(id /* block */)a3; - (void)dispatchPendingWebsiteRequestsMatchingOriginPatterns:(id)a0; - (id)dynamicRulesStorage; - (id)extensionIconWithBaseURI:(id)a0 idealPointSize:(long long)a1 validateAndReadResourceHandler:(id /* block */)a2; - (id)extensionStateWithPreviousState:(id)a0; - (long long)extensionSupportsCurrentSafariVersion; - (long long)extensionSupportsSafariShortVersion:(id)a0; - (void)fireEvents:(id)a0 completionHandler:(id /* block */)a1; - (void)getDeclarativeNetRequestDynamicRulesWithCompletionHandler:(id /* block */)a0; - (void)getDeclarativeNetRequestSessionRulesWithCompletionHandler:(id /* block */)a0; - (BOOL)hasInjectedContentDataForURL:(id)a0; - (BOOL)hasPermissionToAccessAllHosts; - (BOOL)hasPermissionToAccessAllURLs; - (BOOL)hasPermissionToAccessURL:(id)a0; - (BOOL)hasPermissions:(id)a0 origins:(id)a1; - (id)imageForBestIconInIconsDictionary:(id)a0 idealPointSize:(long long)a1; - (id)imageForBestIconInIconsDictionary:(id)a0 idealPointSize:(long long)a1 withBaseURI:(id)a2 validateAndReadResourceHandler:(id /* block */)a3; - (id)imageForPath:(id)a0 validateAndReadResourceHandler:(id /* block */)a1; - (void)increaseBlockedResourcesCountByAmount:(id)a0 forTabWithIdentifier:(id)a1; - (id)initWithExtension:(id)a0 extensionsController:(id)a1; - (id)initWithExtension:(id)a0 extensionsController:(id)a1 extensionBundleIdentifier:(id)a2 extensionIdentifier:(id)a3 uniqueIdentifier:(id)a4 baseURIHost:(id)a5; - (id)initWithManifestDictionary:(id)a0 extensionIdentifier:(id)a1 uniqueIdentifier:(id)a2; - (void)invalidateStorage; - (BOOL)isAccessibleResourceURL:(id)a0 fromWebPageWithURL:(id)a1; - (void)loadBackgroundPageIfNecessaryWithCompletionHandler:(id /* block */)a0; - (void)loadRegisteredContentScriptsAndStyleSheets:(id)a0; - (void)loadRegisteredContentScriptsFromStorageWithCompletionHandler:(id /* block */)a0; - (id)manifestDictionary; - (void)messageReceivedFromContainingAppWithName:(id)a0 userInfo:(id)a1; - (void)modifyInjectedContentScriptsByAddingScripts:(id)a0 removingScripts:(id)a1; - (void)nativePortConnectionOpened; - (id)pathForBestIconInIconsDictionary:(id)a0 idealPixelSize:(long long)a1; - (long long)permissionStateForURL:(id)a0; - (long long)permissionStateForURL:(id)a0 inTab:(id)a1 options:(unsigned long long)a2; - (long long)permissionStateForURL:(id)a0 options:(unsigned long long)a1; - (void)populateAllPropertiesIfNeededToRecordManifestErrors; - (void)previouslyGrantedPermissionOriginsMayHaveBeenChangedExternally:(id)a0 previouslyRevokedPermissionOrigins:(id)a1; - (BOOL)purgeMatchedRulesOlderThan:(id)a0; - (void)queueStartupEvent; - (BOOL)readAllowedInPrivateBrowsingValueFromDisk; - (void)recordContentRuleListAction:(id)a0 forURL:(id)a1 inTab:(id)a2; - (void)removeGrantedAndRevokedPermissions:(id)a0 origins:(id)a1 exactPatternMatchesOnly:(BOOL)a2; - (void)removeGrantedPermissions:(id)a0 origins:(id)a1 exactPatternMatchesOnly:(BOOL)a2; - (void)removeInjectedContentForRemovedOriginPatterns:(id)a0; - (void)removeRevokedPermissions:(id)a0 origins:(id)a1 exactPatternMatchesOnly:(BOOL)a2; - (void)removeTemporaryPermissionsForTab:(id)a0; - (void)scheduleBackgroundPageToUnload; - (id)sessionRulesStorage; - (void)setQueuedInstallEventDetails:(id)a0; - (id)toolbarImageWithBaseURI:(id)a0 idealPointSize:(long long)a1 validateAndReadResourceHandler:(id /* block */)a2; - (void)updateBackgroundPageClipboardPermission; - (void)updateDeclarativeNetRequestDynamicRulesByRemovingRules:(id)a0 addRules:(id)a1 completionHandler:(id /* block */)a2; - (void)updateDeclarativeNetRequestSessionRulesByRemovingRules:(id)a0 addRules:(id)a1 completionHandler:(id /* block */)a2; - (void)updateInjectedContentForChangedRevokedOriginPatterns:(id)a0; - (void)updateRegisteredContentScriptsByRemovingScripts:(id)a0 addScripts:(id)a1 completionHandler:(id /* block */)a2; - (id)urlForBackgroundPageWithBaseURI:(id)a0; - (id)urlForOptionsPageWithBaseURI:(id)a0; - (BOOL)verifyRequestedPermissions:(id)a0 origins:(id)a1 errorMessage:(id *)a2; - (BOOL)webViewIsDisplayingFullPageExtensionContent:(id)a0; @end