diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 10e88c7..cf4d567 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,5 +1,24 @@
 2019-10-11  Chris Dumez  <cdumez@apple.com>
 
+        API Test TestWebKitAPI.WebKit.DefaultQuota is very flaky on High Sierra
+        https://bugs.webkit.org/show_bug.cgi?id=202850
+
+        Reviewed by Alex Christensen.
+
+        Make sure the DOMCache / DOMCacheStorage objects stay alive while they have pending
+        promises to be resolved.
+
+        * Modules/cache/DOMCache.cpp:
+        (WebCore::DOMCache::hasPendingActivity const):
+        * Modules/cache/DOMCache.h:
+        * Modules/cache/DOMCache.idl:
+        * Modules/cache/DOMCacheStorage.cpp:
+        (WebCore::DOMCacheStorage::hasPendingActivity const):
+        * Modules/cache/DOMCacheStorage.h:
+        * Modules/cache/DOMCacheStorage.idl:
+
+2019-10-11  Chris Dumez  <cdumez@apple.com>
+
         Unreviewed, address post-landing feedback from Darin for r251019.
 
         Added a new comment for clarity.
diff --git a/Source/WebCore/Modules/cache/DOMCache.cpp b/Source/WebCore/Modules/cache/DOMCache.cpp
index b6316d7..b9f935b 100644
--- a/Source/WebCore/Modules/cache/DOMCache.cpp
+++ b/Source/WebCore/Modules/cache/DOMCache.cpp
@@ -613,5 +613,10 @@
     return true;
 }
 
+bool DOMCache::hasPendingActivity() const
+{
+    return m_taskQueue->hasPendingTasks() || ActiveDOMObject::hasPendingActivity();
+}
+
 
 } // namespace WebCore
diff --git a/Source/WebCore/Modules/cache/DOMCache.h b/Source/WebCore/Modules/cache/DOMCache.h
index cf2061d..4dc03ca 100644
--- a/Source/WebCore/Modules/cache/DOMCache.h
+++ b/Source/WebCore/Modules/cache/DOMCache.h
@@ -63,6 +63,9 @@
 
     CacheStorageConnection& connection() { return m_connection.get(); }
 
+    // ActiveDOMObject
+    bool hasPendingActivity() const final;
+
 private:
     DOMCache(ScriptExecutionContext&, String&& name, uint64_t identifier, Ref<CacheStorageConnection>&&);
 
diff --git a/Source/WebCore/Modules/cache/DOMCache.idl b/Source/WebCore/Modules/cache/DOMCache.idl
index 8340e95..6826b46 100644
--- a/Source/WebCore/Modules/cache/DOMCache.idl
+++ b/Source/WebCore/Modules/cache/DOMCache.idl
@@ -26,6 +26,7 @@
 typedef (FetchRequest or USVString) RequestInfo;
 
 [
+    ActiveDOMObject,
     SecureContext,
     Exposed=(Window,Worker),
     EnabledAtRuntime=CacheAPI,
diff --git a/Source/WebCore/Modules/cache/DOMCacheStorage.cpp b/Source/WebCore/Modules/cache/DOMCacheStorage.cpp
index cc289a6..56f813f 100644
--- a/Source/WebCore/Modules/cache/DOMCacheStorage.cpp
+++ b/Source/WebCore/Modules/cache/DOMCacheStorage.cpp
@@ -293,4 +293,9 @@
     return true;
 }
 
+bool DOMCacheStorage::hasPendingActivity() const
+{
+    return m_taskQueue->hasPendingTasks() || ActiveDOMObject::hasPendingActivity();
+}
+
 } // namespace WebCore
diff --git a/Source/WebCore/Modules/cache/DOMCacheStorage.h b/Source/WebCore/Modules/cache/DOMCacheStorage.h
index 9b6d9b1..66e88b3 100644
--- a/Source/WebCore/Modules/cache/DOMCacheStorage.h
+++ b/Source/WebCore/Modules/cache/DOMCacheStorage.h
@@ -47,6 +47,9 @@
     void remove(const String&, DOMPromiseDeferred<IDLBoolean>&&);
     void keys(KeysPromise&&);
 
+    // ActiveDOMObject
+    bool hasPendingActivity() const final;
+
 private:
     DOMCacheStorage(ScriptExecutionContext&, Ref<CacheStorageConnection>&&);
 
diff --git a/Source/WebCore/Modules/cache/DOMCacheStorage.idl b/Source/WebCore/Modules/cache/DOMCacheStorage.idl
index 03196c5..55bdc26 100644
--- a/Source/WebCore/Modules/cache/DOMCacheStorage.idl
+++ b/Source/WebCore/Modules/cache/DOMCacheStorage.idl
@@ -26,6 +26,7 @@
 typedef (FetchRequest or USVString) RequestInfo;
 
 [
+    ActiveDOMObject,
     SecureContext,
     Exposed=(Window,Worker),
     EnabledAtRuntime=CacheAPI,
