- a/Source/WebKit2/ChangeLog +12 lines
Lines 1-5 a/Source/WebKit2/ChangeLog_sec1
1
2016-02-26  Anders Carlsson  <andersca@apple.com>
1
2016-02-26  Anders Carlsson  <andersca@apple.com>
2
2
3
        Add a toWebsiteDataType and reimplement toWebsiteDataTypes using it
4
        https://bugs.webkit.org/show_bug.cgi?id=154746
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
9
        (WebKit::toWebsiteDataType):
10
        (WebKit::toWebsiteDataTypes):
11
        (WebKit::toWKWebsiteDataTypes):
12
13
2016-02-26  Anders Carlsson  <andersca@apple.com>
14
3
        Add WTF::OptionSet and use it for the website data types enum
15
        Add WTF::OptionSet and use it for the website data types enum
4
        https://bugs.webkit.org/show_bug.cgi?id=154733
16
        https://bugs.webkit.org/show_bug.cgi?id=154733
5
17
- a/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h -32 / +39 lines
Lines 30-35 a/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h_sec1
30
#import "APIWebsiteDataRecord.h"
30
#import "APIWebsiteDataRecord.h"
31
#import "WKObject.h"
31
#import "WKObject.h"
32
#import <wtf/OptionSet.h>
32
#import <wtf/OptionSet.h>
33
#import <wtf/Optional.h>
33
34
34
namespace WebKit {
35
namespace WebKit {
35
36
Lines 39-84 inline WKWebsiteDataRecord *wrapper(API::WebsiteDataRecord& websiteDataRecord) a/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h_sec2
39
    return (WKWebsiteDataRecord *)websiteDataRecord.wrapper();
40
    return (WKWebsiteDataRecord *)websiteDataRecord.wrapper();
40
}
41
}
41
42
42
static inline OptionSet<WebKit::WebsiteDataType> toWebsiteDataTypes(NSSet *wkWebsiteDataTypes)
43
static inline Optional<WebsiteDataType> toWebsiteDataType(NSString *websiteDataType)
43
{
44
{
44
    using WebsiteDataType = WebKit::WebsiteDataType;
45
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeCookies])
45
46
        return WebsiteDataType::Cookies;
46
    OptionSet<WebKit::WebsiteDataType> websiteDataTypes;
47
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeDiskCache])
47
48
        return WebsiteDataType::DiskCache;
48
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeCookies])
49
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeMemoryCache])
49
        websiteDataTypes |= WebsiteDataType::Cookies;
50
        return WebsiteDataType::MemoryCache;
50
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeDiskCache])
51
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeOfflineWebApplicationCache])
51
        websiteDataTypes |= WebsiteDataType::DiskCache;
52
        return WebsiteDataType::OfflineWebApplicationCache;
52
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeMemoryCache])
53
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeSessionStorage])
53
        websiteDataTypes |= WebsiteDataType::MemoryCache;
54
        return WebsiteDataType::SessionStorage;
54
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeOfflineWebApplicationCache])
55
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeLocalStorage])
55
        websiteDataTypes |= WebsiteDataType::OfflineWebApplicationCache;
56
        return WebsiteDataType::LocalStorage;
56
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeSessionStorage])
57
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeWebSQLDatabases])
57
        websiteDataTypes |= WebsiteDataType::SessionStorage;
58
        return WebsiteDataType::WebSQLDatabases;
58
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeLocalStorage])
59
    if ([websiteDataType isEqualToString:WKWebsiteDataTypeIndexedDBDatabases])
59
        websiteDataTypes |= WebsiteDataType::LocalStorage;
60
        return WebsiteDataType::IndexedDBDatabases;
60
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeWebSQLDatabases])
61
    if ([websiteDataType isEqualToString:_WKWebsiteDataTypeHSTSCache])
61
        websiteDataTypes |= WebsiteDataType::WebSQLDatabases;
62
        return WebsiteDataType::HSTSCache;
62
    if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeIndexedDBDatabases])
63
    if ([websiteDataType isEqualToString:_WKWebsiteDataTypeMediaKeys])
63
        websiteDataTypes |= WebsiteDataType::IndexedDBDatabases;
64
        return WebsiteDataType::MediaKeys;
64
    if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeHSTSCache])
65
    if ([websiteDataType isEqualToString:_WKWebsiteDataTypeSearchFieldRecentSearches])
65
        websiteDataTypes |= WebsiteDataType::HSTSCache;
66
        return WebsiteDataType::SearchFieldRecentSearches;
66
    if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeMediaKeys])
67
        websiteDataTypes |= WebsiteDataType::MediaKeys;
68
    if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeSearchFieldRecentSearches])
69
        websiteDataTypes |= WebsiteDataType::SearchFieldRecentSearches;
70
#if ENABLE(NETSCAPE_PLUGIN_API)
67
#if ENABLE(NETSCAPE_PLUGIN_API)
71
    if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypePlugInData])
68
    if ([websiteDataType isEqualToString:_WKWebsiteDataTypePlugInData])
72
        websiteDataTypes |= WebsiteDataType::PlugInData;
69
        return WebsiteDataType::PlugInData;
73
#endif
70
#endif
74
71
75
    return websiteDataTypes;
72
    return Nullopt;
76
}
73
}
77
74
78
static inline RetainPtr<NSSet> toWKWebsiteDataTypes(OptionSet<WebKit::WebsiteDataType> websiteDataTypes)
75
static inline OptionSet<WebKit::WebsiteDataType> toWebsiteDataTypes(NSSet *websiteDataTypes)
79
{
76
{
80
//    using WebsiteDataTypes = WebKit::WebsiteDataType;
77
    OptionSet<WebKit::WebsiteDataType> result;
78
79
    for (NSString *websiteDataType in websiteDataTypes) {
80
        if (auto dataType = toWebsiteDataType(websiteDataType))
81
            result |= *dataType;
82
    }
83
84
    return result;
85
}
81
86
87
static inline RetainPtr<NSSet> toWKWebsiteDataTypes(OptionSet<WebKit::WebsiteDataType> websiteDataTypes)
88
{
82
    auto wkWebsiteDataTypes = adoptNS([[NSMutableSet alloc] init]);
89
    auto wkWebsiteDataTypes = adoptNS([[NSMutableSet alloc] init]);
83
90
84
    if (websiteDataTypes.contains(WebsiteDataType::Cookies))
91
    if (websiteDataTypes.contains(WebsiteDataType::Cookies))

Return to Bug 154746