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

Unified Diff: chrome/browser/ui/views/chooser_content_view.cc

Issue 2192953002: Chooser spinner should disappear as soon as one device shows up (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/ui/views/chooser_content_view.cc
diff --git a/chrome/browser/ui/views/chooser_content_view.cc b/chrome/browser/ui/views/chooser_content_view.cc
index 48a182a7a7261f69d6e680de0476e6410aa0ae74..06a7e9d74fe39738d565ad24cc7b1f31161f3bfb 100644
--- a/chrome/browser/ui/views/chooser_content_view.cc
+++ b/chrome/browser/ui/views/chooser_content_view.cc
@@ -88,6 +88,9 @@ void ChooserContentView::OnOptionsInitialized() {
void ChooserContentView::OnOptionAdded(size_t index) {
table_view_->OnItemsAdded(static_cast<int>(index), 1);
UpdateTableView();
+ table_view_->SetVisible(true);
+ throbber_->SetVisible(false);
+ throbber_->Stop();
}
void ChooserContentView::OnOptionRemoved(size_t index) {
@@ -111,20 +114,24 @@ void ChooserContentView::OnAdapterEnabledChanged(bool enabled) {
}
void ChooserContentView::OnRefreshStateChanged(bool refreshing) {
- // No row is selected since the chooser is refreshing or just refreshed.
- // This will also disable the OK button if it was enabled because
- // of a previously selected row.
- table_view_->Select(-1);
- UpdateTableView();
- // When refreshing, hide |table_view_|. When complete, show |table_view_|.
- table_view_->SetVisible(!refreshing);
+ if (refreshing) {
+ // No row is selected since the chooser is refreshing. This will also
+ // disable the OK button if it was enabled because of a previously
+ // selected row.
+ table_view_->Select(-1);
+ UpdateTableView();
+ }
- if (refreshing)
+ // When refreshing and no option available yet, hide |table_view_| and show
+ // |throbber_|. Otherwise show |table_view_| and hide |throbber_|.
+ bool throbber_visible =
+ refreshing && (chooser_controller_->NumOptions() == 0);
+ table_view_->SetVisible(!throbber_visible);
+ throbber_->SetVisible(throbber_visible);
+ if (throbber_visible)
throbber_->Start();
else
throbber_->Stop();
- // When refreshing, show |throbber_|. When complete, hide |throbber_|.
- throbber_->SetVisible(refreshing);
discovery_state_->SetText(chooser_controller_->GetStatus());
// When refreshing, disable |discovery_state_| to show it as a text label.

Powered by Google App Engine
This is Rietveld 408576698