https://chromium-review.googlesource.com/c/chromium/src/+/2959890 --- a/ui/views/animation/ink_drop_host.h +++ b/ui/views/animation/ink_drop_host.h @@ -238,6 +238,11 @@ class VIEWS_EXPORT InkDropHost { // Used to observe View and inform the InkDrop of host-transform changes. ViewLayerTransformObserver host_view_transform_observer_; + // Declared before |ink_drop_|, because InkDropImpl may call + // RemoveInkDropLayer on partly destructed InkDropHost. In + // that case |ink_drop_mask_| must be still valid. + std::unique_ptr ink_drop_mask_; + // Should not be accessed directly. Use GetInkDrop() instead. std::unique_ptr ink_drop_; @@ -261,8 +266,6 @@ class VIEWS_EXPORT InkDropHost { int ink_drop_small_corner_radius_ = 2; int ink_drop_large_corner_radius_ = 4; - std::unique_ptr ink_drop_mask_; - base::RepeatingCallback()> create_ink_drop_callback_; base::RepeatingCallback()> create_ink_drop_ripple_callback_;