Add a privacy disclosure to chrome://management page about managed sites
This CL adds a list of websites to which a managed configuration provided by the admin was applied to the Chrome User Transparency page. This ensures user awareness about admin-provided data being sent to the website. Bug: 1194579 Change-Id: I8c16b5566b83340b3bedc9bd3a0bfa9a8cfad2c7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2799713 Reviewed-by: Nico Weber <thakis@chromium.org> Reviewed-by: Anqing Zhao <anqing@chromium.org> Commit-Queue: Anatoliy Potapchuk <apotapchuk@chromium.org> Cr-Commit-Position: refs/heads/master@{#869653}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
6efe5aad02
commit
ceb092eeb8
chrome/browser
device_api
resources
ui
components
@ -174,6 +174,11 @@ bool ManagedConfigurationAPI::CanHaveManagedStore(const url::Origin& origin) {
|
||||
return base::Contains(managed_origins_, origin);
|
||||
}
|
||||
|
||||
const std::set<url::Origin>& ManagedConfigurationAPI::GetManagedOrigins()
|
||||
const {
|
||||
return managed_origins_;
|
||||
}
|
||||
|
||||
void ManagedConfigurationAPI::OnConfigurationPolicyChanged() {
|
||||
const base::Value* managed_configurations =
|
||||
profile_->GetPrefs()->GetList(prefs::kManagedConfigurationPerOrigin);
|
||||
|
@ -56,6 +56,9 @@ class ManagedConfigurationAPI : public KeyedService {
|
||||
// this checks whether the application is managed.
|
||||
bool CanHaveManagedStore(const url::Origin& origin);
|
||||
|
||||
// Returns the list of all origins that have a managed configuration set.
|
||||
const std::set<url::Origin>& GetManagedOrigins() const;
|
||||
|
||||
private:
|
||||
class ManagedConfigurationDownloader;
|
||||
|
||||
|
@ -33,6 +33,7 @@ export let BrowserReportingResponse;
|
||||
* @typedef {{
|
||||
* browserManagementNotice: string,
|
||||
* extensionReportingTitle: string,
|
||||
* managedWebsitesSubtitle: string,
|
||||
* pageSubtitle: string,
|
||||
* managed: boolean,
|
||||
* overview: string,
|
||||
@ -98,6 +99,9 @@ export class ManagementBrowserProxy {
|
||||
/** @return {!Promise<!Array<!Extension>>} */
|
||||
getExtensions() {}
|
||||
|
||||
/** @return {!Promise<!Array<!String>>} */
|
||||
getManagedWebsites() {}
|
||||
|
||||
// <if expr="chromeos">
|
||||
/**
|
||||
* @return {!Promise<boolean>} Boolean describing trust root configured
|
||||
@ -138,6 +142,11 @@ export class ManagementBrowserProxyImpl {
|
||||
return sendWithPromise('getExtensions');
|
||||
}
|
||||
|
||||
/** @override */
|
||||
getManagedWebsites() {
|
||||
return sendWithPromise('getManagedWebsites');
|
||||
}
|
||||
|
||||
// <if expr="chromeos">
|
||||
/** @override */
|
||||
getLocalTrustRootsInfo() {
|
||||
|
@ -362,6 +362,22 @@
|
||||
</table>
|
||||
</section>
|
||||
</template>
|
||||
<template is="dom-if"
|
||||
if="[[showManagedWebsitesInfo_(managedWebsites_)]]">
|
||||
<section class="managed-webistes">
|
||||
<h2 class="cr-title-text">$i18n{managedWebsites}</h2>
|
||||
<div class="subtitle">
|
||||
[[managedWebsitesSubtitle_]]
|
||||
</div>
|
||||
<div class="content-indented">
|
||||
<template is="dom-repeat" items="[[managedWebsites_]]">
|
||||
<div class="report">
|
||||
[[item]]
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</section>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
@ -53,6 +53,12 @@ Polymer({
|
||||
*/
|
||||
extensions_: Array,
|
||||
|
||||
/**
|
||||
* List of messages related to browser reporting.
|
||||
* @private (?Array<!String>)
|
||||
*/
|
||||
managedWebsites_: Array,
|
||||
|
||||
// <if expr="chromeos">
|
||||
/**
|
||||
* List of messages related to device reporting.
|
||||
@ -132,6 +138,7 @@ Polymer({
|
||||
info => this.threatProtectionInfo_ = info);
|
||||
|
||||
this.getExtensions_();
|
||||
this.getManagedWebsites_();
|
||||
// <if expr="chromeos">
|
||||
this.getDeviceReportingInfo_();
|
||||
this.getPluginVmDataCollectionStatus_();
|
||||
@ -180,6 +187,13 @@ Polymer({
|
||||
});
|
||||
},
|
||||
|
||||
/** @private */
|
||||
getManagedWebsites_() {
|
||||
this.browserProxy_.getManagedWebsites().then(managedWebsites => {
|
||||
this.managedWebsites_ = managedWebsites;
|
||||
});
|
||||
},
|
||||
|
||||
/** @private */
|
||||
getThreatProtectionInfo_() {
|
||||
this.browserProxy_.getThreatProtectionInfo().then(info => {
|
||||
@ -295,6 +309,15 @@ Polymer({
|
||||
return !!this.extensions_ && this.extensions_.length > 0;
|
||||
},
|
||||
|
||||
/**
|
||||
* @return {boolean} True of there is managed websites info to show.
|
||||
* @private
|
||||
*/
|
||||
showManagedWebsitesInfo_() {
|
||||
return !!this.managedWebsites_ && this.managedWebsites_.length > 0;
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* @param {ReportingType} reportingType
|
||||
* @returns {string} The associated icon.
|
||||
@ -344,6 +367,7 @@ Polymer({
|
||||
this.browserProxy_.getContextualManagedData().then(data => {
|
||||
this.managed_ = data.managed;
|
||||
this.extensionReportingSubtitle_ = data.extensionReportingTitle;
|
||||
this.managedWebsitesSubtitle_ = data.managedWebsitesSubtitle;
|
||||
this.subtitle_ = data.pageSubtitle;
|
||||
// <if expr="chromeos">
|
||||
this.customerLogo_ = data.customerLogo;
|
||||
|
@ -88,6 +88,8 @@ content::WebUIDataSource* CreateManagementUIHtmlSource(Profile* profile) {
|
||||
{"searchPrompt", IDS_SETTINGS_SEARCH_PROMPT},
|
||||
{"clearSearch", IDS_CLEAR_SEARCH},
|
||||
{"backButton", IDS_ACCNAME_BACK},
|
||||
{"managedWebsites", IDS_MANAGEMENT_MANAGED_WEBSITES},
|
||||
{"managedWebsitesSubtitle", IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION},
|
||||
{kManagementExtensionReportMachineName,
|
||||
IDS_MANAGEMENT_EXTENSION_REPORT_MACHINE_NAME},
|
||||
{kManagementExtensionReportMachineNameAddress,
|
||||
|
@ -85,6 +85,8 @@ IN_PROC_BROWSER_TEST_F(ManagementUITest, ManagementStateChange) {
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED)},
|
||||
{"pageSubtitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_NOT_MANAGED_SUBTITLE)},
|
||||
{"managedWebsitesSubtitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION)},
|
||||
};
|
||||
|
||||
VerifyTexts(unmanaged_value_ptr.get(), expected_unmanaged_values);
|
||||
@ -115,7 +117,8 @@ IN_PROC_BROWSER_TEST_F(ManagementUITest, ManagementStateChange) {
|
||||
{"extensionReportingTitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED)},
|
||||
{"pageSubtitle", l10n_util::GetStringUTF16(IDS_MANAGEMENT_SUBTITLE)},
|
||||
};
|
||||
{"managedWebsitesSubtitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION)}};
|
||||
|
||||
VerifyTexts(managed_value_ptr.get(), expected_managed_values);
|
||||
}
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include "base/values.h"
|
||||
#include "chrome/browser/browser_process.h"
|
||||
#include "chrome/browser/browser_process_platform_part.h"
|
||||
#include "chrome/browser/device_api/managed_configuration_api.h"
|
||||
#include "chrome/browser/device_api/managed_configuration_api_factory.h"
|
||||
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
|
||||
#include "chrome/browser/policy/profile_policy_connector.h"
|
||||
#include "chrome/browser/profiles/profile.h"
|
||||
@ -389,6 +391,10 @@ void ManagementUIHandler::RegisterMessages() {
|
||||
"getThreatProtectionInfo",
|
||||
base::BindRepeating(&ManagementUIHandler::HandleGetThreatProtectionInfo,
|
||||
base::Unretained(this)));
|
||||
web_ui()->RegisterMessageCallback(
|
||||
"getManagedWebsites",
|
||||
base::BindRepeating(&ManagementUIHandler::HandleGetManagedWebsites,
|
||||
base::Unretained(this)));
|
||||
web_ui()->RegisterMessageCallback(
|
||||
"initBrowserReportingInfo",
|
||||
base::BindRepeating(&ManagementUIHandler::HandleInitBrowserReportingInfo,
|
||||
@ -676,6 +682,9 @@ base::Value ManagementUIHandler::GetContextualManagedData(Profile* profile) {
|
||||
response.SetStringPath(
|
||||
"extensionReportingTitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
response.SetStringPath(
|
||||
"managedWebsitesSubtitle",
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
response.SetStringPath(
|
||||
@ -699,6 +708,10 @@ base::Value ManagementUIHandler::GetContextualManagedData(Profile* profile) {
|
||||
"extensionReportingTitle",
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
base::UTF8ToUTF16(enterprise_manager)));
|
||||
response.SetStringPath("managedWebsitesSubtitle",
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
base::UTF8ToUTF16(enterprise_manager)));
|
||||
|
||||
#if !BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
response.SetStringPath(
|
||||
@ -806,6 +819,17 @@ base::Value ManagementUIHandler::GetThreatProtectionInfo(
|
||||
return result;
|
||||
}
|
||||
|
||||
base::Value ManagementUIHandler::GetManagedWebsitesInfo(
|
||||
Profile* profile) const {
|
||||
base::Value managed_websites(base::Value::Type::LIST);
|
||||
for (const auto& entry :
|
||||
ManagedConfigurationAPIFactory::GetForProfile(profile)
|
||||
->GetManagedOrigins()) {
|
||||
managed_websites.Append(entry.Serialize());
|
||||
}
|
||||
return managed_websites;
|
||||
}
|
||||
|
||||
policy::PolicyService* ManagementUIHandler::GetPolicyService() const {
|
||||
return Profile::FromWebUI(web_ui())
|
||||
->GetProfilePolicyConnector()
|
||||
@ -1004,6 +1028,15 @@ void ManagementUIHandler::HandleGetThreatProtectionInfo(
|
||||
GetThreatProtectionInfo(Profile::FromWebUI(web_ui())));
|
||||
}
|
||||
|
||||
void ManagementUIHandler::HandleGetManagedWebsites(
|
||||
const base::ListValue* args) {
|
||||
AllowJavascript();
|
||||
|
||||
ResolveJavascriptCallback(
|
||||
args->GetList()[0] /* callback_id */,
|
||||
GetManagedWebsitesInfo(Profile::FromWebUI(web_ui())));
|
||||
}
|
||||
|
||||
void ManagementUIHandler::HandleInitBrowserReportingInfo(
|
||||
const base::ListValue* args) {
|
||||
base::Value report_sources(base::Value::Type::LIST);
|
||||
|
@ -139,6 +139,7 @@ class ManagementUIHandler : public content::WebUIMessageHandler,
|
||||
|
||||
base::Value GetContextualManagedData(Profile* profile);
|
||||
base::Value GetThreatProtectionInfo(Profile* profile) const;
|
||||
base::Value GetManagedWebsitesInfo(Profile* profile) const;
|
||||
virtual policy::PolicyService* GetPolicyService() const;
|
||||
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
@ -174,6 +175,7 @@ class ManagementUIHandler : public content::WebUIMessageHandler,
|
||||
void HandleGetExtensions(const base::ListValue* args);
|
||||
void HandleGetContextualManagedData(const base::ListValue* args);
|
||||
void HandleGetThreatProtectionInfo(const base::ListValue* args);
|
||||
void HandleGetManagedWebsites(const base::ListValue* args);
|
||||
void HandleInitBrowserReportingInfo(const base::ListValue* args);
|
||||
|
||||
void AsyncUpdateLogo();
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
// 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.
|
||||
@ -14,6 +13,7 @@
|
||||
|
||||
#include "build/chromeos_buildflags.h"
|
||||
#include "chrome/browser/ui/webui/management/management_ui_handler.h"
|
||||
#include "chrome/common/pref_names.h"
|
||||
#include "chrome/test/base/testing_profile.h"
|
||||
#include "components/policy/core/browser/browser_policy_connector.h"
|
||||
#include "components/policy/core/common/mock_configuration_policy_provider.h"
|
||||
@ -22,6 +22,7 @@
|
||||
#include "components/policy/core/common/policy_namespace.h"
|
||||
#include "components/policy/core/common/policy_service.h"
|
||||
#include "components/policy/policy_constants.h"
|
||||
#include "components/prefs/pref_service.h"
|
||||
#include "components/strings/grit/components_strings.h"
|
||||
#include "content/public/test/browser_task_environment.h"
|
||||
#include "extensions/common/extension.h"
|
||||
@ -96,6 +97,7 @@ using testing::ReturnRef;
|
||||
|
||||
struct ContextualManagementSourceUpdate {
|
||||
std::u16string extension_reporting_title;
|
||||
std::u16string managed_websites_title;
|
||||
std::u16string subtitle;
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
std::u16string management_overview;
|
||||
@ -202,6 +204,10 @@ class TestManagementUIHandler : public ManagementUIHandler {
|
||||
return report_sources;
|
||||
}
|
||||
|
||||
base::Value GetManagedWebsitesInfo(Profile* profile) {
|
||||
return ManagementUIHandler::GetManagedWebsitesInfo(profile);
|
||||
}
|
||||
|
||||
base::Value GetThreatProtectionInfo(Profile* profile) {
|
||||
return ManagementUIHandler::GetThreatProtectionInfo(profile);
|
||||
}
|
||||
@ -307,6 +313,8 @@ class ManagementUIHandlerTests : public TestingBaseClass {
|
||||
void ExtractContextualSourceUpdate(const base::Value& data) {
|
||||
extracted_.extension_reporting_title =
|
||||
ExtractPathFromDict(data, "extensionReportingTitle");
|
||||
extracted_.managed_websites_title =
|
||||
ExtractPathFromDict(data, "managedWebsitesSubtitle");
|
||||
extracted_.subtitle = ExtractPathFromDict(data, "pageSubtitle");
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
extracted_.management_overview = ExtractPathFromDict(data, "overview");
|
||||
@ -492,6 +500,10 @@ class ManagementUIHandlerTests : public TestingBaseClass {
|
||||
return extracted_.extension_reporting_title;
|
||||
}
|
||||
|
||||
std::u16string GetManagedWebsitesTitle() const {
|
||||
return extracted_.managed_websites_title;
|
||||
}
|
||||
|
||||
std::u16string GetPageSubtitle() const { return extracted_.subtitle; }
|
||||
|
||||
TestingProfile* GetProfile() const { return profile_.get(); }
|
||||
@ -653,6 +665,9 @@ TEST_F(ManagementUIHandlerTests,
|
||||
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_NOT_MANAGED_NOTICE,
|
||||
@ -668,6 +683,9 @@ TEST_F(ManagementUIHandlerTests,
|
||||
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_BROWSER_NOTICE,
|
||||
@ -685,6 +703,9 @@ TEST_F(ManagementUIHandlerTests,
|
||||
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_BROWSER_NOTICE,
|
||||
@ -706,6 +727,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_NOT_MANAGED_NOTICE,
|
||||
@ -723,6 +748,9 @@ TEST_F(ManagementUIHandlerTests,
|
||||
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_NOT_MANAGED_NOTICE,
|
||||
@ -743,6 +771,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(GetBrowserManagementNotice(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_BROWSER_NOTICE,
|
||||
@ -769,6 +801,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
base::UTF8ToUTF16(domain)));
|
||||
EXPECT_EQ(GetPageSubtitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_SUBTITLE_MANAGED_BY,
|
||||
l10n_util::GetStringUTF16(device_type),
|
||||
@ -789,6 +825,9 @@ TEST_F(ManagementUIHandlerTests,
|
||||
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetPageSubtitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_SUBTITLE_MANAGED,
|
||||
l10n_util::GetStringUTF16(device_type)));
|
||||
@ -812,6 +851,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
device_domain()));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
device_domain()));
|
||||
EXPECT_EQ(GetManagementOverview(), std::u16string());
|
||||
EXPECT_EQ(GetUpdateRequiredEolMessage(), std::u16string());
|
||||
EXPECT_TRUE(GetManaged());
|
||||
@ -835,6 +878,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetManagementOverview(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_DEVICE_AND_ACCOUNT_MANAGED_BY, device_domain()));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
device_domain()));
|
||||
EXPECT_EQ(GetUpdateRequiredEolMessage(), std::u16string());
|
||||
EXPECT_TRUE(GetManaged());
|
||||
}
|
||||
@ -856,6 +903,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
device_domain()));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
device_domain()));
|
||||
EXPECT_EQ(GetManagementOverview(),
|
||||
l10n_util::GetStringFUTF16(
|
||||
IDS_MANAGEMENT_DEVICE_MANAGED_BY_ACCOUNT_MANAGED_BY,
|
||||
@ -877,6 +928,9 @@ TEST_F(ManagementUIHandlerTests, ManagementContextualSourceUpdateUnmanaged) {
|
||||
l10n_util::GetStringUTF16(device_type)));
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION));
|
||||
EXPECT_EQ(GetManagementOverview(),
|
||||
l10n_util::GetStringUTF16(IDS_MANAGEMENT_DEVICE_NOT_MANAGED));
|
||||
EXPECT_EQ(GetUpdateRequiredEolMessage(), std::u16string());
|
||||
@ -903,6 +957,10 @@ TEST_F(ManagementUIHandlerTests,
|
||||
EXPECT_EQ(GetExtensionReportingTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_EXTENSIONS_INSTALLED_BY,
|
||||
device_domain()));
|
||||
EXPECT_EQ(
|
||||
GetManagedWebsitesTitle(),
|
||||
l10n_util::GetStringFUTF16(IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION,
|
||||
device_domain()));
|
||||
EXPECT_TRUE(GetManaged());
|
||||
}
|
||||
|
||||
@ -1059,7 +1117,6 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoNoPolicySetNoMessage) {
|
||||
}
|
||||
|
||||
TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) {
|
||||
|
||||
policy::PolicyMap chrome_policies;
|
||||
const policy::PolicyNamespace chrome_policies_namespace =
|
||||
policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, std::string());
|
||||
@ -1132,6 +1189,27 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) {
|
||||
expected_messages);
|
||||
}
|
||||
|
||||
TEST_F(ManagementUIHandlerTests, ManagedWebsitiesInfoNoPolicySet) {
|
||||
TestingProfile::Builder builder_no_domain;
|
||||
auto profile = builder_no_domain.Build();
|
||||
auto info = handler_.GetManagedWebsitesInfo(profile.get());
|
||||
EXPECT_EQ(info.GetList().size(), 0u);
|
||||
}
|
||||
|
||||
TEST_F(ManagementUIHandlerTests, ManagedWebsitiesInfoWebsites) {
|
||||
TestingProfile::Builder builder_no_domain;
|
||||
auto profile = builder_no_domain.Build();
|
||||
base::Value managed_websites(base::Value::Type::LIST);
|
||||
base::Value entry(base::Value::Type::DICTIONARY);
|
||||
entry.SetStringKey("origin", "https://example.com");
|
||||
managed_websites.Append(std::move(entry));
|
||||
profile->GetPrefs()->Set(prefs::kManagedConfigurationPerOrigin,
|
||||
managed_websites);
|
||||
auto info = handler_.GetManagedWebsitesInfo(profile.get());
|
||||
EXPECT_EQ(info.GetList().size(), 1u);
|
||||
EXPECT_EQ(info.GetList().begin()->GetString(), "https://example.com");
|
||||
}
|
||||
|
||||
TEST_F(ManagementUIHandlerTests, ThreatReportingInfo) {
|
||||
policy::PolicyMap chrome_policies;
|
||||
const policy::PolicyNamespace chrome_policies_namespace =
|
||||
|
@ -158,6 +158,18 @@
|
||||
Permissions
|
||||
</message>
|
||||
|
||||
<!-- Strings related to website managed configuration of the management page -->
|
||||
<message name="IDS_MANAGEMENT_MANAGED_WEBSITES" desc="Title of the configured websites section of the page">
|
||||
Websites with info from your organization
|
||||
</message>
|
||||
<message name="IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION" desc="Message describing that administrator has set some preset organization data to be sent to the following websites">
|
||||
The administrator of this device has sent some info to the following websites, like settings or policies.
|
||||
</message>
|
||||
<message name="IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION" desc="Message describing that administrator has set some preset organization data to be sent to the following websites">
|
||||
Your organization, <ph name="ENROLLMENT_DOMAIN">$1<ex>example.com</ex></ph>, has sent some info to the following websites, like settings or policies.
|
||||
</message>
|
||||
|
||||
|
||||
<!-- Strings related to browser reporting section of the management page -->
|
||||
<message name="IDS_MANAGEMENT_BROWSER_REPORTING" desc="Title of the types of browser reporting section of the page">
|
||||
Browser
|
||||
|
@ -0,0 +1 @@
|
||||
98fc6bcd813e1b6b1f1215984b6eaaaf3e402882
|
1
components/management_strings_grdp/IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION.png.sha1
Normal file
1
components/management_strings_grdp/IDS_MANAGEMENT_MANAGED_WEBSITES_BY_EXPLANATION.png.sha1
Normal file
@ -0,0 +1 @@
|
||||
4de4388bab08404c4911126c211c53a102ccca94
|
1
components/management_strings_grdp/IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION.png.sha1
Normal file
1
components/management_strings_grdp/IDS_MANAGEMENT_MANAGED_WEBSITES_EXPLANATION.png.sha1
Normal file
@ -0,0 +1 @@
|
||||
98fc6bcd813e1b6b1f1215984b6eaaaf3e402882
|
Reference in New Issue
Block a user