bind-gen: Enable the new IDL dictionary implementations

Enables the new IDL dictionary implementations.

The APIs are compatible and no major difference, but there are
minor differences between the old and new IDL dictionary
implementations:
1. Exact distinction between "missing" and IDL null.
  (dict->foo() is invalid when !dict->hasFoo().)
2. Use the new IDL unions and the new IDL enumerations as
  member types of the IDL dictionaries.
3. Move support for (Heap)Vector members.

The pinpoint result:
https://pinpoint-dot-chromeperf.appspot.com/job/1484ae38320000

bind-gen: switch

Bug: 839389
Change-Id: I5fddb608d9a43685963410861955bbd63162935b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2928684
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#891914}
diff --git a/webauthn/createcredential-badargs-rp.https.html b/webauthn/createcredential-badargs-rp.https.html
index fa4d226..6ddd715 100644
--- a/webauthn/createcredential-badargs-rp.https.html
+++ b/webauthn/createcredential-badargs-rp.https.html
@@ -16,7 +16,7 @@
 
     // rp bad values
     new CreateCredentialsTest({path: "options.publicKey.rp", value: undefined}).runTest("Bad rp: rp missing", TypeError);
-    new CreateCredentialsTest({ path: "options.publicKey.rp", value: null }).runTest("Bad rp: rp null", "NotSupportedError");
+    new CreateCredentialsTest({ path: "options.publicKey.rp", value: null }).runTest("Bad rp: rp null", TypeError);
     new CreateCredentialsTest("options.publicKey.rp", "hi mom").runTest("Bad rp: rp is string", TypeError);
     new CreateCredentialsTest("options.publicKey.rp", {}).runTest("Bad rp: rp is empty object", TypeError);