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); |
}; |