Blame SOURCES/CVE-2021-30858.patch

8e070d
Index: /Source/WTF/wtf/CrossThreadTask.h
8e070d
===================================================================
8e070d
--- /Source/WTF/wtf/CrossThreadTask.h	(revision 281383)
8e070d
+++ /Source/WTF/wtf/CrossThreadTask.h	(revision 281384)
8e070d
@@ -88,5 +88,5 @@
8e070d
 }
8e070d
 
8e070d
-template<typename T, typename std::enable_if<std::is_base_of<ThreadSafeRefCounted<T>, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
8e070d
+template<typename T, typename std::enable_if<std::is_base_of<ThreadSafeRefCountedBase, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
8e070d
 CrossThreadTask createCrossThreadTask(T& callee, void (T::*method)(Parameters...), const Arguments&... arguments)
8e070d
 {
8e070d
@@ -96,5 +96,5 @@
8e070d
 }
8e070d
 
8e070d
-template<typename T, typename std::enable_if<!std::is_base_of<ThreadSafeRefCounted<T>, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
8e070d
+template<typename T, typename std::enable_if<!std::is_base_of<ThreadSafeRefCountedBase, T>::value, int>::type = 0, typename... Parameters, typename... Arguments>
8e070d
 CrossThreadTask createCrossThreadTask(T& callee, void (T::*method)(Parameters...), const Arguments&... arguments)
8e070d
 {
8e070d
Index: /Source/WebCore/Modules/indexeddb/IDBRequest.cpp
8e070d
===================================================================
8e070d
--- /Source/WebCore/Modules/indexeddb/IDBRequest.cpp	(revision 281383)
8e070d
+++ /Source/WebCore/Modules/indexeddb/IDBRequest.cpp	(revision 281384)
8e070d
@@ -309,5 +309,6 @@
8e070d
         targets = { this, m_transaction.get(), &m_transaction->database() };
8e070d
 
8e070d
-    m_hasPendingActivity = false;
8e070d
+    if (event.isTrusted())
8e070d
+        m_hasPendingActivity = false;
8e070d
 
8e070d
     {