diff --git a/testing/fuzzers/BUILD.gn b/testing/fuzzers/BUILD.gn
index 9667ba1..6924558 100644
--- a/testing/fuzzers/BUILD.gn
+++ b/testing/fuzzers/BUILD.gn
@@ -2,6 +2,7 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
+import("//build_overrides/build.gni")
 import("../../pdfium.gni")
 
 config("fuzzer_config") {
@@ -149,6 +150,7 @@
 
 if (is_component_build) {
   group("fuzzer_impls") {
+    testonly = true
     deps = []
     foreach(fuzzer, fuzzer_list) {
       deps += [ ":${fuzzer}_impl" ]
@@ -218,6 +220,7 @@
     impl_name = target_name + "_src"
   }
   source_set(impl_name) {
+    testonly = true
     sources = invoker.sources
     deps = []
     if (defined(invoker.deps)) {
@@ -613,5 +616,11 @@
 pdfium_fuzzer("pdfium_fuzzer") {
   sources = [ "pdfium_fuzzer.cc" ]
   deps = [ ":fuzzer_helper" ]
+  if (build_with_chromium) {
+    deps += [
+      "//base",
+      "//base/test:test_support",
+    ]
+  }
   public_fuzzer = true
 }
diff --git a/testing/fuzzers/DEPS b/testing/fuzzers/DEPS
index fe9eaf6..d577044 100644
--- a/testing/fuzzers/DEPS
+++ b/testing/fuzzers/DEPS
@@ -1,4 +1,7 @@
 include_rules = [
   '+fxbarcode',
   '+xfa',
+
+  # Only used when the fuzzer is embedded in Chromium.
+  '+base',
 ]
diff --git a/testing/fuzzers/pdfium_fuzzer.cc b/testing/fuzzers/pdfium_fuzzer.cc
index e70702a..7e25fed 100644
--- a/testing/fuzzers/pdfium_fuzzer.cc
+++ b/testing/fuzzers/pdfium_fuzzer.cc
@@ -6,6 +6,12 @@
 
 #include "testing/fuzzers/pdfium_fuzzer_helper.h"
 
+#if defined(BUILD_WITH_CHROMIUM)
+#include "base/memory/discardable_memory_allocator.h"
+#include "base/no_destructor.h"
+#include "base/test/test_discardable_memory_allocator.h"
+#endif
+
 class PDFiumFuzzer : public PDFiumFuzzerHelper {
  public:
   PDFiumFuzzer() = default;
@@ -15,6 +21,12 @@
 };
 
 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+#if defined(BUILD_WITH_CHROMIUM)
+  static base::NoDestructor<base::TestDiscardableMemoryAllocator>
+      test_memory_allocator;
+  base::DiscardableMemoryAllocator::SetInstance(test_memory_allocator.get());
+#endif
+
   PDFiumFuzzer fuzzer;
   fuzzer.RenderPdf(reinterpret_cast<const char*>(data), size);
   return 0;
