Add more release logging for "Unexpectedly resumed" assertion
https://bugs.webkit.org/show_bug.cgi?id=203196

Reviewed by Geoffrey Garen.

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::processDidResume):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::processTaskStateDidChange):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@251370 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index f99bf09..e41de38 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,15 @@
+2019-10-21  Chris Dumez  <cdumez@apple.com>
+
+        Add more release logging for "Unexpectedly resumed" assertion
+        https://bugs.webkit.org/show_bug.cgi?id=203196
+
+        Reviewed by Geoffrey Garen.
+
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::processDidResume):
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::processTaskStateDidChange):
+
 2019-10-21  Carlos Garcia Campos  <cgarcia@igalia.com>
 
         [GTK] Objects category in emoji picker is empty
diff --git a/Source/WebKit/WebProcess/WebProcess.cpp b/Source/WebKit/WebProcess/WebProcess.cpp
index b21f497..7bb323d 100644
--- a/Source/WebKit/WebProcess/WebProcess.cpp
+++ b/Source/WebKit/WebProcess/WebProcess.cpp
@@ -1541,7 +1541,10 @@
     accessibilityProcessSuspendedNotification(false);
     {
         LockHolder holder(m_unexpectedlyResumedUIAssertionLock);
-        m_unexpectedlyResumedUIAssertion = nullptr;
+        if (m_unexpectedlyResumedUIAssertion) {
+            RELEASE_LOG(ProcessSuspension, "%p - WebProcess::processDidResume() Releasing 'Unexpectedly resumed' assertion", this);
+            m_unexpectedlyResumedUIAssertion = nullptr;
+        }
     }
 #endif
 
diff --git a/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm b/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
index 5d1a302..51bc8a5 100644
--- a/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
+++ b/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
@@ -317,6 +317,7 @@
 
     // We were awakened from suspension unexpectedly. Notify the WebProcessProxy, but take a process assertion on our parent PID
     // to ensure that it too is awakened.
+    RELEASE_LOG(ProcessSuspension, "%p - WebProcess::processTaskStateChanged() Taking 'Unexpectedly resumed' assertion", this);
     m_unexpectedlyResumedUIAssertion = adoptNS([[BKSProcessAssertion alloc] initWithPID:parentProcessConnection()->remoteProcessID() flags:BKSProcessAssertionPreventTaskSuspend reason:BKSProcessAssertionReasonFinishTask name:@"Unexpectedly resumed" withHandler:nil]);
 
     auto releaseAssertion = [this] {
@@ -324,6 +325,7 @@
         if (!m_unexpectedlyResumedUIAssertion)
             return;
 
+        RELEASE_LOG(ProcessSuspension, "%p - WebProcess::processTaskStateChanged() Releasing 'Unexpectedly resumed' assertion due to time out", this);
         [m_unexpectedlyResumedUIAssertion invalidate];
         m_unexpectedlyResumedUIAssertion = nullptr;
     };