Title: [197197] trunk/Source/WebKit2
- Revision
- 197197
- Author
- [email protected]
- Date
- 2016-02-26 13:51:45 -0800 (Fri, 26 Feb 2016)
Log Message
Add a toWebsiteDataType and reimplement toWebsiteDataTypes using it
https://bugs.webkit.org/show_bug.cgi?id=154746
Reviewed by Sam Weinig.
* UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType):
(WebKit::toWebsiteDataTypes):
(WebKit::toWKWebsiteDataTypes):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (197196 => 197197)
--- trunk/Source/WebKit2/ChangeLog 2016-02-26 21:43:09 UTC (rev 197196)
+++ trunk/Source/WebKit2/ChangeLog 2016-02-26 21:51:45 UTC (rev 197197)
@@ -1,5 +1,17 @@
2016-02-26 Anders Carlsson <[email protected]>
+ Add a toWebsiteDataType and reimplement toWebsiteDataTypes using it
+ https://bugs.webkit.org/show_bug.cgi?id=154746
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
+ (WebKit::toWebsiteDataType):
+ (WebKit::toWebsiteDataTypes):
+ (WebKit::toWKWebsiteDataTypes):
+
+2016-02-26 Anders Carlsson <[email protected]>
+
Add WTF::OptionSet and use it for the website data types enum
https://bugs.webkit.org/show_bug.cgi?id=154733
Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h (197196 => 197197)
--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h 2016-02-26 21:43:09 UTC (rev 197196)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h 2016-02-26 21:51:45 UTC (rev 197197)
@@ -30,6 +30,7 @@
#import "APIWebsiteDataRecord.h"
#import "WKObject.h"
#import <wtf/OptionSet.h>
+#import <wtf/Optional.h>
namespace WebKit {
@@ -39,46 +40,52 @@
return (WKWebsiteDataRecord *)websiteDataRecord.wrapper();
}
-static inline OptionSet<WebKit::WebsiteDataType> toWebsiteDataTypes(NSSet *wkWebsiteDataTypes)
+static inline Optional<WebsiteDataType> toWebsiteDataType(NSString *websiteDataType)
{
- using WebsiteDataType = WebKit::WebsiteDataType;
-
- OptionSet<WebKit::WebsiteDataType> websiteDataTypes;
-
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeCookies])
- websiteDataTypes |= WebsiteDataType::Cookies;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeDiskCache])
- websiteDataTypes |= WebsiteDataType::DiskCache;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeMemoryCache])
- websiteDataTypes |= WebsiteDataType::MemoryCache;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeOfflineWebApplicationCache])
- websiteDataTypes |= WebsiteDataType::OfflineWebApplicationCache;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeSessionStorage])
- websiteDataTypes |= WebsiteDataType::SessionStorage;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeLocalStorage])
- websiteDataTypes |= WebsiteDataType::LocalStorage;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeWebSQLDatabases])
- websiteDataTypes |= WebsiteDataType::WebSQLDatabases;
- if ([wkWebsiteDataTypes containsObject:WKWebsiteDataTypeIndexedDBDatabases])
- websiteDataTypes |= WebsiteDataType::IndexedDBDatabases;
- if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeHSTSCache])
- websiteDataTypes |= WebsiteDataType::HSTSCache;
- if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeMediaKeys])
- websiteDataTypes |= WebsiteDataType::MediaKeys;
- if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypeSearchFieldRecentSearches])
- websiteDataTypes |= WebsiteDataType::SearchFieldRecentSearches;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeCookies])
+ return WebsiteDataType::Cookies;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeDiskCache])
+ return WebsiteDataType::DiskCache;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeMemoryCache])
+ return WebsiteDataType::MemoryCache;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeOfflineWebApplicationCache])
+ return WebsiteDataType::OfflineWebApplicationCache;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeSessionStorage])
+ return WebsiteDataType::SessionStorage;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeLocalStorage])
+ return WebsiteDataType::LocalStorage;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeWebSQLDatabases])
+ return WebsiteDataType::WebSQLDatabases;
+ if ([websiteDataType isEqualToString:WKWebsiteDataTypeIndexedDBDatabases])
+ return WebsiteDataType::IndexedDBDatabases;
+ if ([websiteDataType isEqualToString:_WKWebsiteDataTypeHSTSCache])
+ return WebsiteDataType::HSTSCache;
+ if ([websiteDataType isEqualToString:_WKWebsiteDataTypeMediaKeys])
+ return WebsiteDataType::MediaKeys;
+ if ([websiteDataType isEqualToString:_WKWebsiteDataTypeSearchFieldRecentSearches])
+ return WebsiteDataType::SearchFieldRecentSearches;
#if ENABLE(NETSCAPE_PLUGIN_API)
- if ([wkWebsiteDataTypes containsObject:_WKWebsiteDataTypePlugInData])
- websiteDataTypes |= WebsiteDataType::PlugInData;
+ if ([websiteDataType isEqualToString:_WKWebsiteDataTypePlugInData])
+ return WebsiteDataType::PlugInData;
#endif
- return websiteDataTypes;
+ return Nullopt;
}
+static inline OptionSet<WebKit::WebsiteDataType> toWebsiteDataTypes(NSSet *websiteDataTypes)
+{
+ OptionSet<WebKit::WebsiteDataType> result;
+
+ for (NSString *websiteDataType in websiteDataTypes) {
+ if (auto dataType = toWebsiteDataType(websiteDataType))
+ result |= *dataType;
+ }
+
+ return result;
+}
+
static inline RetainPtr<NSSet> toWKWebsiteDataTypes(OptionSet<WebKit::WebsiteDataType> websiteDataTypes)
{
-// using WebsiteDataTypes = WebKit::WebsiteDataType;
-
auto wkWebsiteDataTypes = adoptNS([[NSMutableSet alloc] init]);
if (websiteDataTypes.contains(WebsiteDataType::Cookies))
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes