Add NUM_VALUES for enums and size for structs (see #3836)

API versioning requires that enumerations end with a count value
(`*_NUM_VALUES`) and structs begin with a size value (`size_t size`).
Wrapper templates are updated to support structs with different size
values indicating different versions.

To test:
Run `ceftests --gtest_filter=ApiVersionTest.StructVersion*`
This commit is contained in:
Marshall Greenblatt
2025-01-09 19:14:53 -05:00
parent ee5cec12d2
commit 81a5005bc0
43 changed files with 777 additions and 228 deletions

View File

@@ -105,9 +105,10 @@ CefString CefMediaSinkImpl::GetName() {
CefMediaSink::IconType CefMediaSinkImpl::GetIconType() {
// Verify that our enum matches Chromium's values.
static_assert(static_cast<int>(CEF_MSIT_TOTAL_COUNT) ==
static_assert(static_cast<int>(CEF_MSIT_NUM_VALUES) ==
static_cast<int>(media_router::SinkIconType::TOTAL_COUNT),
"enum mismatch");
"Enum values in cef_media_sink_icon_type_t must match "
"media_router::SinkIconType");
return static_cast<CefMediaSink::IconType>(sink_.icon_type());
}