Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(474)

Unified Diff: chrome/browser/chooser_controller/mock_chooser_controller.cc

Issue 2171103002: Add test for WebBluetooth chooser spinner, status text and rescan button (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chooser_controller/mock_chooser_controller.cc
diff --git a/chrome/browser/chooser_controller/mock_chooser_controller.cc b/chrome/browser/chooser_controller/mock_chooser_controller.cc
index 5eb14eae246b56ebc5e97907d11cfa25b6824fb2..72674501f107ae2984a36ebec47eb97350266f7f 100644
--- a/chrome/browser/chooser_controller/mock_chooser_controller.cc
+++ b/chrome/browser/chooser_controller/mock_chooser_controller.cc
@@ -4,22 +4,26 @@
#include "chrome/browser/chooser_controller/mock_chooser_controller.h"
+#include "base/logging.h"
+#include "base/strings/utf_string_conversions.h"
#include "chrome/grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
MockChooserController::MockChooserController(content::RenderFrameHost* owner)
: ChooserController(owner,
IDS_USB_DEVICE_CHOOSER_PROMPT_ORIGIN,
- IDS_USB_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME) {}
+ IDS_USB_DEVICE_CHOOSER_PROMPT_EXTENSION_NAME),
+ no_options_text_(l10n_util::GetStringUTF16(
+ IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT)) {}
MockChooserController::~MockChooserController() {}
base::string16 MockChooserController::GetNoOptionsText() const {
- return l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT);
+ return no_options_text_;
}
base::string16 MockChooserController::GetOkButtonLabel() const {
- return base::string16();
+ return l10n_util::GetStringUTF16(IDS_USB_DEVICE_CHOOSER_CONNECT_BUTTON_TEXT);
}
size_t MockChooserController::NumOptions() const {
@@ -30,10 +34,57 @@ base::string16 MockChooserController::GetOption(size_t index) const {
return option_names_[index];
}
-void MockChooserController::RefreshOptions() {}
-
base::string16 MockChooserController::GetStatus() const {
- return base::string16();
+ return status_text_;
+}
+
+void MockChooserController::OnAdapterPresenceChanged(
+ content::BluetoothChooser::AdapterPresence presence) {
+ ClearAllOptions();
+ switch (presence) {
+ case content::BluetoothChooser::AdapterPresence::ABSENT:
+ NOTREACHED();
+ break;
+ case content::BluetoothChooser::AdapterPresence::POWERED_OFF:
+ no_options_text_ =
+ l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_ADAPTER_OFF);
+ status_text_ = base::string16();
+ if (view())
+ view()->OnAdapterEnabledChanged(false /* Adapter is turned off */);
+ break;
+ case content::BluetoothChooser::AdapterPresence::POWERED_ON:
+ no_options_text_ =
+ l10n_util::GetStringUTF16(IDS_DEVICE_CHOOSER_NO_DEVICES_FOUND_PROMPT);
+ status_text_ =
+ l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN);
+ if (view())
+ view()->OnAdapterEnabledChanged(true /* Adapter is turned on */);
+ break;
+ }
+}
+
+void MockChooserController::OnDiscoveryStateChanged(
+ content::BluetoothChooser::DiscoveryState state) {
+ switch (state) {
+ case content::BluetoothChooser::DiscoveryState::DISCOVERING:
+ ClearAllOptions();
+ status_text_ =
+ l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_SCANNING);
+ if (view()) {
+ view()->OnRefreshStateChanged(
+ true /* Refreshing options is in progress */);
+ }
+ break;
+ case content::BluetoothChooser::DiscoveryState::IDLE:
+ case content::BluetoothChooser::DiscoveryState::FAILED_TO_START:
+ status_text_ =
+ l10n_util::GetStringUTF16(IDS_BLUETOOTH_DEVICE_CHOOSER_RE_SCAN);
+ if (view()) {
+ view()->OnRefreshStateChanged(
+ false /* Refreshing options is complete */);
+ }
+ break;
+ }
}
void MockChooserController::OptionAdded(const base::string16 option_name) {
@@ -53,3 +104,7 @@ void MockChooserController::OptionRemoved(const base::string16 option_name) {
}
}
}
+
+void MockChooserController::ClearAllOptions() {
+ option_names_.clear();
+}
« no previous file with comments | « chrome/browser/chooser_controller/mock_chooser_controller.h ('k') | chrome/browser/ui/views/chooser_content_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698