Bluetooth scanning API: Implement content settings UI on desktop

This CL implements the content settings UI for Bluetooth scanning API
on desktop:

1. Adds CONTENT_SETTINGS_TYPE_BLUETOOTH_SCANNING for
navigator.bluetooth.requestLEScan(). It is similar to USB and serial
guard permission in the page info and site settings UIs since it can
not be set to "Allow," only "Ask" or "Block."

2. Displays Bluetooth scanning permission in the page info dialog.

3. Adds a new entry for Bluetooth scanning permissions in
chrome://settings/content.

4. Shows Bluetooth scanning permission in
chrome://settings/content/bluetoothScanning.

5. The default setting for Bluetooth scanning permission can also be
set on a per-site basis.

I uploaded some screenshots of the above content settings UI in the
issue link.

Bug: 960454
Change-Id: Icf09b559153baa14f6a89ab78e2244407def44c7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1598722
Commit-Queue: Jun Cai <[email protected]>
Reviewed-by: Finnur Thorarinsson <[email protected]>
Reviewed-by: Balazs Engedy <[email protected]>
Reviewed-by: Evan Stade <[email protected]>
Reviewed-by: Reilly Grant <[email protected]>
Reviewed-by: Dan Beam <[email protected]>
Cr-Commit-Position: refs/heads/master@{#660088}
diff --git a/chrome/browser/ui/page_info/page_info.cc b/chrome/browser/ui/page_info/page_info.cc
index 9d7c5ce..b6aee18 100644
--- a/chrome/browser/ui/page_info/page_info.cc
+++ b/chrome/browser/ui/page_info/page_info.cc
@@ -129,6 +129,9 @@
     CONTENT_SETTINGS_TYPE_USB_GUARD,
 #if !defined(OS_ANDROID)
     CONTENT_SETTINGS_TYPE_SERIAL_GUARD,
+    // TODO(https://crbug.com/960962): Implement Bluetooth scanning API content
+    // settings and page info on Android.
+    CONTENT_SETTINGS_TYPE_BLUETOOTH_SCANNING,
 #endif
 };