Replace DISALLOW_COPY_AND_ASSIGN in components/

This replaces DISALLOW_COPY_AND_ASSIGN with explicit constructor deletes
where a local script is able to detect its insertion place (~Foo() is
public => insert before this line).

This is incomplete as not all classes have a public ~Foo() declared, so
not all DISALLOW_COPY_AND_ASSIGN occurrences are replaced.

IWYU cleanup is left as a separate pass that is easier when these macros
go away.

Bug: 1010217
Change-Id: I917bfbff1357e9e2cfe330d242feff6bb73e1bce
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3167004
Reviewed-by: Daniel Cheng <[email protected]>
Owners-Override: Daniel Cheng <[email protected]>
Commit-Queue: Peter Boström <[email protected]>
Cr-Commit-Position: refs/heads/main@{#923103}
diff --git a/components/viz/client/frame_eviction_manager_unittest.cc b/components/viz/client/frame_eviction_manager_unittest.cc
index 1e2443c..e64f433 100644
--- a/components/viz/client/frame_eviction_manager_unittest.cc
+++ b/components/viz/client/frame_eviction_manager_unittest.cc
@@ -16,6 +16,12 @@
 class TestFrameEvictionManagerClient : public FrameEvictionManagerClient {
  public:
   TestFrameEvictionManagerClient() = default;
+
+  TestFrameEvictionManagerClient(const TestFrameEvictionManagerClient&) =
+      delete;
+  TestFrameEvictionManagerClient& operator=(
+      const TestFrameEvictionManagerClient&) = delete;
+
   ~TestFrameEvictionManagerClient() override = default;
 
   // FrameEvictionManagerClient:
@@ -28,8 +34,6 @@
 
  private:
   bool has_frame_ = true;
-
-  DISALLOW_COPY_AND_ASSIGN(TestFrameEvictionManagerClient);
 };
 
 }  // namespace