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

Unified Diff: ash/common/wm_shell.h

Issue 2573703003: chromeos: Fix shelf appearing at login screen under mash (Closed)
Patch Set: rebase and cleanup Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: ash/common/wm_shell.h
diff --git a/ash/common/wm_shell.h b/ash/common/wm_shell.h
index e0267f04a05c795cba5f7bd8aed92f5414640c69..e20d3dcbcd1775c2453644b8bf8e1447825d6ec0 100644
--- a/ash/common/wm_shell.h
+++ b/ash/common/wm_shell.h
@@ -13,6 +13,7 @@
#include "ash/ash_export.h"
#include "ash/common/metrics/gesture_action_type.h"
#include "ash/common/metrics/user_metrics_action.h"
+#include "ash/common/session/session_state_observer.h"
#include "ash/common/wm/lock_state_observer.h"
#include "base/observer_list.h"
#include "components/ui_devtools/devtools_server.h"
@@ -100,7 +101,7 @@ class VpnList;
#endif
// Similar to ash::Shell. Eventually the two will be merged.
-class ASH_EXPORT WmShell {
+class ASH_EXPORT WmShell : public SessionStateObserver {
public:
// This is necessary for a handful of places that is difficult to plumb
// through context.
@@ -343,9 +344,6 @@ class ASH_EXPORT WmShell {
// Initializes the appropriate shelves. Does nothing for any existing shelves.
void CreateShelf();
- // Show shelf view if it was created hidden (before session has started).
- void ShowShelf();
-
void CreateShelfDelegate();
// Called after maximize mode has started, windows might still animate though.
@@ -446,7 +444,7 @@ class ASH_EXPORT WmShell {
protected:
explicit WmShell(std::unique_ptr<ShellDelegate> shell_delegate);
- virtual ~WmShell();
+ ~WmShell() override;
base::ObserverList<ShellObserver>* shell_observers() {
return &shell_observers_;
@@ -474,6 +472,9 @@ class ASH_EXPORT WmShell {
void SetAcceleratorController(
std::unique_ptr<AcceleratorController> accelerator_controller);
+ // SessionStateObserver:
+ void SessionStateChanged(session_manager::SessionState state) override;
+
private:
friend class AcceleratorControllerTest;
friend class ScopedRootWindowForNewWindows;
@@ -524,6 +525,9 @@ class ASH_EXPORT WmShell {
bool simulate_modal_window_open_for_testing_ = false;
+ // Whether the first user has finished login and the first session is active.
+ bool first_session_active_ = false;
+
scoped_refptr<base::SequencedWorkerPool> blocking_pool_;
#if defined(OS_CHROMEOS)

Powered by Google App Engine
This is Rietveld 408576698