Changeset 239437 in webkit
- Timestamp:
- Dec 20, 2018 1:12:27 AM (5 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r239427 r239437 1 2018-12-20 Chris Dumez <cdumez@apple.com> 2 3 [PSON] SuspendedPageProxy fails to release its process assertion if the WebPage fails to enter PageCache 4 https://bugs.webkit.org/show_bug.cgi?id=192873 5 6 Reviewed by Antti Koivisto. 7 8 SuspendedPageProxy fails to release its process assertion if the WebPage fails to enter PageCache, preventing 9 the process from suspending on iOS. 10 11 * UIProcess/SuspendedPageProxy.cpp: 12 (WebKit::SuspendedPageProxy::didProcessRequestToSuspend): 13 (WebKit::SuspendedPageProxy::didReceiveMessage): 14 (WebKit::SuspendedPageProxy::didSuspend): Deleted. 15 (WebKit::SuspendedPageProxy::didFailToSuspend): Deleted. 16 * UIProcess/SuspendedPageProxy.h: 17 1 18 2018-12-19 Chris Dumez <cdumez@apple.com> 2 19 -
trunk/Source/WebKit/UIProcess/SuspendedPageProxy.cpp
r239333 r239437 139 139 } 140 140 141 void SuspendedPageProxy::did Suspend()141 void SuspendedPageProxy::didProcessRequestToSuspend(SuspensionState newSuspensionState) 142 142 { 143 143 LOG(ProcessSwapping, "SuspendedPageProxy %s from process %i finished transition to suspended", loggingString(), m_process->processIdentifier()); 144 144 145 145 ASSERT(m_suspensionState == SuspensionState::Suspending); 146 m_suspensionState = SuspensionState::Suspended; 146 ASSERT(newSuspensionState == SuspensionState::Suspended || newSuspensionState == SuspensionState::FailedToSuspend); 147 148 m_suspensionState = newSuspensionState; 147 149 148 150 #if PLATFORM(IOS_FAMILY) 149 151 m_suspensionToken = nullptr; 150 152 #endif 151 152 if (m_readyToUnsuspendHandler)153 m_readyToUnsuspendHandler(this);154 }155 156 void SuspendedPageProxy::didFailToSuspend()157 {158 ASSERT(m_suspensionState == SuspensionState::Suspending);159 m_suspensionState = SuspensionState::FailedToSuspend;160 153 161 154 if (m_readyToUnsuspendHandler) … … 168 161 169 162 if (decoder.messageName() == Messages::WebPageProxy::DidSuspendAfterProcessSwap::name()) { 170 did Suspend();163 didProcessRequestToSuspend(SuspensionState::Suspended); 171 164 return; 172 165 } 173 166 174 167 if (decoder.messageName() == Messages::WebPageProxy::DidFailToSuspendAfterProcessSwap::name()) { 175 did FailToSuspend();168 didProcessRequestToSuspend(SuspensionState::FailedToSuspend); 176 169 return; 177 170 } -
trunk/Source/WebKit/UIProcess/SuspendedPageProxy.h
r239333 r239437 58 58 59 59 private: 60 void didSuspend();61 void did FailToSuspend();60 enum class SuspensionState : uint8_t { Suspending, FailedToSuspend, Suspended, Resumed }; 61 void didProcessRequestToSuspend(SuspensionState); 62 62 63 63 // IPC::MessageReceiver … … 70 70 String m_registrableDomain; 71 71 72 enum class SuspensionState : uint8_t { Suspending, FailedToSuspend, Suspended, Resumed };73 72 SuspensionState m_suspensionState { SuspensionState::Suspending }; 74 73 CompletionHandler<void(SuspendedPageProxy*)> m_readyToUnsuspendHandler;
Note: See TracChangeset
for help on using the changeset viewer.