[webkit-changes] [WebKit/WebKit] bfb10c: Migrate more WebContent logging to efficient version

Per Arne Vollan noreply at github.com
Sat Feb 22 12:48:12 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bfb10c81a4c29203f7eb9e4d8f40d2aae5e23028
      https://github.com/WebKit/WebKit/commit/bfb10c81a4c29203f7eb9e4d8f40d2aae5e23028
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2025-02-22 (Sat, 22 Feb 2025)

  Changed paths:
    M Source/WebCore/loader/FrameLoader.cpp
    M Source/WebCore/loader/PolicyChecker.cpp
    M Source/WebCore/page/LocalFrameView.cpp
    M Source/WebCore/page/PerformanceLogging.cpp
    M Source/WebCore/page/PerformanceMonitor.cpp
    M Source/WebCore/platform/LogMessages.in
    M Source/WebKit/Platform/LogMessages.in
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
    M Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKit/WebProcess/WebProcess.cpp
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  -----------
  Migrate more WebContent logging to efficient version
https://bugs.webkit.org/show_bug.cgi?id=287888
rdar://143154803

Reviewed by Sihui Liu.

To improve performance, migrate more WebContent logging to the efficient version. When the logging daemon is
blocked in the WebContent process sandbox, we need to forward these logs to the UI process and log with the
OS log API there. There are two ways that logs are being forwarded. One way is through a log hook, which is
inefficient, since the logs are precomposed in the WebContent process. The second method is more efficient,
since it avoids precomposing. This patch migrates more WebContent logging to the efficient version.

* Source/WebCore/loader/FrameLoader.cpp:
(WebCore::FrameLoader::load):
* Source/WebCore/loader/PolicyChecker.cpp:
(WebCore::PolicyChecker::checkNavigationPolicy):
* Source/WebCore/page/LocalFrameView.cpp:
(WebCore::LocalFrameView::scheduleResizeEventIfNeeded):
(WebCore::LocalFrameView::paintContents):
(WebCore::LocalFrameView::fireLayoutRelatedMilestonesIfNeeded):
* Source/WebCore/page/PerformanceLogging.cpp:
(WebCore::PerformanceLogging::didReachPointOfInterest):
* Source/WebCore/page/PerformanceMonitor.cpp:
(WebCore::PerformanceMonitor::measurePostLoadCPUUsage):
(WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingCPUUsage):
(WebCore::PerformanceMonitor::measureCPUUsageInActivityState):
* Source/WebCore/platform/LogMessages.in:
* Source/WebKit/Platform/LogMessages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::create):
* Source/WebKit/WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::WebLoaderStrategy::scheduleLoad):
* Source/WebKit/WebProcess/WebCoreSupport/WebLocalFrameLoaderClient.cpp:
(WebKit::WebLocalFrameLoaderClient::completePageTransitionIfNeeded):
(WebKit::WebLocalFrameLoaderClient::dispatchDidReachLayoutMilestone):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::freezeLayerTree):
(WebKit::WebPage::unfreezeLayerTree):
(WebKit::WebPage::markLayersVolatile):
(WebKit::WebPage::tryMarkLayersVolatileCompletionHandler):
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::freezeAllLayerTrees):
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::destroyRenderingResources):

Canonical link: https://commits.webkit.org/290889@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