blob: b537de21cdb35121aa2638fd93162c5d4bba44aa [file] [log] [blame]
Jason Hua06a229e2024-05-04 01:40:061// Copyright 2024 The Chromium Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_UI_LENS_LENS_OVERLAY_PERMISSION_UTILS_H_
6#define CHROME_BROWSER_UI_LENS_LENS_OVERLAY_PERMISSION_UTILS_H_
7
8class PrefService;
9
10namespace syncer {
11class SyncService;
12} // namespace syncer
13
Mohamad Ahmadieb5d1222024-05-06 17:12:4314namespace user_prefs {
15class PrefRegistrySyncable;
16} // namespace user_prefs
17
Jason Hua06a229e2024-05-04 01:40:0618namespace lens {
Mohamad Ahmadieb5d1222024-05-06 17:12:4319namespace prefs {
20
Justin Donnellyd4704342024-05-28 20:32:2621// The possible values for the Lens Overlay enterprise policy. The value is an
22// integer rather than a boolean to allow for additional states to be added in
23// the future.
24enum class LensOverlaySettingsPolicyValue {
25 kEnabled = 0,
26 kDisabled = 1,
27};
28
29// An integer setting indicating whether the Lens Overlay feature is enabled or
30// disabled by the 'LensOverlaySettings' enterprise policy.
31inline constexpr char kLensOverlaySettings[] =
32 "lens.policy.lens_overlay_settings";
33
Mohamad Ahmadieb5d1222024-05-06 17:12:4334// A boolean indicating whether the whether the user has permitted sharing page
35// screenshot with the Lens Overlay server.
36inline constexpr char kLensSharingPageScreenshotEnabled[] =
37 "lens.sharing_page_screenshot.enabled";
38
39// Registers the prefs used by the Lens Overlay.
40void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry);
41
42} // namespace prefs
43
44// Returns true if the user, i.e., the local, current profile, is permitted to
45// share the the page screenshot with the Lens Overlay server.
46bool CanSharePageScreenshotWithLensOverlay(PrefService* pref_service);
Jason Hua06a229e2024-05-04 01:40:0647
48// Returns true if the user, i.e., the local, current profile, is permitted to
49// share the the page URL with the the Lens Overlay server.
50bool CanSharePageURLWithLensOverlay(PrefService* pref_service);
51
52// Returns true if the user, i.e., the local, current profile, is permitted to
53// share the information about the page title with the the Lens Overlay server.
54bool CanSharePageTitleWithLensOverlay(syncer::SyncService* sync_service);
55
56} // namespace lens
57
58#endif // CHROME_BROWSER_UI_LENS_LENS_OVERLAY_PERMISSION_UTILS_H_