Modified: trunk/Source/WebKit/ChangeLog (246010 => 246011)
--- trunk/Source/WebKit/ChangeLog 2019-06-01 03:20:05 UTC (rev 246010)
+++ trunk/Source/WebKit/ChangeLog 2019-06-01 04:16:40 UTC (rev 246011)
@@ -1,3 +1,20 @@
+2019-05-31 Sihui Liu <sihui_...@apple.com>
+
+ Remove outdated FIXME in StorageManager
+ https://bugs.webkit.org/show_bug.cgi?id=198049
+
+ Reviewed by Geoffrey Garen.
+
+ Previously StorageManager messages were dispatched and handled in the same thread, so we could perform a message
+ check. Now they are on different thread, and we would not be able to verify those parameters when dispatching
+ the message.
+
+ * NetworkProcess/WebStorage/StorageManager.cpp:
+ (WebKit::StorageManager::createLocalStorageMap):
+ (WebKit::StorageManager::createTransientLocalStorageMap):
+ (WebKit::StorageManager::createSessionStorageMap):
+ (WebKit::StorageManager::destroyStorageMap):
+
2019-05-31 Jiewen Tan <jiewen_...@apple.com>
Teach AuxiliaryProcess about LoadOptimizer
Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp (246010 => 246011)
--- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-06-01 03:20:05 UTC (rev 246010)
+++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp 2019-06-01 04:16:40 UTC (rev 246011)
@@ -715,18 +715,13 @@
ASSERT(!m_isEphemeral);
std::pair<IPC::Connection::UniqueID, uint64_t> connectionAndStorageMapIDPair(connectionID, storageMapID);
- // FIXME: This should be a message check.
ASSERT((HashMap<std::pair<IPC::Connection::UniqueID, uint64_t>, RefPtr<StorageArea>>::isValidKey(connectionAndStorageMapIDPair)));
auto result = m_storageAreasByConnection.add(connectionAndStorageMapIDPair, nullptr);
-
- // FIXME: These should be a message checks.
ASSERT(result.isNewEntry);
ASSERT((HashMap<uint64_t, RefPtr<LocalStorageNamespace>>::isValidKey(storageNamespaceID)));
LocalStorageNamespace* localStorageNamespace = getOrCreateLocalStorageNamespace(storageNamespaceID);
-
- // FIXME: This should be a message check.
ASSERT(localStorageNamespace);
auto storageArea = localStorageNamespace->getOrCreateStorageArea(WTFMove(securityOriginData));
@@ -739,7 +734,6 @@
void StorageManager::createTransientLocalStorageMap(IPC::Connection& connection, uint64_t storageMapID, uint64_t storageNamespaceID, SecurityOriginData&& topLevelOriginData, SecurityOriginData&& origin)
{
m_queue->dispatch([this, protectedThis = makeRef(*this), connectionID = connection.uniqueID(), storageMapID, storageNamespaceID, topLevelOriginData = topLevelOriginData.isolatedCopy(), origin = origin.isolatedCopy()]() mutable {
- // FIXME: This should be a message check.
ASSERT(m_storageAreasByConnection.isValidKey({ connectionID, storageMapID }));
// See if we already have session storage for this connection/origin combo.
@@ -764,8 +758,6 @@
}
auto& slot = m_storageAreasByConnection.add({ connectionID, storageMapID }, nullptr).iterator->value;
-
- // FIXME: This should be a message check.
ASSERT(!slot);
auto* transientLocalStorageNamespace = getOrCreateTransientLocalStorageNamespace(storageNamespaceID, WTFMove(topLevelOriginData));
@@ -784,7 +776,7 @@
m_ephemeralStorage.add(securityOriginData, WebCore::StorageMap::create(localStorageDatabaseQuotaInBytes));
return;
}
- // FIXME: This should be a message check.
+
ASSERT(m_sessionStorageNamespaces.isValidKey(storageNamespaceID));
SessionStorageNamespace* sessionStorageNamespace = m_sessionStorageNamespaces.get(storageNamespaceID);
@@ -794,15 +786,10 @@
return;
}
- // FIXME: This should be a message check.
ASSERT(m_storageAreasByConnection.isValidKey({ connectionID, storageMapID }));
auto& slot = m_storageAreasByConnection.add({ connectionID, storageMapID }, nullptr).iterator->value;
-
- // FIXME: This should be a message check.
ASSERT(!slot);
-
- // FIXME: This should be a message check.
ASSERT(sessionStorageNamespace->allowedConnections().contains(connectionID));
auto storageArea = sessionStorageNamespace->getOrCreateStorageArea(WTFMove(securityOriginData));
@@ -816,8 +803,6 @@
{
m_queue->dispatch([this, protectedThis = makeRef(*this), connectionID = connection.uniqueID(), storageMapID]() mutable {
std::pair<IPC::Connection::UniqueID, uint64_t> connectionAndStorageMapIDPair(connectionID, storageMapID);
-
- // FIXME: This should be a message check.
ASSERT(m_storageAreasByConnection.isValidKey(connectionAndStorageMapIDPair));
auto it = m_storageAreasByConnection.find(connectionAndStorageMapIDPair);