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

Side by Side Diff: chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.h

Issue 1545773002: Address some TODOs for ChooserBubbleDelegate class (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updated comments Created 4 years, 11 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 unified diff | Download patch
« no previous file with comments | « no previous file | chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_ 5 #ifndef CHROME_BROWSER_UI_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_
6 #define CHROME_BROWSER_UI_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_ 6 #define CHROME_BROWSER_UI_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "chrome/browser/ui/website_settings/chooser_bubble_delegate.h" 11 #include "chrome/browser/ui/website_settings/chooser_bubble_delegate.h"
12 #include "components/bubble/bubble_reference.h" 12 #include "components/bubble/bubble_reference.h"
13 13
14 class Browser; 14 class Browser;
15 class BluetoothChooserDesktop; 15 class BluetoothChooserDesktop;
16 16
17 // BluetoothChooserBubbleDelegate is a chooser that presents a list of 17 // BluetoothChooserBubbleDelegate is a chooser that presents a list of
18 // Bluetooth device names, which come from |bluetooth_chooser_desktop_|. 18 // Bluetooth device names, which come from |bluetooth_chooser_desktop_|.
19 // It can be used by WebBluetooth API to get the user's permission to 19 // It can be used by WebBluetooth API to get the user's permission to
20 // access a Bluetooth device. 20 // access a Bluetooth device.
21 class BluetoothChooserBubbleDelegate : public ChooserBubbleDelegate { 21 class BluetoothChooserBubbleDelegate : public ChooserBubbleDelegate {
22 public: 22 public:
23 explicit BluetoothChooserBubbleDelegate(Browser* browser); 23 explicit BluetoothChooserBubbleDelegate(Browser* browser);
24 ~BluetoothChooserBubbleDelegate() override; 24 ~BluetoothChooserBubbleDelegate() override;
25 25
26 // ChooserBubbleDelegate: 26 // ChooserBubbleDelegate:
27 const std::vector<base::string16>& GetOptions() const override; 27 size_t NumOptions() const override;
28 void Select(int index) override; 28 const base::string16& GetOption(size_t index) const override;
29 void Select(size_t index) override;
29 void Cancel() override; 30 void Cancel() override;
30 void Close() override; 31 void Close() override;
31 32
32 // Shows a new device in the chooser. 33 // Shows a new device in the chooser.
33 void AddDevice(const std::string& device_id, 34 void AddDevice(const std::string& device_id,
34 const base::string16& device_name); 35 const base::string16& device_name);
35 36
36 // Tells the chooser that a device is no longer available. 37 // Tells the chooser that a device is no longer available.
37 void RemoveDevice(const std::string& device_id); 38 void RemoveDevice(const std::string& device_id);
38 39
39 void set_bluetooth_chooser(BluetoothChooserDesktop* bluetooth_chooser) { 40 void set_bluetooth_chooser(BluetoothChooserDesktop* bluetooth_chooser) {
40 bluetooth_chooser_ = bluetooth_chooser; 41 bluetooth_chooser_ = bluetooth_chooser;
41 } 42 }
42 43
43 void set_bubble_controller(BubbleReference bubble_controller) { 44 void set_bubble_controller(BubbleReference bubble_controller) {
44 bubble_controller_ = bubble_controller; 45 bubble_controller_ = bubble_controller;
45 } 46 }
46 47
47 private: 48 private:
48 // TODO(juncai): use std::vector<std::pair<base::string16, std::string>> 49 // Each pair is a (device name, device id).
49 // here since the lengths can't get out of sync and each pair of items 50 std::vector<std::pair<base::string16, std::string>> device_names_and_ids_;
50 // is tightly associated.
51 // Also need to change ChooserBubbleDelegate::GetOptions to be:
52 // size_t NumOptions()
53 // const base::string16& GetOption(size_t index)
54 //
55 // |device_names_| and |device_ids_| have the same length.
56 // device_names_[i] is the name for the device with id device_ids_[i].
57 std::vector<base::string16> device_names_;
58 std::vector<std::string> device_ids_;
59 BluetoothChooserDesktop* bluetooth_chooser_; 51 BluetoothChooserDesktop* bluetooth_chooser_;
60 BubbleReference bubble_controller_; 52 BubbleReference bubble_controller_;
61 53
62 DISALLOW_COPY_AND_ASSIGN(BluetoothChooserBubbleDelegate); 54 DISALLOW_COPY_AND_ASSIGN(BluetoothChooserBubbleDelegate);
63 }; 55 };
64 56
65 #endif // CHROME_BROWSER_UI_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_ 57 #endif // CHROME_BROWSER_UI_BLUETOOTH_BLUETOOTH_CHOOSER_BUBBLE_DELEGATE_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/bluetooth/bluetooth_chooser_bubble_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698