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

Side by Side Diff: ash/common/system/tray/wm_system_tray_notifier.h

Issue 2086503003: mash: Migrate tray IME view to wm common types, move to //ash/common (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@movea11y
Patch Set: nit Created 4 years, 6 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_ 5 #ifndef ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_
6 #define ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_ 6 #define ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_
7 7
8 #include "ash/ash_export.h" 8 #include "ash/ash_export.h"
9 #include "ash/common/accessibility_types.h" 9 #include "ash/common/accessibility_types.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/observer_list.h" 11 #include "base/observer_list.h"
12 12
13 namespace ash { 13 namespace ash {
14 14
15 class AccessibilityObserver; 15 class AccessibilityObserver;
16 class ClockObserver; 16 class ClockObserver;
17 class IMEObserver;
17 struct UpdateInfo; 18 struct UpdateInfo;
18 class UpdateObserver; 19 class UpdateObserver;
19 20
21 #if defined(OS_CHROMEOS)
22 class VirtualKeyboardObserver;
23 #endif
24
20 // Observer and notification manager for the ash system tray. This version 25 // Observer and notification manager for the ash system tray. This version
21 // contains the observers that have been ported to //ash/common. See also 26 // contains the observers that have been ported to //ash/common. See also
22 // ash::SystemTrayNotifier. 27 // ash::SystemTrayNotifier.
23 // TODO(jamescook): After all the observers have been moved, rename this class 28 // TODO(jamescook): After all the observers have been moved, rename this class
24 // to SystemTrayNotifier. 29 // to SystemTrayNotifier.
25 class ASH_EXPORT WmSystemTrayNotifier { 30 class ASH_EXPORT WmSystemTrayNotifier {
26 public: 31 public:
27 WmSystemTrayNotifier(); 32 WmSystemTrayNotifier();
28 ~WmSystemTrayNotifier(); 33 ~WmSystemTrayNotifier();
29 34
35 // Accessibility.
30 void AddAccessibilityObserver(AccessibilityObserver* observer); 36 void AddAccessibilityObserver(AccessibilityObserver* observer);
31 void RemoveAccessibilityObserver(AccessibilityObserver* observer); 37 void RemoveAccessibilityObserver(AccessibilityObserver* observer);
32
33 void AddClockObserver(ClockObserver* observer);
34 void RemoveClockObserver(ClockObserver* observer);
35
36 void AddUpdateObserver(UpdateObserver* observer);
37 void RemoveUpdateObserver(UpdateObserver* observer);
38
39 void NotifyAccessibilityModeChanged( 38 void NotifyAccessibilityModeChanged(
40 AccessibilityNotificationVisibility notify); 39 AccessibilityNotificationVisibility notify);
41 40
41 // Date and time.
42 void AddClockObserver(ClockObserver* observer);
43 void RemoveClockObserver(ClockObserver* observer);
42 void NotifyRefreshClock(); 44 void NotifyRefreshClock();
43 void NotifyDateFormatChanged(); 45 void NotifyDateFormatChanged();
44 void NotifySystemClockTimeUpdated(); 46 void NotifySystemClockTimeUpdated();
45 void NotifySystemClockCanSetTimeChanged(bool can_set_time); 47 void NotifySystemClockCanSetTimeChanged(bool can_set_time);
46 48
49 // Input methods.
50 void AddIMEObserver(IMEObserver* observer);
51 void RemoveIMEObserver(IMEObserver* observer);
52 void NotifyRefreshIME();
53 void NotifyRefreshIMEMenu(bool is_active);
54
55 // OS updates.
56 void AddUpdateObserver(UpdateObserver* observer);
57 void RemoveUpdateObserver(UpdateObserver* observer);
47 void NotifyUpdateRecommended(const UpdateInfo& info); 58 void NotifyUpdateRecommended(const UpdateInfo& info);
48 59
60 #if defined(OS_CHROMEOS)
61 // Virtual keyboard.
62 void AddVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
63 void RemoveVirtualKeyboardObserver(VirtualKeyboardObserver* observer);
64 void NotifyVirtualKeyboardSuppressionChanged(bool suppressed);
65 #endif
66
49 private: 67 private:
50 base::ObserverList<AccessibilityObserver> accessibility_observers_; 68 base::ObserverList<AccessibilityObserver> accessibility_observers_;
69 base::ObserverList<IMEObserver> ime_observers_;
51 base::ObserverList<ClockObserver> clock_observers_; 70 base::ObserverList<ClockObserver> clock_observers_;
52 base::ObserverList<UpdateObserver> update_observers_; 71 base::ObserverList<UpdateObserver> update_observers_;
53 72
73 #if defined(OS_CHROMEOS)
74 base::ObserverList<VirtualKeyboardObserver> virtual_keyboard_observers_;
75 #endif
76
54 DISALLOW_COPY_AND_ASSIGN(WmSystemTrayNotifier); 77 DISALLOW_COPY_AND_ASSIGN(WmSystemTrayNotifier);
55 }; 78 };
56 79
57 } // namespace ash 80 } // namespace ash
58 81
59 #endif // ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_ 82 #endif // ASH_COMMON_SYSTEM_TRAY_WM_SYSTEM_TRAY_NOTIFIER_H_
OLDNEW
« no previous file with comments | « ash/common/system/ime/tray_ime_chromeos_unittest.cc ('k') | ash/common/system/tray/wm_system_tray_notifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698