[webkit-changes] [WebKit/WebKit] 71e15e: Improve performance of using ProcessSyncClient

Brady Eidson noreply at github.com
Tue Jan 28 11:30:09 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 71e15ecdd6bf1f97d0d0799d0d25a40a7e323b10
      https://github.com/WebKit/WebKit/commit/71e15ecdd6bf1f97d0d0799d0d25a40a7e323b10
  Author: Brady Eidson <beidson at apple.com>
  Date:   2025-01-28 (Tue, 28 Jan 2025)

  Changed paths:
    M Source/WebCore/page/Page.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.cpp

  Log Message:
  -----------
  Improve performance of using ProcessSyncClient
https://bugs.webkit.org/show_bug.cgi?id=286626
rdar://142782753

Reviewed by Alex Christensen.

Relying on the ProcessSyncClient to do its own "is site isolation enabled?" check was more
complicated and expensive than doing the check up front.

Additionally - by having Page do the check up front on its own - we avoid a whole bunch of
virtual dispatches when site isolation is disabled.

* Source/WebCore/page/Page.cpp:
(WebCore::Page::setMainFrameURLAndOrigin):
(WebCore::Page::setAudioSessionType):
(WebCore::Page::setUserDidInteractWithPage):
(WebCore::Page::setAutofocusProcessed):
(WebCore::Page::setTopDocumentHasFullscreenElement):
(WebCore::Page::setHasInjectedUserScript):
(WebCore::Page::didChangeMainDocument):
* Source/WebKit/WebProcess/WebCoreSupport/WebProcessSyncClient.cpp:
(WebKit::WebProcessSyncClient::broadcastProcessSyncDataToOtherProcesses):
(WebKit::WebProcessSyncClient::broadcastTopDocumentSyncDataToOtherProcesses):

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