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

Side by Side Diff: chrome/browser/chromeos/arc/arc_util.h

Issue 2806443002: arc: Add IsArcAllowedInAppListForProfile. (Closed)
Patch Set: Rename Created 3 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_CHROMEOS_ARC_ARC_UTIL_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_ARC_ARC_UTIL_H_
6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_UTIL_H_ 6 #define CHROME_BROWSER_CHROMEOS_ARC_ARC_UTIL_H_
7 7
8 // Most utility should be put in components/arc/arc_util.{h,cc}, rather than 8 // Most utility should be put in components/arc/arc_util.{h,cc}, rather than
9 // here. However, some utility implementation requires other modules defined in 9 // here. However, some utility implementation requires other modules defined in
10 // chrome/, so this file contains such utilities. 10 // chrome/, so this file contains such utilities.
11 // Note that it is not allowed to have dependency from components/ to chrome/ 11 // Note that it is not allowed to have dependency from components/ to chrome/
12 // by DEPS. 12 // by DEPS.
13 13
14 class Profile; 14 class Profile;
15 15
16 namespace base { 16 namespace base {
17 class FilePath; 17 class FilePath;
18 } 18 }
19 19
20 namespace arc { 20 namespace arc {
21 21
22 // Returns true if ARC is allowed to run for the given profile. 22 // Returns true if ARC is allowed to run for the given profile.
23 // Otherwise, returns false, e.g. if the Profile is not for the primary user, 23 // Otherwise, returns false, e.g. if the Profile is not for the primary user,
24 // ARC is not available on the device, it is in the flow to set up managed 24 // ARC is not available on the device, it is in the flow to set up managed
25 // account creation. 25 // account creation.
26 // nullptr can be safely passed to this function. In that case, returns false. 26 // nullptr can be safely passed to this function. In that case, returns false.
27 bool IsArcAllowedForProfile(const Profile* profile); 27 bool IsArcAllowedForProfile(const Profile* profile);
28 28
29 // Returns true if ARC app is allowed to show up on app list for the given
30 // profile. This can be a looser condition than IsArcAllowedForProfile.
31 // ARC may be temporaliry disallowed for the profile, but it may become again
32 // avaiable after the user's action. ARC app list can stay there to ease the
33 // user (by showing apps not gone) and to give a guide for the action.
34 bool IsArcAllowedInAppListForProfile(const Profile* profile);
35
36 // Returns true if the profile is already marked to be on a filesystem
37 // compatible to the currently installed ARC version. The check almost never
38 // is meaningful on test workstation. Usually it should be checked only when
39 // running on the real Chrome OS.
40 bool IsArcCompatibleFileSystemUsedForProfile(const Profile* profile);
41
29 // Disallows ARC for all profiles for testing. 42 // Disallows ARC for all profiles for testing.
30 // In most cases, disabling ARC should be done via commandline. However, 43 // In most cases, disabling ARC should be done via commandline. However,
31 // there are some cases to be tested where ARC is available, but ARC is not 44 // there are some cases to be tested where ARC is available, but ARC is not
32 // supported for some reasons (e.g. incognito mode, supervised user, 45 // supported for some reasons (e.g. incognito mode, supervised user,
33 // secondary profile). On the other hand, some test infra does not support 46 // secondary profile). On the other hand, some test infra does not support
34 // such situations (e.g. API test). This is for workaround to emulate the 47 // such situations (e.g. API test). This is for workaround to emulate the
35 // case. 48 // case.
36 void DisallowArcForTesting(); 49 void DisallowArcForTesting();
37 50
38 // Returns whether the user has opted in (or is opting in now) to use Google 51 // Returns whether the user has opted in (or is opting in now) to use Google
(...skipping 26 matching lines...) Expand all
65 // ArcBackupRestoreEnabled and ArcLocationServiceEnabled) are managed. 78 // ArcBackupRestoreEnabled and ArcLocationServiceEnabled) are managed.
66 bool AreArcAllOptInPreferencesManagedForProfile(const Profile* profile); 79 bool AreArcAllOptInPreferencesManagedForProfile(const Profile* profile);
67 80
68 // Returns whether ARC can run on the filesystem mounted at |path|. 81 // Returns whether ARC can run on the filesystem mounted at |path|.
69 // This function should run only on threads where IO operations are allowed. 82 // This function should run only on threads where IO operations are allowed.
70 bool IsArcCompatibleFilesystem(const base::FilePath& path); 83 bool IsArcCompatibleFilesystem(const base::FilePath& path);
71 84
72 } // namespace arc 85 } // namespace arc
73 86
74 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_UTIL_H_ 87 #endif // CHROME_BROWSER_CHROMEOS_ARC_ARC_UTIL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/arc/arc_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698