Fix build error with enable_backup_ref_ptr_instance_tracer=true

See https://crbug.com/387277990
This commit is contained in:
Marshall Greenblatt 2025-01-14 11:58:40 -05:00
parent 6a3233f945
commit a242ee518a
2 changed files with 33 additions and 0 deletions

View File

@ -761,5 +761,12 @@ patches = [
# Expose Mojo Connector error state to Receiver disconnect handlers.
# https://github.com/chromiumembedded/cef/issues/3664
'name': 'mojo_connect_result_3664'
},
{
# Fix error: static assertion failed due to requirement 'sizeof(cc::Layer)
# == sizeof(cc::SameSizeAsLayer)' when building with
# enable_backup_ref_ptr_instance_tracer=true.
# https://issues.chromium.org/issues/387277990
'name': 'cc_layer_387277990'
}
]

View File

@ -0,0 +1,26 @@
diff --git cc/layers/layer.cc cc/layers/layer.cc
index f51e5495d95f5..cd6c1bb02f50c 100644
--- cc/layers/layer.cc
+++ cc/layers/layer.cc
@@ -50,16 +50,18 @@ struct SameSizeAsLayer : public base::RefCounted<SameSizeAsLayer>,
SameSizeAsLayer();
~SameSizeAsLayer() override;
- void* pointers[4];
+ raw_ptr<void> raw_pointers[2];
+ std::unique_ptr<void> unique_pointers[2];
struct {
LayerList children;
gfx::Size bounds;
- unsigned bitfields;
+ HitTestOpaqueness hit_test_opaqueness;
+ bool bitfields;
SkColor4f background_color;
TouchActionRegion touch_action_region;
ElementId element_id;
- raw_ptr<void> rare_inputs;
+ std::unique_ptr<void> rare_inputs;
} inputs;
gfx::Rect update_rect;
int int_fields[7];