blob: c303916f2fa9c88a36c41eed0506c759334e57d5 [file] [log] [blame]
[email protected]6ff1c332023-03-08 10:01:471
2// Copyright 2023 The Chromium Authors
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5
6#ifndef CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_BROWSER_UTILS_H_
7#define CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_BROWSER_UTILS_H_
8
Aga Wronskae4822652023-05-22 16:45:239#include <string>
10
[email protected]6ff1c332023-03-08 10:01:4711#include "content/public/browser/web_contents.h"
12#include "url/gurl.h"
13
Duong Dace4749152023-05-04 19:10:1214class ProfileSelections;
Aga Wronskae4822652023-05-22 16:45:2315class Profile;
Duong Dace4749152023-05-04 19:10:1216
[email protected]6ff1c332023-03-08 10:01:4717namespace supervised_user {
18
Duong Dace4749152023-05-04 19:10:1219// Returns true if both the extensions are enabled and the provided url is a
20// Webstore or Download url.
[email protected]6ff1c332023-03-08 10:01:4721bool IsSupportedChromeExtensionURL(const GURL& effective_url);
22
23// Returns true if the parent allowlist should be skipped.
24bool ShouldContentSkipParentAllowlistFiltering(content::WebContents* contents);
25
Duong Dace4749152023-05-04 19:10:1226// Returns how supervised_user factories that are needed in Guest profile
27// should be created.
28ProfileSelections BuildProfileSelectionsForRegularAndGuest();
29
30// Returns how several supervised_user factories are created before the
31// `supervised_user::kUpdateSupervisedUserFactoryCreation` feature is enabled.
32ProfileSelections BuildProfileSelectionsLegacy();
33
Aga Wronskae4822652023-05-22 16:45:2334// Returns given name of the primary account associated with the profile.
35std::string GetAccountGivenName(Profile& profile);
36
[email protected]503e2922023-06-23 13:38:3737// Asserts that `is_child` matches the child status of the primary user.
38// Terminates user session in case of status mismatch in order to prevent
39// supervision incidents. Relevant on Chrome OS platform that has the concept
40// of the user.
41void AssertChildStatusOfTheUser(Profile* profile, bool is_child);
42
[email protected]6ff1c332023-03-08 10:01:4743} // namespace supervised_user
44
45#endif // CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_BROWSER_UTILS_H_