diff --git a/core/gather/driver/storage.js b/core/gather/driver/storage.js index 19bb00f18b80..4fbb15d39441 100644 --- a/core/gather/driver/storage.js +++ b/core/gather/driver/storage.js @@ -100,7 +100,8 @@ async function getImportantStorageWarning(session, url) { indexeddb: 'IndexedDB', websql: 'Web SQL', }; - const locations = usageData.usageBreakdown + const usageBreakdown = usageData.usageBreakdown || []; + const locations = usageBreakdown .filter(usage => usage.usage) .map(usage => storageTypeNames[usage.storageType] || '') .filter(Boolean); diff --git a/core/test/gather/driver/storage-test.js b/core/test/gather/driver/storage-test.js index e2a5c14b8ff9..f62029fe6365 100644 --- a/core/test/gather/driver/storage-test.js +++ b/core/test/gather/driver/storage-test.js @@ -139,4 +139,13 @@ describe('.getImportantDataWarning', () => { ); expect(warning).toBeUndefined(); }); + + it('does not warn when storage usage breakdown is omitted', async () => { + sessionMock.sendCommand.mockResponse('Storage.getUsageAndQuota', {}); + const warning = await storage.getImportantStorageWarning( + sessionMock.asSession(), + 'https://example.com' + ); + expect(warning).toBeUndefined(); + }); });