Changeset 228854 in webkit
- Timestamp:
- Feb 20, 2018 6:17:57 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r228853 r228854 1 2018-02-20 Brian Burg <bburg@apple.com> 2 3 ASSERT under WebAutomationSession::setProcessPool() when running W3C test suite a second time 4 https://bugs.webkit.org/show_bug.cgi?id=182991 5 <rdar://problem/37620578> 6 7 Reviewed by Timothy Hatcher. 8 9 Sometimes when running more than one session end-to-end with the same browser instance, 10 UIProcess would crash under addMessageReceiver because another WebAutomationSession was still 11 registered. This is hard to reproduce, but upon code inspection, the receiver management code 12 is somewhat problematic because it only runs when the WebAutomationSession destructor runs. 13 In some cases the client could retain two sessions and cause the first one to never remove itself 14 as the message receiver. 15 16 Instead of unregistering the session as a message receiver underneath the session's destructor, 17 do this whenever a new session supplants an old session since there is only one active session at a time. 18 19 * UIProcess/Automation/WebAutomationSession.cpp: 20 (WebKit::WebAutomationSession::~WebAutomationSession): 21 * UIProcess/WebProcessPool.cpp: 22 (WebKit::WebProcessPool::setAutomationSession): 23 1 24 2018-02-20 Tim Horton <timothy_horton@apple.com> 2 25 -
trunk/Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp
r228434 r228854 72 72 { 73 73 ASSERT(!m_client); 74 75 if (m_processPool) 76 m_processPool->removeMessageReceiver(Messages::WebAutomationSession::messageReceiverName()); 74 ASSERT(!m_processPool); 77 75 } 78 76 -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r228587 r228854 1503 1503 void WebProcessPool::setAutomationSession(RefPtr<WebAutomationSession>&& automationSession) 1504 1504 { 1505 if (m_automationSession) 1506 m_automationSession->setProcessPool(nullptr); 1507 1505 1508 m_automationSession = WTFMove(automationSession); 1506 1509
Note: See TracChangeset
for help on using the changeset viewer.