Diff
Modified: trunk/Source/WebKit/ChangeLog (235168 => 235169)
--- trunk/Source/WebKit/ChangeLog 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/ChangeLog 2018-08-22 14:19:48 UTC (rev 235169)
@@ -1,3 +1,28 @@
+2018-08-22 Antti Koivisto <[email protected]>
+
+ Use OptionSet for NetworkCache::Storage::TraverseFlags
+ https://bugs.webkit.org/show_bug.cgi?id=188837
+
+ Reviewed by Anders Carlsson.
+
+ Type safe flags.
+
+ * NetworkProcess/cache/CacheStorageEngineCaches.cpp:
+ (WebKit::CacheStorage::Caches::initializeSize):
+ (WebKit::CacheStorage::Caches::readRecordsList):
+ * NetworkProcess/cache/NetworkCache.cpp:
+ (WebKit::NetworkCache::Cache::traverse):
+ (WebKit::NetworkCache::Cache::dumpContentsToFile):
+ * NetworkProcess/cache/NetworkCacheStorage.cpp:
+ (WebKit::NetworkCache::Storage::TraverseOperation::TraverseOperation):
+ (WebKit::NetworkCache::Storage::traverse):
+ * NetworkProcess/cache/NetworkCacheStorage.h:
+ * WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp:
+ (WebKit::UserMediaPermissionRequestManager::captureDevicesChanged):
+ (WebKit::UserMediaPermissionRequestManager::activityStateDidChange):
+
+ Also use OptionSet<>::containsAll() in a few places.
+
2018-08-22 Carlos Garcia Campos <[email protected]>
[WPE] pkg-config files should require libwpe
Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp (235168 => 235169)
--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.cpp 2018-08-22 14:19:48 UTC (rev 235169)
@@ -186,7 +186,7 @@
}
uint64_t size = 0;
- m_storage->traverse({ }, 0, [protectedThis = makeRef(*this), this, protectedStorage = makeRef(*m_storage), size](const auto* storage, const auto& information) mutable {
+ m_storage->traverse({ }, { }, [protectedThis = makeRef(*this), this, protectedStorage = makeRef(*m_storage), size](const auto* storage, const auto& information) mutable {
if (!storage) {
if (m_pendingInitializationCallbacks.isEmpty()) {
// Caches was cleared so let's not get initialized.
@@ -460,7 +460,7 @@
callback(nullptr, { });
return;
}
- m_storage->traverse(cache.uniqueName(), 0, [protectedStorage = makeRef(*m_storage), callback = WTFMove(callback)](const auto* storage, const auto& information) {
+ m_storage->traverse(cache.uniqueName(), { }, [protectedStorage = makeRef(*m_storage), callback = WTFMove(callback)](const auto* storage, const auto& information) {
callback(storage, information);
});
}
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp (235168 => 235169)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCache.cpp 2018-08-22 14:19:48 UTC (rev 235169)
@@ -483,7 +483,7 @@
++m_traverseCount;
- m_storage->traverse(resourceType(), 0, [this, protectedThis = makeRef(*this), traverseHandler = WTFMove(traverseHandler)](const Storage::Record* record, const Storage::RecordInfo& recordInfo) {
+ m_storage->traverse(resourceType(), { }, [this, protectedThis = makeRef(*this), traverseHandler = WTFMove(traverseHandler)](const Storage::Record* record, const Storage::RecordInfo& recordInfo) {
if (!record) {
--m_traverseCount;
traverseHandler(nullptr);
@@ -518,7 +518,7 @@
size_t bodySize { 0 };
};
Totals totals;
- auto flags = Storage::TraverseFlag::ComputeWorth | Storage::TraverseFlag::ShareCount;
+ auto flags = { Storage::TraverseFlag::ComputeWorth, Storage::TraverseFlag::ShareCount };
size_t capacity = m_storage->capacity();
m_storage->traverse(resourceType(), flags, [fd, totals, capacity](const Storage::Record* record, const Storage::RecordInfo& info) mutable {
if (!record) {
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp (235168 => 235169)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.cpp 2018-08-22 14:19:48 UTC (rev 235169)
@@ -123,7 +123,7 @@
struct Storage::TraverseOperation {
WTF_MAKE_FAST_ALLOCATED;
public:
- TraverseOperation(Storage& storage, const String& type, TraverseFlags flags, TraverseHandler&& handler)
+ TraverseOperation(Storage& storage, const String& type, OptionSet<TraverseFlag> flags, TraverseHandler&& handler)
: storage(storage)
, type(type)
, flags(flags)
@@ -132,7 +132,7 @@
Ref<Storage> storage;
const String type;
- const TraverseFlags flags;
+ const OptionSet<TraverseFlag> flags;
const TraverseHandler handler;
Lock activeMutex;
@@ -902,7 +902,7 @@
m_writeOperationDispatchTimer.startOneShot(m_initialWriteDelay);
}
-void Storage::traverse(const String& type, TraverseFlags flags, TraverseHandler&& traverseHandler)
+void Storage::traverse(const String& type, OptionSet<TraverseFlag> flags, TraverseHandler&& traverseHandler)
{
ASSERT(RunLoop::isMain());
ASSERT(traverseHandler);
Modified: trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.h (235168 => 235169)
--- trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.h 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/NetworkProcess/cache/NetworkCacheStorage.h 2018-08-22 14:19:48 UTC (rev 235169)
@@ -98,10 +98,9 @@
ComputeWorth = 1 << 0,
ShareCount = 1 << 1,
};
- typedef unsigned TraverseFlags;
- typedef Function<void (const Record*, const RecordInfo&)> TraverseHandler;
+ using TraverseHandler = Function<void (const Record*, const RecordInfo&)>;
// Null record signals end.
- void traverse(const String& type, TraverseFlags, TraverseHandler&&);
+ void traverse(const String& type, OptionSet<TraverseFlag>, TraverseHandler&&);
void setCapacity(size_t);
size_t capacity() const { return m_capacity; }
Modified: trunk/Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp (235168 => 235169)
--- trunk/Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp 2018-08-22 14:13:29 UTC (rev 235168)
+++ trunk/Source/WebKit/WebProcess/MediaStream/UserMediaPermissionRequestManager.cpp 2018-08-22 14:19:48 UTC (rev 235169)
@@ -254,7 +254,7 @@
// * any of the input devices are attached to an active MediaStream in the browsing context, or
// * the active document is fully active and has focus.
- bool isActive = (m_page.corePage()->activityState() & focusedActiveWindow) == focusedActiveWindow;
+ bool isActive = m_page.corePage()->activityState().containsAll(focusedActiveWindow);
if (!isActive && accessState == DeviceAccessState::NoAccess) {
if (!isActive) {
if (!m_monitoringActivityStateChange) {
@@ -277,7 +277,7 @@
void UserMediaPermissionRequestManager::activityStateDidChange(OptionSet<WebCore::ActivityState::Flag> oldActivityState, OptionSet<WebCore::ActivityState::Flag> newActivityState)
{
- if ((newActivityState & focusedActiveWindow) != focusedActiveWindow)
+ if (!newActivityState.containsAll(focusedActiveWindow))
return;
RunLoop::main().dispatch([this, weakThis = makeWeakPtr(*this)]() mutable {