Avoid dangling pointers in Compositor test.

Bug: none
Change-Id: Iec1f002b51173dda0dee3f60b403c38405723bca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5269726
Auto-Submit: Jan Keitel <jkeitel@google.com>
Reviewed-by: Stephen McGruer <smcgruer@chromium.org>
Commit-Queue: Stephen McGruer <smcgruer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1257327}
diff --git a/ui/compositor/compositor_unittest.cc b/ui/compositor/compositor_unittest.cc
index 592b008..d2f162b 100644
--- a/ui/compositor/compositor_unittest.cc
+++ b/ui/compositor/compositor_unittest.cc
@@ -492,7 +492,7 @@
 class LayerDelegateThatAddsDuringUpdateVisualState : public LayerDelegate {
  public:
   explicit LayerDelegateThatAddsDuringUpdateVisualState(Layer* parent)
-      : parent_(parent) {}
+      : parent_(*parent) {}
 
   bool update_visual_state_called() const {
     return update_visual_state_called_;
@@ -509,7 +509,7 @@
                                   float new_device_scale_factor) override {}
 
  private:
-  raw_ptr<Layer, DanglingUntriaged> parent_;
+  const raw_ref<Layer> parent_;
   std::vector<std::unique_ptr<Layer>> added_layers_;
   bool update_visual_state_called_ = false;
 };
@@ -538,9 +538,6 @@
   DrawWaiterForTest::WaitForCompositingEnded(compositor());
   EXPECT_TRUE(child_layer_delegate.update_visual_state_called());
   compositor()->SetRootLayer(nullptr);
-  child_layer2.reset();
-  child_layer.reset();
-  root_layer.reset();
 }
 
 }  // namespace ui