FontAccess: Initial font chooser interface

This creates the initial API to initiate a font chooser, behind a flag.
It is different from enumeration at this point for now because the
use-cases they are trying to solve are different.

Both could be unified in the future.

Change-Id: I55d2ac5079f325d86e62e2a348380507b53ea681
Bug: 1138621
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2488602
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Auto-Submit: Olivier Yiptong <oyiptong@chromium.org>
Commit-Queue: Kentaro Hara <haraken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#820658}
diff --git a/font-access/font_access-chooser.tentative.https.window.js b/font-access/font_access-chooser.tentative.https.window.js
new file mode 100644
index 0000000..047521a
--- /dev/null
+++ b/font-access/font_access-chooser.tentative.https.window.js
@@ -0,0 +1,4 @@
+// META: script=/resources/testdriver.js
+// META: script=/resources/testdriver-vendor.js
+// META: script=resources/test-expectations.js
+// META: script=resources/window-tests-chooser.js
diff --git a/font-access/resources/window-tests-chooser.js b/font-access/resources/window-tests-chooser.js
new file mode 100644
index 0000000..bb9e0bf
--- /dev/null
+++ b/font-access/resources/window-tests-chooser.js
@@ -0,0 +1,8 @@
+'use strict';
+
+font_access_test(async t => {
+  await promise_rejects_dom(
+      t, 'NotSupportedError', navigator.fonts.showFontChooser());
+  await promise_rejects_dom(
+      t, 'NotSupportedError', navigator.fonts.showFontChooser({all: false}));
+});