Refactor BrowserDialogTest for device chooser dialogs.

The existing BrowserDialogTest only covered ChooserDialogView, not the
related ChooserBubbleUi, and used fake data. This patch adds two new
fake chooser controllers that look similar to the USB and Bluetooth
cases, for a more accurate test, and expands the tests to cover both
the modal and bubble versions of the UI.

Bug: 654137
Change-Id: I40083466da3b38f525546a8dc695a34603c2f741
Reviewed-on: https://chromium-review.googlesource.com/699679
Reviewed-by: Reilly Grant <[email protected]>
Reviewed-by: Jun Cai <[email protected]>
Reviewed-by: Trent Apted <[email protected]>
Commit-Queue: Bret Sepulveda <[email protected]>
Cr-Commit-Position: refs/heads/master@{#510320}
diff --git a/chrome/browser/chooser_controller/chooser_controller.h b/chrome/browser/chooser_controller/chooser_controller.h
index 4de65c10..6c620874 100644
--- a/chrome/browser/chooser_controller/chooser_controller.h
+++ b/chrome/browser/chooser_controller/chooser_controller.h
@@ -102,10 +102,10 @@
   virtual bool IsPaired(size_t index) const;
 
   // Refresh the list of options.
-  virtual void RefreshOptions() = 0;
+  virtual void RefreshOptions();
 
   // Returns the status text to be shown in the chooser.
-  virtual base::string16 GetStatus() const = 0;
+  virtual base::string16 GetStatus() const;
 
   // These three functions are called just before this object is destroyed: