Add a LSan suppressions file.

Also defines ADDRESS_SANITIZER and LEAK_SANITIZER for ASan builds.

R=thestig@chromium.org

Review URL: https://codereview.chromium.org/1540433004 .
diff --git a/build/standalone.gypi b/build/standalone.gypi
index 60e2ee4..cdf6598 100644
--- a/build/standalone.gypi
+++ b/build/standalone.gypi
@@ -273,6 +273,10 @@
         ],
       }],
       ['asan==1', {
+        'defines': [
+          'ADDRESS_SANITIZER',
+          'LEAK_SANITIZER',
+        ],
         'cflags': [
           '-fsanitize=address',
           '-gline-tables-only',
diff --git a/tools/lsan/lsan_suppressions.txt b/tools/lsan/lsan_suppressions.txt
new file mode 100644
index 0000000..1a32a9c
--- /dev/null
+++ b/tools/lsan/lsan_suppressions.txt
@@ -0,0 +1,19 @@
+################################################################################
+# LeakSanitizer Suppressions file.
+# If a CL introduces a new leak that isn't the fault of the CL itself (e.g. a
+# new testcase), please add a suppression to this file so that it can be
+# addressed in a future CL.
+#
+# For this file to take effect,
+# LSAN_OPTIONS='suppressions=/path/to/lsan_suppressions.txt' must be in the
+# environment.
+# See https://www.chromium.org/developers/testing/leaksanitizer for syntax.
+
+################################################################################
+# CJS_Object/CJS_EmbedObj wrapped by v8::Object currently leak. See bug 260.
+# Obvious leaks:
+leak:*FXJS_NewFxDynamicObj*
+
+# CJS_Field CFX_WideString::StringData leaks
+leak:*CJS_Document*getField_static*
+leak:*CJS_EventHandler*OnField*