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

@ -57,7 +57,7 @@ bool CefBrowserHost::CreateBrowser(
}
// Verify that the settings structure is a valid size.
if (settings.size != sizeof(cef_browser_settings_t)) {
if (!CEF_MEMBER_EXISTS(&settings, chrome_zoom_bubble)) {
DCHECK(false) << "invalid CefBrowserSettings structure size";
return false;
}
@ -115,7 +115,7 @@ CefRefPtr<CefBrowser> CefBrowserHost::CreateBrowserSync(
}
// Verify that the settings structure is a valid size.
if (settings.size != sizeof(cef_browser_settings_t)) {
if (!CEF_MEMBER_EXISTS(&settings, chrome_zoom_bubble)) {
DCHECK(false) << "invalid CefBrowserSettings structure size";
return nullptr;
}