Changeset 245339 in webkit
- Timestamp:
- May 15, 2019, 12:50:54 PM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 4 edited
-
ChangeLog (modified) (1 diff)
-
UIProcess/WebProcessCache.cpp (modified) (1 diff)
-
UIProcess/WebProcessLifetimeObserver.cpp (modified) (3 diffs)
-
UIProcess/WebProcessLifetimeObserver.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r245338 r245339 1 2019-05-15 Sihui Liu <sihui_liu@apple.com> 2 3 Add assertions to help diagnose crash at WebProcessProxy::processPool() 4 https://bugs.webkit.org/show_bug.cgi?id=197856 5 <rdar://problem/49341366> 6 7 Reviewed by Chris Dumez. 8 9 * UIProcess/WebProcessCache.cpp: 10 (WebKit::WebProcessCache::CachedProcess::CachedProcess): 11 * UIProcess/WebProcessLifetimeObserver.cpp: 12 (WebKit::WebProcessLifetimeObserver::addWebPage): 13 (WebKit::WebProcessLifetimeObserver::removeWebPage): 14 * UIProcess/WebProcessLifetimeObserver.h: 15 (WebKit::WebProcessLifetimeObserver::hasProcess const): 16 1 17 2019-05-15 Wenson Hsieh <wenson_hsieh@apple.com> 2 18 -
trunk/Source/WebKit/UIProcess/WebProcessCache.cpp
r243163 r245339 247 247 , m_evictionTimer(RunLoop::main(), this, &CachedProcess::evictionTimerFired) 248 248 { 249 RELEASE_ASSERT(!m_process->pageCount()); 250 RELEASE_ASSERT_WITH_MESSAGE(!m_process->websiteDataStore().hasProcess(process.ptr()), "Only processes with pages should be registered with the data store"); 249 251 m_process->setIsInProcessCache(true); 250 252 m_evictionTimer.startOneShot(cachedProcessLifetime); -
trunk/Source/WebKit/UIProcess/WebProcessLifetimeObserver.cpp
r242182 r245339 27 27 #include "WebProcessLifetimeObserver.h" 28 28 29 #include "Logging.h" 29 30 #include "WebPageProxy.h" 30 31 #include "WebProcessProxy.h" … … 43 44 { 44 45 ASSERT(process.state() == WebProcessProxy::State::Running); 46 RELEASE_ASSERT(!process.isInProcessCache()); 47 RELEASE_ASSERT(!process.isPrewarmed()); 45 48 46 if (m_processes.add(&process).isNewEntry) 49 if (m_processes.add(&process).isNewEntry) { 50 RELEASE_LOG(Loading, "%p - WebProcessLifetimeObserver::addWebPage: webPID = %i, pageID = %" PRIu64, this, process.processIdentifier(), webPageProxy.pageID()); 47 51 webProcessWillOpenConnection(process, *process.connection()); 52 } 48 53 49 54 webPageWillOpenConnection(webPageProxy, *process.connection()); … … 58 63 webPageDidCloseConnection(webPageProxy, *process.connection()); 59 64 60 if (m_processes.remove(&process)) 65 if (m_processes.remove(&process)) { 66 RELEASE_LOG(Loading, "%p - WebProcessLifetimeObserver::removeWebPage: webPID = %i, pageID = %" PRIu64, this, process.processIdentifier(), webPageProxy.pageID()); 61 67 webProcessDidCloseConnection(process, *process.connection()); 68 } 62 69 } 63 70 -
trunk/Source/WebKit/UIProcess/WebProcessLifetimeObserver.h
r242182 r245339 49 49 WTF::IteratorRange<HashCountedSet<WebProcessProxy*>::const_iterator::Keys> processes() const; 50 50 51 bool hasProcess(WebProcessProxy* process) const { return m_processes.contains(process); } 52 51 53 private: 52 54 friend class WebProcessLifetimeTracker;
Note:
See TracChangeset
for help on using the changeset viewer.