Add specialized templates to help tracing stl containers.

We need to be able to trace zero-initialized memory, it would seem.
Failure to pass these tests means that a platform would have to
initialize a heap with StackSupport::kNoConservativeStackScan.

Change-Id: Ifd68f0ac3f361078f8868ee58a48c4276dc233b6
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/73290
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/BUILD.gn b/fxjs/BUILD.gn
index 53eb78b..3de1ad2 100644
--- a/fxjs/BUILD.gn
+++ b/fxjs/BUILD.gn
@@ -114,6 +114,7 @@
 
     if (pdf_enable_xfa) {
       sources += [
+        "gc/container_trace.h",
         "gc/gced_tree_node.h",
         "gc/gced_tree_node_mixin.h",
         "gc/heap.cpp",
@@ -232,6 +233,7 @@
     pdfium_root_dir = "../"
     if (pdf_enable_xfa) {
       sources += [
+        "gc/container_trace_unittest.cpp",
         "gc/gced_tree_node_mixin_unittest.cpp",
         "gc/gced_tree_node_unittest.cpp",
         "gc/heap_unittest.cpp",