Teach WebProcessPool to track a map of SessionIDs to WebPageProxys to manage their lifetime
Created attachment 308503 [details] Patch
Comment on attachment 308503 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308503&action=review > Source/WebKit2/UIProcess/WebProcessPool.cpp:954 > + // FIXME: Remove this ASSERT and change these messages once multiple persistent sessions exist. > + ASSERT(sessionID.isEphemeral()); > + networkProcess()->send(Messages::NetworkProcess::DestroyPrivateBrowsingSession(sessionID), 0); > + page.process().send(Messages::WebProcess::DestroyPrivateBrowsingSession(sessionID), 0); I guess we'll also rename DestroyPrivateBrowsingSession to DestroySession, right? > Source/WebKit2/UIProcess/WebProcessProxy.cpp:293 > + auto removedPage = m_pageMap.take(pageID); auto*
(In reply to Alex Christensen from comment #2) > Comment on attachment 308503 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=308503&action=review > > > Source/WebKit2/UIProcess/WebProcessPool.cpp:954 > > + // FIXME: Remove this ASSERT and change these messages once multiple persistent sessions exist. > > + ASSERT(sessionID.isEphemeral()); > > + networkProcess()->send(Messages::NetworkProcess::DestroyPrivateBrowsingSession(sessionID), 0); > > + page.process().send(Messages::WebProcess::DestroyPrivateBrowsingSession(sessionID), 0); > > I guess we'll also rename DestroyPrivateBrowsingSession to DestroySession, > right? Yup. > > > Source/WebKit2/UIProcess/WebProcessProxy.cpp:293 > > + auto removedPage = m_pageMap.take(pageID); > > auto* Sure.
Created attachment 308505 [details] Patch
Will cq+ after EWS starts to look green
EWS is unhappy with 215916 I think
Comment on attachment 308505 [details] Patch Clearing flags on attachment: 308505 Committed r215923: <http://trac.webkit.org/changeset/215923>
All reviewed patches have been landed. Closing bug.
Comment on attachment 308505 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=308505&action=review > Source/WebKit2/UIProcess/API/APIPageConfiguration.cpp:160 > +#if !ASSERT_DISABLED > + if (m_websiteDataStore) > + ASSERT(m_websiteDataStore->websiteDataStore().sessionID() == m_sessionID); > +#endif You can ASSERT(!m_websiteDataStore || ...) to avoid the #ifdef.