Chromium Code Reviews| Index: chrome/browser/ui/views/website_settings/chooser_bubble_ui.h |
| diff --git a/chrome/browser/ui/views/website_settings/chooser_bubble_ui.h b/chrome/browser/ui/views/website_settings/chooser_bubble_ui.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..8d492ebed92155753c18e8f55f3b4e26edb45626 |
| --- /dev/null |
| +++ b/chrome/browser/ui/views/website_settings/chooser_bubble_ui.h |
| @@ -0,0 +1,44 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_CHOOSER_BUBBLE_UI_H_ |
| +#define CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_CHOOSER_BUBBLE_UI_H_ |
| + |
| +#include "components/bubble/bubble_ui.h" |
| +#include "ui/views/bubble/bubble_border.h" |
| + |
| +namespace views { |
| +class View; |
| +} |
| + |
| +class Browser; |
| +class ChooserBubbleUiDelegate; |
| +class WebUsbPermissionBubbleRequest; |
| + |
| +// ChooserBubbleUi implements a chooser-based permission model, |
| +// it uses table view to show a list of items (such as usb devices, etc.) |
| +// for user to grant permission. It can be used by WebUsb, WebBluetooth. |
| +class ChooserBubbleUi : public BubbleUi { |
| + public: |
| + ChooserBubbleUi(Browser* browser, WebUsbPermissionBubbleRequest* request); |
| + ~ChooserBubbleUi() override; |
| + |
| + // BubbleUi: |
| + void Show(BubbleReference bubble_reference) override; |
| + void Close() override; |
| + void UpdateAnchorPosition() override; |
| + |
| + void Connect(int index); |
| + void Cancel(); |
| + |
| + private: |
| + views::View* GetAnchorView(); |
| + views::BubbleBorder::Arrow GetAnchorArrow(); |
| + |
| + Browser* browser_; |
| + WebUsbPermissionBubbleRequest* request_; |
|
Reilly Grant (use Gerrit)
2015/10/20 22:17:07
Instead of holding the request here bubble_delegat
juncai
2015/10/23 03:36:42
Done.
|
| + ChooserBubbleUiDelegate* bubble_delegate_; |
| +}; |
| + |
| +#endif // CHROME_BROWSER_UI_VIEWS_WEBSITE_SETTINGS_CHOOSER_BUBBLE_UI_H_ |