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

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

Issue 2155743002: Add throbber and status text to WebBluetooth chooser UI on non-Mac desktops (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.h
diff --git a/chrome/browser/ui/views/chooser_content_view.h b/chrome/browser/ui/views/chooser_content_view.h
index 2a9c45a08e0a745c1a1764332595ed964a720ce7..46d96aed5d93dde4db0449a06ecb760fc88b3381 100644
--- a/chrome/browser/ui/views/chooser_content_view.h
+++ b/chrome/browser/ui/views/chooser_content_view.h
@@ -9,52 +9,73 @@
#include "base/macros.h"
#include "base/strings/string16.h"
-#include "ui/base/ui_base_types.h"
+#include "chrome/browser/chooser_controller/chooser_controller.h"
+#include "ui/base/models/table_model.h"
+#include "ui/views/controls/link_listener.h"
+#include "ui/views/controls/styled_label_listener.h"
#include "ui/views/view.h"
-class ChooserController;
-class ChooserTableModel;
-
-namespace ui {
-class TableModel;
-}
-
namespace views {
+class Link;
class StyledLabel;
-class StyledLabelListener;
class TableView;
class TableViewObserver;
+class Throbber;
}
// A bubble or dialog view for choosing among several options in a table.
// Used for WebUSB/WebBluetooth device selection for Chrome and extensions.
-class ChooserContentView : public views::View {
+class ChooserContentView : public views::View,
+ public ui::TableModel,
+ public ChooserController::Observer,
+ public views::LinkListener,
+ public views::StyledLabelListener {
public:
- ChooserContentView(views::TableViewObserver* observer,
+ ChooserContentView(views::TableViewObserver* table_view_observer,
std::unique_ptr<ChooserController> chooser_controller);
~ChooserContentView() override;
// views::View:
gfx::Size GetPreferredSize() const override;
+ // ui::TableModel:
+ int RowCount() override;
+ base::string16 GetText(int row, int column_id) override;
+ void SetObserver(ui::TableModelObserver* observer) override;
+
+ // ChooserController::Observer:
+ void OnOptionsInitialized() override;
+ void OnOptionAdded(size_t index) override;
+ void OnOptionRemoved(size_t index) override;
+ void AdapterEnabled(bool enabled) override;
+ void SetRefreshing(bool refreshing) override;
+
+ // views::LinkListener:
+ void LinkClicked(views::Link* source, int event_flags) override;
+
+ // views::StyledLabelListener:
+ void StyledLabelLinkClicked(views::StyledLabel* label,
+ const gfx::Range& range,
+ int event_flags) override;
+
base::string16 GetWindowTitle() const;
base::string16 GetDialogButtonLabel(ui::DialogButton button) const;
bool IsDialogButtonEnabled(ui::DialogButton button) const;
+ views::View* CreateExtraView();
// Ownership of the view is passed to the caller.
- views::StyledLabel* CreateFootnoteView(
- views::StyledLabelListener* listener) const;
+ views::StyledLabel* CreateFootnoteView();
void Accept();
void Cancel();
void Close();
- void StyledLabelLinkClicked();
- void UpdateTableModel();
+ void UpdateTableView();
views::TableView* table_view_for_test() const { return table_view_; }
private:
std::unique_ptr<ChooserController> chooser_controller_;
- std::unique_ptr<ChooserTableModel> chooser_table_model_;
views::TableView* table_view_;
msw 2016/07/18 23:01:31 nit: = nullptr;
juncai 2016/07/19 20:42:46 Since |table_view_| is always initialized in the c
msw 2016/07/19 22:08:10 Acknowledged.
+ views::Throbber* throbber_;
msw 2016/07/18 23:01:31 nit: = nullptr;
juncai 2016/07/19 20:42:46 ditto.
+ views::Link* discovery_state_ = nullptr;
DISALLOW_COPY_AND_ASSIGN(ChooserContentView);
};

Powered by Google App Engine
This is Rietveld 408576698