Summary
Safari uses the same multi-process architecture as Chrome — Web Content renderers, a GPU process, a Networking process, and SafariWebExtension processes — but all of them show up as opaque com.apple.WebKit.* processes today.
A dedicated SafariClassifier would:
- Claim all processes whose bundle ID starts with
com.apple.Safari or whose path includes Safari.app or WebKit.framework
- Group renderer processes by domain (the URL or hostname is visible in process args for Web Content processes)
- Label sub-processes by type: Web Content, GPU, Networking, Extension
Value
Same "aha moment" as ChromeClassifier: users can see which website tab is consuming the most memory, and get a single rolled-up Safari footprint rather than a pile of mystery WebKit processes.
Implementation notes
- Detection:
com.apple.Safari bundle ID, Safari.app in path, com.apple.WebKit.WebContent / com.apple.WebKit.GPU / com.apple.WebKit.Networking process names
- Domain grouping: parse
--origin-to-launch-process or similar arg that WebKit passes to content processes; fall back to grouping all renderers under "Web Content"
- Icon:
NSRunningApplication lookup on the main Safari process
stableIdentifier: "safari" (single top-level group, sub-groups by domain)
Summary
Safari uses the same multi-process architecture as Chrome — Web Content renderers, a GPU process, a Networking process, and SafariWebExtension processes — but all of them show up as opaque
com.apple.WebKit.*processes today.A dedicated
SafariClassifierwould:com.apple.Safarior whose path includesSafari.apporWebKit.frameworkValue
Same "aha moment" as ChromeClassifier: users can see which website tab is consuming the most memory, and get a single rolled-up Safari footprint rather than a pile of mystery
WebKitprocesses.Implementation notes
com.apple.Safaribundle ID,Safari.appin path,com.apple.WebKit.WebContent/com.apple.WebKit.GPU/com.apple.WebKit.Networkingprocess names--origin-to-launch-processor similar arg that WebKit passes to content processes; fall back to grouping all renderers under "Web Content"NSRunningApplicationlookup on the main Safari processstableIdentifier:"safari"(single top-level group, sub-groups by domain)