Changeset 256932 in webkit


Ignore:
Timestamp:
Feb 19, 2020 12:01:51 PM (4 years ago)
Author:
Chris Dumez
Message:

Disable the process cache when process-per-tab is disabled in the debug menu
https://bugs.webkit.org/show_bug.cgi?id=207949
<rdar://problem/57094837>

Reviewed by Geoffrey Garen.

Disable the process cache when process-per-tab is disabled in the debug menu. The process cache is a
process-swap-on-navigation optimization and process-swap-on-navigation is already disabled when
process-per-tab is disabled. The process cache is not useful with such configuration and actually
leads to crashes too.

  • UIProcess/WebProcessCache.cpp:

(WebKit::WebProcessCache::updateCapacity):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r256925 r256932  
     12020-02-19  Chris Dumez  <cdumez@apple.com>
     2
     3        Disable the process cache when process-per-tab is disabled in the debug menu
     4        https://bugs.webkit.org/show_bug.cgi?id=207949
     5        <rdar://problem/57094837>
     6
     7        Reviewed by Geoffrey Garen.
     8
     9        Disable the process cache when process-per-tab is disabled in the debug menu. The process cache is a
     10        process-swap-on-navigation optimization and process-swap-on-navigation is already disabled when
     11        process-per-tab is disabled. The process cache is not useful with such configuration and actually
     12        leads to crashes too.
     13
     14        * UIProcess/WebProcessCache.cpp:
     15        (WebKit::WebProcessCache::updateCapacity):
     16
    1172020-02-19  Brent Fulgham  <bfulgham@apple.com>
    218
  • trunk/Source/WebKit/UIProcess/WebProcessCache.cpp

    r253981 r256932  
    157157void WebProcessCache::updateCapacity(WebProcessPool& processPool)
    158158{
    159     if (!processPool.configuration().processSwapsOnNavigation() || !processPool.configuration().usesWebProcessCache() || LegacyGlobalSettings::singleton().cacheModel() != CacheModel::PrimaryWebBrowser) {
     159    if (!processPool.configuration().processSwapsOnNavigation() || !processPool.configuration().usesWebProcessCache() || LegacyGlobalSettings::singleton().cacheModel() != CacheModel::PrimaryWebBrowser || processPool.configuration().usesSingleWebProcess()) {
    160160        if (!processPool.configuration().processSwapsOnNavigation())
    161161            WEBPROCESSCACHE_RELEASE_LOG("updateCapacity: Cache is disabled because process swap on navigation is disabled", 0);
    162162        else if (!processPool.configuration().usesWebProcessCache())
    163163            WEBPROCESSCACHE_RELEASE_LOG("updateCapacity: Cache is disabled by client", 0);
     164        else if (processPool.configuration().usesSingleWebProcess())
     165            WEBPROCESSCACHE_RELEASE_LOG("updateCapacity: Cache is disabled because process-per-tab was disabled", 0);
    164166        else
    165167            WEBPROCESSCACHE_RELEASE_LOG("updateCapacity: Cache is disabled because cache model is not PrimaryWebBrowser", 0);
Note: See TracChangeset for help on using the changeset viewer.