OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ | 5 #ifndef CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ |
6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ | 6 #define CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ |
7 | 7 |
8 #include "extensions/browser/api/device_permissions_prompt.h" | 8 #include "extensions/browser/api/device_permissions_prompt.h" |
9 #include "ui/views/window/dialog_delegate.h" | 9 #include "ui/views/window/dialog_delegate.h" |
10 | 10 |
11 namespace views { | 11 namespace views { |
12 class TableView; | 12 class TableView; |
13 } | 13 } |
14 | 14 |
15 class DevicePermissionsTableModel; | 15 class DevicePermissionsTableModel; |
16 | 16 |
17 // Displays a device permissions selector prompt as a modal dialog constrained | 17 // Displays a device permissions selector prompt as a modal dialog constrained |
18 // to the window/tab displaying the given web contents. | 18 // to the window/tab displaying the given web contents. |
19 class DevicePermissionsDialogView : public views::DialogDelegateView { | 19 class DevicePermissionsDialogView : public views::DialogDelegateView { |
20 public: | 20 public: |
21 DevicePermissionsDialogView( | 21 DevicePermissionsDialogView( |
22 extensions::DevicePermissionsPrompt::Delegate* delegate, | |
23 scoped_refptr<extensions::DevicePermissionsPrompt::Prompt> prompt); | 22 scoped_refptr<extensions::DevicePermissionsPrompt::Prompt> prompt); |
24 ~DevicePermissionsDialogView() override; | 23 ~DevicePermissionsDialogView() override; |
25 | 24 |
26 // Overriding views::DialogDelegate. | 25 // Overriding views::DialogDelegate. |
27 bool Cancel() override; | 26 bool Cancel() override; |
28 bool Accept() override; | 27 bool Accept() override; |
29 | 28 |
30 // Overriding views::DialogModel. | 29 // Overriding views::DialogModel. |
31 base::string16 GetDialogButtonLabel(ui::DialogButton button) const override; | 30 base::string16 GetDialogButtonLabel(ui::DialogButton button) const override; |
32 | 31 |
33 // Overriding views::WidgetDelegate. | 32 // Overriding views::WidgetDelegate. |
34 ui::ModalType GetModalType() const override; | 33 ui::ModalType GetModalType() const override; |
35 base::string16 GetWindowTitle() const override; | 34 base::string16 GetWindowTitle() const override; |
36 | 35 |
37 // Overriding views::View | 36 // Overriding views::View |
38 gfx::Size GetPreferredSize() const override; | 37 gfx::Size GetPreferredSize() const override; |
39 | 38 |
40 private: | 39 private: |
41 extensions::DevicePermissionsPrompt::Delegate* delegate_; | |
42 scoped_refptr<extensions::DevicePermissionsPrompt::Prompt> prompt_; | 40 scoped_refptr<extensions::DevicePermissionsPrompt::Prompt> prompt_; |
43 | 41 |
44 // Displays the list of devices. | 42 // Displays the list of devices. |
45 views::TableView* table_view_; | 43 views::TableView* table_view_; |
46 scoped_ptr<DevicePermissionsTableModel> table_model_; | 44 scoped_ptr<DevicePermissionsTableModel> table_model_; |
47 }; | 45 }; |
48 | 46 |
49 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ | 47 #endif // CHROME_BROWSER_UI_VIEWS_EXTENSIONS_DEVICE_PERMISSIONS_DIALOG_VIEW_H_ |
OLD | NEW |