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