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

Unified Diff: chrome/browser/chromeos/arc/arc_session_manager.h

Issue 2734873002: Fix ArcSessionManager state machine, part 2. (Closed)
Patch Set: Address comment. Created 3 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/arc/arc_session_manager.h
diff --git a/chrome/browser/chromeos/arc/arc_session_manager.h b/chrome/browser/chromeos/arc/arc_session_manager.h
index b2c8379f9ebde550d1099b9f5cdb9a80fa0a768d..0219944ed1467bf79d07284509e838341c4b1ac5 100644
--- a/chrome/browser/chromeos/arc/arc_session_manager.h
+++ b/chrome/browser/chromeos/arc/arc_session_manager.h
@@ -167,6 +167,13 @@ class ArcSessionManager : public ArcSessionRunner::Observer,
// If it is already requested to disable, no-op.
void RequestDisable();
+ // Requests to remove the ARC data.
+ // If ARC is stopped, triggers to remove the data. Otherwise, queues to
+ // remove the data on ARC stopping.
Luis Héctor Chávez 2017/03/07 21:52:00 nit: "after ARC stops" is a bit more precise (othe
hidehiko 2017/03/09 09:25:51 Done.
+ // A log statement with the removal reason must be added prior to calling
+ // this.
+ void RequestArcDataRemoval();
+
// Called from the Chrome OS metrics provider to record Arc.State
// periodically.
void RecordArcState();
@@ -184,11 +191,6 @@ class ArcSessionManager : public ArcSessionRunner::Observer,
// This can be called only when ARC is running.
void StopAndEnableArc();
- // Removes the data if ARC is stopped. Otherwise, queue to remove the data
- // on ARC is stopped. A log statement with the removal reason must be added
- // prior to calling RemoveArcData().
- void RemoveArcData();
-
ArcSupportHost* support_host() { return support_host_.get(); }
// TODO(hidehiko): Get rid of the getter by migration between ArcAuthContext
@@ -232,7 +234,6 @@ class ArcSessionManager : public ArcSessionRunner::Observer,
void SetState(State state);
void ShutdownSession();
- void OnArcDataRemoved(bool success);
void OnArcSignInTimeout();
// Starts Android management check. This is for first boot case (= Opt-in
@@ -273,6 +274,13 @@ class ArcSessionManager : public ArcSessionRunner::Observer,
// ArcSessionRunner::Observer:
void OnSessionStopped(ArcStopReason reason, bool restarting) override;
+ // Starts to remove ARC data, if it is requested via RequestArcDataRemoval().
+ // On completion, OnArcDataRemoved() is called.
+ // If not requested, OnArcDataRemoved() is called as if the data removal
Yusuke Sato 2017/03/07 21:03:08 Please update the comment too.
hidehiko 2017/03/09 09:25:51 Done.
+ // is done successfully, synchronously.
+ void StartArcDataRemoval();
Luis Héctor Chávez 2017/03/07 21:52:00 Another vote to call this "MaybeStartArcDataRemova
hidehiko 2017/03/09 09:25:51 Done.
+ void OnArcDataRemoved(bool success);
+
// On ARC session stopped and/or data removal completion, this is called
// so that, if necessary, ARC session is restarted.
// TODO(hidehiko): This can be removed after the racy state machine

Powered by Google App Engine
This is Rietveld 408576698