Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 1 | // Copyright 2022 The Chromium Authors |
| 2 | // Use of this source code is governed by a BSD-style license that can be |
| 3 | // found in the LICENSE file. |
| 4 | |
| 5 | #ifndef CHROME_BROWSER_HID_HID_SYSTEM_TRAY_ICON_H_ |
| 6 | #define CHROME_BROWSER_HID_HID_SYSTEM_TRAY_ICON_H_ |
| 7 | |
Antonio Gomes | 00d63aa | 2023-02-15 22:21:10 | [diff] [blame] | 8 | #include <string> |
Jack Hsieh | e057e155 | 2023-05-19 17:14:06 | [diff] [blame] | 9 | #include "chrome/browser/device_notifications/device_system_tray_icon.h" |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 10 | #include "ui/gfx/image/image_skia.h" |
Lei Zhang | c6d0edb | 2023-01-31 22:31:49 | [diff] [blame] | 11 | |
Jack Hsieh | e057e155 | 2023-05-19 17:14:06 | [diff] [blame] | 12 | class HidSystemTrayIcon : public DeviceSystemTrayIcon { |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 13 | public: |
Juan Garza Sanchez | 852a3109 | 2023-06-20 20:45:18 | [diff] [blame] | 14 | explicit HidSystemTrayIcon( |
| 15 | std::unique_ptr<DeviceSystemTrayIconRenderer> icon_renderer); |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 16 | HidSystemTrayIcon(const HidSystemTrayIcon&) = delete; |
| 17 | HidSystemTrayIcon& operator=(const HidSystemTrayIcon&) = delete; |
Jack Hsieh | e057e155 | 2023-05-19 17:14:06 | [diff] [blame] | 18 | ~HidSystemTrayIcon() override; |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 19 | |
Jack Hsieh | 13a0a3d8 | 2024-06-04 22:09:22 | [diff] [blame] | 20 | const gfx::VectorIcon& GetIcon() override; |
Juan Garza Sanchez | 852a3109 | 2023-06-20 20:45:18 | [diff] [blame] | 21 | std::u16string GetTitleLabel(size_t num_origins, |
| 22 | size_t num_connections) override; |
| 23 | std::u16string GetContentSettingsLabel() override; |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 24 | |
Juan Garza Sanchez | 852a3109 | 2023-06-20 20:45:18 | [diff] [blame] | 25 | private: |
| 26 | DeviceConnectionTracker* GetConnectionTracker( |
| 27 | base::WeakPtr<Profile> profile) override; |
Jack Hsieh | ea76b94b5 | 2022-12-13 16:37:05 | [diff] [blame] | 28 | }; |
|
|