Retire the non-traits versions of ScopedObservation<> and
ScopedMultiSourceObservation<>
This CL removes the option to specify function pointers in templates --
all instantiations should rely on ScopedObservationTraits<> from now on.
Bug: 1380837
Change-Id: I057bcd5d7938d8e20b618e4928326c8c2e317f3b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4016378
Reviewed-by: Daniel Cheng <[email protected]>
Commit-Queue: Andrew Rayskiy <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1070075}
diff --git a/base/scoped_multi_source_observation_unittest.cc b/base/scoped_multi_source_observation_unittest.cc
index c4eba8e..0cd8953 100644
--- a/base/scoped_multi_source_observation_unittest.cc
+++ b/base/scoped_multi_source_observation_unittest.cc
@@ -6,6 +6,7 @@
#include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
+#include "base/scoped_observation_traits.h"
#include "base/test/gtest_util.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -190,12 +191,23 @@
using TestScopedMultiSourceObservationWithNonDefaultNames =
ScopedMultiSourceObservation<TestSourceWithNonDefaultNames,
- TestSourceObserver,
- &TestSourceWithNonDefaultNames::AddFoo,
- &TestSourceWithNonDefaultNames::RemoveFoo>;
+ TestSourceObserver>;
} // namespace
+template <>
+struct ScopedObservationTraits<TestSourceWithNonDefaultNames,
+ TestSourceObserver> {
+ static void AddObserver(TestSourceWithNonDefaultNames* source,
+ TestSourceObserver* observer) {
+ source->AddFoo(observer);
+ }
+ static void RemoveObserver(TestSourceWithNonDefaultNames* source,
+ TestSourceObserver* observer) {
+ source->RemoveFoo(observer);
+ }
+};
+
TEST_F(ScopedMultiSourceObservationTest, NonDefaultNames) {
TestSourceWithNonDefaultNames nds1;