Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f58d3e08fbbfdc5fa9f149e12d7f83ff16bf82aa
      
https://github.com/WebKit/WebKit/commit/f58d3e08fbbfdc5fa9f149e12d7f83ff16bf82aa
  Author: Alex Christensen <[email protected]>
  Date:   2026-07-01 (Wed, 01 Jul 2026)

  Changed paths:
    M Source/WebCore/Scripts/generate-process-sync-data.py
    M Source/WebCore/page/Page.cpp
    M Source/WebKit/UIProcess/WebPageProxy.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Remove redundant info when sending FrameTreeSyncSerializationData across IPC
https://bugs.webkit.org/show_bug.cgi?id=318387
rdar://181173621

Reviewed by Brady Eidson.

We were sending the type across IPC as a FrameTreeSyncDataType then sending the 
variant,
with many assumptions that the two were always equal.  Since they're always 
supposed to be
equal, remove the type and just use the variant's index as...its index.

Also, we were default constructing a variant, then destroying the variant's 
first type,
then calling emplace to insert the Nth type, then moving it.  Use 
WTF::InPlaceIndex instead,
which is our version of std::in_place_index.  This saves a constructor and a 
destructor call,
and it allows a possibility of a variant with no default constructable types.

* Source/WebCore/Scripts/generate-process-sync-data.py:
(generate_process_sync_client_impl):
(generate_synched_data_header):
(generate_process_sync_data_serialiation_in):
* Source/WebCore/page/Page.cpp:
(WebCore::Page::updateTopDocumentSyncData):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::broadcastFrameTreeSyncData):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::frameTreeSyncDataChangedInAnotherProcess):

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



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

Reply via email to