WKWebsiteDataRecordInternal.h [plain text]
#import "WKWebsiteDataRecordPrivate.h"
#if WK_API_ENABLED
#import "APIWebsiteDataRecord.h"
#import "WKObject.h"
namespace WebKit {
inline WKWebsiteDataRecord *wrapper(API::WebsiteDataRecord& websiteDataRecord)
{
ASSERT([websiteDataRecord.wrapper() isKindOfClass:[WKWebsiteDataRecord class]]);
return (WKWebsiteDataRecord *)websiteDataRecord.wrapper();
}
static inline WebKit::WebsiteDataTypes toWebsiteDataTypes(NSSet *wkWebsiteDataTypes)
{
using WebsiteDataTypes = WebKit::WebsiteDataTypes;
int websiteDataTypes = 0;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeCookies])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeCookies;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeDiskCache])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeDiskCache;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeMemoryCache])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeMemoryCache;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeOfflineWebApplicationCache])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeOfflineWebApplicationCache;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeSessionStorage])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeSessionStorage;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeLocalStorage])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeLocalStorage;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeWebSQLDatabases])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeWebSQLDatabases;
if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeIndexedDBDatabases])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeIndexedDBDatabases;
if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeHSTSCache])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeHSTSCache;
if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeMediaKeys])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypeMediaKeys;
#if ENABLE(NETSCAPE_PLUGIN_API)
if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypePlugInData])
websiteDataTypes |= WebsiteDataTypes::WebsiteDataTypePlugInData;
#endif
return static_cast<WebsiteDataTypes>(websiteDataTypes);
}
static inline RetainPtr<NSSet> toWKWebsiteDataTypes(int websiteDataTypes)
{
using WebsiteDataTypes = WebKit::WebsiteDataTypes;
auto wkWebsiteDataTypes = adoptNS([[NSMutableSet alloc] init]);
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeCookies)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeCookies];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeDiskCache)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeDiskCache];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeMemoryCache)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeMemoryCache];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeOfflineWebApplicationCache)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeOfflineWebApplicationCache];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeSessionStorage)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeSessionStorage];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeLocalStorage)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeLocalStorage];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeWebSQLDatabases)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeWebSQLDatabases];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeIndexedDBDatabases)
[wkWebsiteDataTypes addObject:WKWebsiteDataTypeIndexedDBDatabases];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeHSTSCache)
[wkWebsiteDataTypes addObject:_WKWebsiteDataTypeHSTSCache];
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypeMediaKeys)
[wkWebsiteDataTypes addObject:_WKWebsiteDataTypeMediaKeys];
#if ENABLE(NETSCAPE_PLUGIN_API)
if (websiteDataTypes & WebsiteDataTypes::WebsiteDataTypePlugInData)
[wkWebsiteDataTypes addObject:_WKWebsiteDataTypePlugInData];
#endif
return wkWebsiteDataTypes;
}
}
@interface WKWebsiteDataRecord () <WKObject> {
@package
API::ObjectStorage<API::WebsiteDataRecord> _websiteDataRecord;
}
@end
#endif