Chromium Code Reviews| 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); |
| }; |