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

Side by Side Diff: ash/system/chromeos/screen_layout_observer.h

Issue 2400553002: ash: Remove broken display notification suppression when settings is open (Closed)
Patch Set: fix comment Created 4 years, 2 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_ 5 #ifndef ASH_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_
6 #define ASH_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_ 6 #define ASH_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <map> 10 #include <map>
(...skipping 11 matching lines...) Expand all
22 // ScreenLayoutObserver is responsible to send notification to users when screen 22 // ScreenLayoutObserver is responsible to send notification to users when screen
23 // resolution changes or screen rotation changes. 23 // resolution changes or screen rotation changes.
24 class ASH_EXPORT ScreenLayoutObserver : public WmDisplayObserver { 24 class ASH_EXPORT ScreenLayoutObserver : public WmDisplayObserver {
25 public: 25 public:
26 ScreenLayoutObserver(); 26 ScreenLayoutObserver();
27 ~ScreenLayoutObserver() override; 27 ~ScreenLayoutObserver() override;
28 28
29 // Overridden from WmDisplayObserver: 29 // Overridden from WmDisplayObserver:
30 void OnDisplayConfigurationChanged() override; 30 void OnDisplayConfigurationChanged() override;
31 31
32 // Notifications are shown in production and are not shown in unit tests.
33 // Allow individual unit tests to show notifications.
34 void set_show_notifications_for_testing(bool show) {
35 show_notifications_for_testing = show;
36 }
37
32 private: 38 private:
33 friend class ScreenLayoutObserverTest; 39 friend class ScreenLayoutObserverTest;
34 40
35 using DisplayInfoMap = std::map<int64_t, display::ManagedDisplayInfo>; 41 using DisplayInfoMap = std::map<int64_t, display::ManagedDisplayInfo>;
36 42
37 static const char kNotificationId[]; 43 static const char kNotificationId[];
38 44
39 // Scans the current display info and updates |display_info_|. Sets the 45 // Scans the current display info and updates |display_info_|. Sets the
40 // previous data to |old_info| if it's not NULL. 46 // previous data to |old_info| if it's not NULL.
41 void UpdateDisplayInfo(DisplayInfoMap* old_info); 47 void UpdateDisplayInfo(DisplayInfoMap* old_info);
42 48
43 // Compares the current display settings with |old_info| and determine what 49 // Compares the current display settings with |old_info| and determine what
44 // message should be shown for notification. Returns true if there's a 50 // message should be shown for notification. Returns true if there's a
45 // meaningful change. Note that it's possible to return true and set 51 // meaningful change. Note that it's possible to return true and set
46 // |message_out| to empty, which means the notification should be removed. It 52 // |message_out| to empty, which means the notification should be removed. It
47 // also sets |additional_message_out| which appears in the notification with 53 // also sets |additional_message_out| which appears in the notification with
48 // the |message_out|. 54 // the |message_out|.
49 bool GetDisplayMessageForNotification(const DisplayInfoMap& old_info, 55 bool GetDisplayMessageForNotification(const DisplayInfoMap& old_info,
50 base::string16* message_out, 56 base::string16* message_out,
51 base::string16* additional_message_out); 57 base::string16* additional_message_out);
52 58
53 // Creates or updates the display notification. 59 // Creates or updates the display notification.
54 void CreateOrUpdateNotification(const base::string16& message, 60 void CreateOrUpdateNotification(const base::string16& message,
55 const base::string16& additional_message); 61 const base::string16& additional_message);
56 62
57 DisplayInfoMap display_info_; 63 DisplayInfoMap display_info_;
58 64
65 bool show_notifications_for_testing = true;
66
59 DISALLOW_COPY_AND_ASSIGN(ScreenLayoutObserver); 67 DISALLOW_COPY_AND_ASSIGN(ScreenLayoutObserver);
60 }; 68 };
61 69
62 } // namespace ash 70 } // namespace ash
63 71
64 #endif // ASH_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_ 72 #endif // ASH_SYSTEM_CHROMEOS_SCREEN_LAYOUT_OBSERVER_H_
OLDNEW
« no previous file with comments | « ash/display/mirror_window_controller_unittest.cc ('k') | ash/system/chromeos/screen_layout_observer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698