blob: af2be2c000d296cb27cd3f0c33c0db48a7d86b94 [file] [log] [blame]
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// #import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
/**
* Specifies page visibility based on incognito status and Chrome OS guest mode.
* @typedef {{
* a11y: (boolean|undefined),
* advancedSettings: (boolean|undefined),
* appearance: (OSAppearancePageVisibility|undefined),
* autofill: (boolean|undefined),
* bluetooth: (boolean|undefined),
* dateTime: (boolean|undefined),
* device: (boolean|undefined),
* downloads: (DownloadsPageVisibility|undefined),
* internet: (boolean|undefined),
* kerberos: (boolean|undefined),
* languages: (LanguagesPageVisibility|undefined),
* multidevice: (boolean|undefined),
* onStartup: (boolean|undefined),
* people: (boolean|undefined|PeoplePageVisibility),
* printing: (boolean|undefined),
* privacy: (OSPrivacyPageVisibility|undefined),
* reset: (boolean|undefined),
* }}
*/
/* #export */ let OSPageVisibility;
/**
* @typedef {{
* bookmarksBar: boolean,
* homeButton: boolean,
* pageZoom: boolean,
* setTheme: boolean,
* setWallpaper: boolean,
* }}
*/
/* #export */ let OSAppearancePageVisibility;
/**
* @typedef {{
* googleDrive: boolean,
* smbShares: boolean,
* }}
*/
/* #export */ let DownloadsPageVisibility;
/**
* @typedef {{
* googleAccounts: boolean,
* kerberosAccounts: boolean,
* lockScreen: boolean,
* manageUsers: boolean,
* }}
*/
/* #export */ let PeoplePageVisibility;
/**
* @typedef {{
* contentProtectionAttestation: boolean,
* networkPrediction: boolean,
* searchPrediction: boolean,
* wakeOnWifi: boolean,
* }}
*/
/* #export */ let OSPrivacyPageVisibility;
/**
* @typedef {{
* manageInputMethods: boolean,
* inputMethodsList: boolean,
* }}
*/
/* #export */ let LanguagesPageVisibility;
cr.define('settings', function() {
/**
* Dictionary defining page visibility.
* @type {!OSPageVisibility}
*/
/* #export */ let osPageVisibility;
const isAccountManagerEnabled =
loadTimeData.valueExists('isAccountManagerEnabled') &&
loadTimeData.getBoolean('isAccountManagerEnabled');
const isKerberosEnabled = loadTimeData.valueExists('isKerberosEnabled') &&
loadTimeData.getBoolean('isKerberosEnabled');
const isKerberosSettingsSectionEnabled =
loadTimeData.valueExists('isKerberosSettingsSectionEnabled') &&
loadTimeData.getBoolean('isKerberosSettingsSectionEnabled');
if (loadTimeData.getBoolean('isGuest')) {
osPageVisibility = {
internet: true,
bluetooth: true,
multidevice: false,
autofill: false,
people: false,
kerberos: isKerberosEnabled && isKerberosSettingsSectionEnabled,
onStartup: false,
reset: false,
appearance: {
setWallpaper: false,
setTheme: false,
homeButton: false,
bookmarksBar: false,
pageZoom: false,
},
device: true,
advancedSettings: true,
dateTime: true,
privacy: {
contentProtectionAttestation: true,
searchPrediction: false,
networkPrediction: false,
wakeOnWifi: true,
},
downloads: {
googleDrive: false,
smbShares: false,
},
a11y: true,
extensions: false,
printing: true,
languages: {
manageInputMethods: true,
inputMethodsList: true,
},
};
} else {
osPageVisibility = {
internet: true,
bluetooth: true,
multidevice: true,
autofill: true,
people: {
lockScreen: true,
kerberosAccounts:
isKerberosEnabled && !isKerberosSettingsSectionEnabled,
googleAccounts: isAccountManagerEnabled,
manageUsers: true,
},
kerberos: isKerberosEnabled && isKerberosSettingsSectionEnabled,
onStartup: true,
reset: true,
appearance: {
setWallpaper: true,
setTheme: true,
homeButton: true,
bookmarksBar: true,
pageZoom: true,
},
device: true,
advancedSettings: true,
dateTime: true,
privacy: {
contentProtectionAttestation: true,
searchPrediction: true,
networkPrediction: true,
wakeOnWifi: true,
},
downloads: {
googleDrive: true,
smbShares: true,
},
a11y: true,
extensions: true,
printing: true,
languages: {
manageInputMethods: true,
inputMethodsList: true,
},
};
}
// #cr_define_end
return {osPageVisibility: osPageVisibility};
});