OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ |
7 | 7 |
8 #include "base/macros.h" | 8 #include "base/macros.h" |
| 9 #include "base/memory/weak_ptr.h" |
9 | 10 |
10 namespace chromeos { | 11 namespace chromeos { |
11 | 12 |
12 // Tries to put the OOBE UI on a connected touch display (if available). | 13 // Tries to put the OOBE UI on a connected touch display (if available). |
13 class OobeDisplayChooser { | 14 class OobeDisplayChooser { |
14 public: | 15 public: |
15 OobeDisplayChooser(); | 16 OobeDisplayChooser(); |
16 ~OobeDisplayChooser(); | 17 ~OobeDisplayChooser(); |
17 | 18 |
| 19 // Must be called on the BrowserThread::UI thread. |
18 void TryToPlaceUiOnTouchDisplay(); | 20 void TryToPlaceUiOnTouchDisplay(); |
19 | 21 |
20 private: | 22 private: |
21 void MoveToTouchDisplay(); | 23 void MoveToTouchDisplay(); |
22 | 24 |
| 25 // Used to only have one request for display switching in flight at a time. |
| 26 bool display_switch_requested_ = false; |
| 27 |
| 28 base::WeakPtrFactory<OobeDisplayChooser> weak_ptr_factory_; |
| 29 |
23 DISALLOW_COPY_AND_ASSIGN(OobeDisplayChooser); | 30 DISALLOW_COPY_AND_ASSIGN(OobeDisplayChooser); |
24 }; | 31 }; |
25 | 32 |
26 } // namespace chromeos | 33 } // namespace chromeos |
27 | 34 |
28 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ | 35 #endif // CHROME_BROWSER_UI_WEBUI_CHROMEOS_LOGIN_OOBE_DISPLAY_CHOOSER_H_ |
OLD | NEW |