Reland "bluetooth: Implement FakeBluetoothDelegate"

This is a reland of e19d9ff703ae08489386ffa7ca732dbcb6e73cc6

Original change's description:
> bluetooth: Implement FakeBluetoothDelegate
> 
> This change implements FakeBluetoothDelegate which fakes the behavior of
> the new Web Bluetooth permissions implemented behied the
> WebBluetoothNewPermissionsBackend flag. Therefore, the
> web-bluetooth-new-permissions-backend virtual test suite runs the Web
> Bluetooth tests with this flag enabled.
> 
> Design doc:
> https://docs.google.com/document/d/1h3uAVXJARHrNWaNACUPiQhLt7XI-fFFQoARSs1WgMDM/
> 
> Bug: 577953
> Change-Id: I5f81b92433009fc34a6a5e5495fdba72500db41e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2080813
> Commit-Queue: Ovidio de Jesús Ruiz-Henríquez <[email protected]>
> Reviewed-by: Peter Beverloo <[email protected]>
> Reviewed-by: Reilly Grant <[email protected]>
> Reviewed-by: Vincent Scheib <[email protected]>
> Cr-Commit-Position: refs/heads/master@{#746429}

Bug: 577953
Change-Id: I7442aca2e2bb816a93873d0bb76c3ec7e153b6a0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2087904
Reviewed-by: Reilly Grant <[email protected]>
Reviewed-by: Vincent Scheib <[email protected]>
Reviewed-by: Peter Beverloo <[email protected]>
Commit-Queue: Ovidio de Jesús Ruiz-Henríquez <[email protected]>
Cr-Commit-Position: refs/heads/master@{#748530}
diff --git a/chrome/browser/bluetooth/bluetooth_chooser_context.h b/chrome/browser/bluetooth/bluetooth_chooser_context.h
index abab736..4465d93 100644
--- a/chrome/browser/bluetooth/bluetooth_chooser_context.h
+++ b/chrome/browser/bluetooth/bluetooth_chooser_context.h
@@ -79,6 +79,8 @@
 
   // Returns the human readable string representing the given object.
   static std::string GetObjectName(const base::Value& object);
+  static blink::WebBluetoothDeviceId GetObjectDeviceId(
+      const base::Value& object);
 
  protected:
   // ChooserContextBase implementation;