[webkit-changes] [WebKit/WebKit] 43da75: Drop foreground and background NetworkProcess/GPUP...

bnham noreply at github.com
Fri Aug 2 09:47:39 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 43da751ec19ac529302e5eb951494af5ccfb96b9
      https://github.com/WebKit/WebKit/commit/43da751ec19ac529302e5eb951494af5ccfb96b9
  Author: Ben Nham <nham at apple.com>
  Date:   2024-08-02 (Fri, 02 Aug 2024)

  Changed paths:
    M Source/WebKit/UIProcess/WebProcessProxy.cpp

  Log Message:
  -----------
  Drop foreground and background NetworkProcess/GPUProcess token if WebProcess shuts down while in foreground or background state
https://bugs.webkit.org/show_bug.cgi?id=277520
rdar://132289273

Reviewed by Per Arne Vollan and Chris Dumez.

We have logs showing that sometimes `WebProcessProxy::shutDown` runs while the `WebProcessProxy` is
in the foreground or background as opposed to suspended (i.e. while holding a non-null
`m_foregroundToken` or `m_backgroundToken`). If that `WebProcessProxy` object is never destructed,
then those token objects stay alive and cause NetworkProcess and GPUProcess to always think they
have an active WebContent process to service.  This then causes NetworkProcess and GPUProcess to
hold on to the e.g. `Networking for background view(s)` activity forever.

Fix this by dropping ownership of the foreground and background token in `WebProcessProxy::shutDown`.

* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::shutDown):

Canonical link: https://commits.webkit.org/281758@main



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list