⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 248333 in webkit


Ignore:
Timestamp:
Aug 6, 2019, 5:33:34 PM (7 years ago)
Author:
Chris Dumez
Message:

Add release assertions to help catch a bug in our WebProcessCache implementation
https://bugs.webkit.org/show_bug.cgi?id=200483

Reviewed by Geoffrey Garen.

Add release assertions to help catch a bug in our WebProcessCache implementation. We
have evidence (rdar://problem/53962494) that we have processes with a page which
starts a provisional load while the process is in the WebProcessCache. This should
not be possible.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::setIsInProcessCache):
(WebKit::WebProcessProxy::addExistingWebPage):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r248330 r248333  
     12019-08-06  Chris Dumez  <cdumez@apple.com>
     2
     3        Add release assertions to help catch a bug in our WebProcessCache implementation
     4        https://bugs.webkit.org/show_bug.cgi?id=200483
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        Add release assertions to help catch a bug in our WebProcessCache implementation. We
     9        have evidence (rdar://problem/53962494) that we have processes with a page which
     10        starts a provisional load while the process is in the WebProcessCache. This should
     11        not be possible.
     12
     13        * UIProcess/WebProcessProxy.cpp:
     14        (WebKit::WebProcessProxy::setIsInProcessCache):
     15        (WebKit::WebProcessProxy::addExistingWebPage):
     16
    1172019-08-06  Dean Jackson  <dino@apple.com>
    218
  • trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp

    r247396 r248333  
    202202void WebProcessProxy::setIsInProcessCache(bool value)
    203203{
     204    if (value) {
     205        RELEASE_ASSERT(m_pageMap.isEmpty());
     206        RELEASE_ASSERT(!m_suspendedPageCount);
     207        RELEASE_ASSERT(m_provisionalPages.isEmpty());
     208    }
     209
    204210    ASSERT(m_isInProcessCache != value);
    205211    m_isInProcessCache = value;
     
    396402    ASSERT(!m_pageMap.contains(webPage.pageID()));
    397403    ASSERT(!globalPageMap().contains(webPage.pageID()));
    398     ASSERT(!m_isInProcessCache);
     404    RELEASE_ASSERT(!m_isInProcessCache);
    399405    ASSERT(!m_websiteDataStore || m_websiteDataStore == &webPage.websiteDataStore());
    400406
Note: See TracChangeset for help on using the changeset viewer.