Show throbber while initializing chooser permission prompt

This change enables the throbber and status message that are used for
the Web Bluetooth device chooser prompt on all of the other APIs which
use this UI. This improves the user experience for users on slower
devices where it can take some time for the set of available options to
be available.

Bug: 1160147
Change-Id: I59a03c1a94f58fdb38bf7c8d2d713680cb21c5aa
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2597903
Reviewed-by: Olivier Yiptong <[email protected]>
Reviewed-by: Connie Wan <[email protected]>
Commit-Queue: Reilly Grant <[email protected]>
Cr-Commit-Position: refs/heads/master@{#843207}
diff --git a/chrome/browser/chooser_controller/chooser_controller.h b/chrome/browser/chooser_controller/chooser_controller.h
index 119ee81..99325e3 100644
--- a/chrome/browser/chooser_controller/chooser_controller.h
+++ b/chrome/browser/chooser_controller/chooser_controller.h
@@ -94,6 +94,11 @@
   // Returns the label for SelectAll checkbox.
   virtual base::string16 GetSelectAllCheckboxLabel() const;
 
+  // Returns the label for the throbber shown while options are initializing or
+  // a re-scan is in progress.
+  virtual std::pair<base::string16, base::string16> GetThrobberLabelAndTooltip()
+      const = 0;
+
   // Returns whether both OK and Cancel buttons are enabled.
   //
   // For chooser used in Web APIs such as WebBluetooth, WebUSB,
@@ -137,9 +142,6 @@
   // Refresh the list of options.
   virtual void RefreshOptions();
 
-  // Returns the status text to be shown in the chooser.
-  virtual base::string16 GetStatus() const;
-
   // These three functions are called just before this object is destroyed:
 
   // Called when the user selects elements from the dialog. |indices| contains