Commit 90052e8a authored by Owen Min's avatar Owen Min Committed by Chromium LUCI CQ

Cleanup CloudReportingExtension from management UI

CloudReportingExtension is fully deprecated in Chromium. Hence we no
longer need to support them in the management UI.

Also removing safe browsing message from the management UI as there is
nothing display this message.

Bug: 1107440
Change-Id: I67eab265860a2b31930fd8255027bf6109a19b76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2642186Reviewed-by: default avatarGreg Levin <glevin@chromium.org>
Reviewed-by: default avatarYann Dago <ydago@chromium.org>
Reviewed-by: default avatarXinghui Lu <xinghuilu@chromium.org>
Commit-Queue: Owen Min <zmin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#846265}
parent 5a02a2aa
...@@ -17,7 +17,6 @@ ...@@ -17,7 +17,6 @@
#include "chrome/grit/browser_resources.h" #include "chrome/grit/browser_resources.h"
#include "chrome/grit/generated_resources.h" #include "chrome/grit/generated_resources.h"
#include "chrome/grit/theme_resources.h" #include "chrome/grit/theme_resources.h"
#include "components/safe_browsing/core/common/safebrowsing_constants.h"
#include "components/strings/grit/components_strings.h" #include "components/strings/grit/components_strings.h"
#include "extensions/buildflags/buildflags.h" #include "extensions/buildflags/buildflags.h"
#include "ui/base/l10n/l10n_util.h" #include "ui/base/l10n/l10n_util.h"
...@@ -125,10 +124,6 @@ content::WebUIDataSource* CreateManagementUIHtmlSource(Profile* profile) { ...@@ -125,10 +124,6 @@ content::WebUIDataSource* CreateManagementUIHtmlSource(Profile* profile) {
AddLocalizedStringsBulk(source, kLocalizedStrings); AddLocalizedStringsBulk(source, kLocalizedStrings);
source->AddString(kManagementExtensionReportSafeBrowsingWarnings,
l10n_util::GetStringFUTF16(
IDS_MANAGEMENT_EXTENSION_REPORT_SAFE_BROWSING_WARNINGS,
base::UTF8ToUTF16(safe_browsing::kSafeBrowsingUrl)));
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
source->AddString("managementDeviceLearnMoreUrl", source->AddString("managementDeviceLearnMoreUrl",
chrome::kLearnMoreEnterpriseURL); chrome::kLearnMoreEnterpriseURL);
......
...@@ -88,13 +88,11 @@ const char kOnPremReportingExtensionStableId[] = ...@@ -88,13 +88,11 @@ const char kOnPremReportingExtensionStableId[] =
"emahakmocgideepebncgnmlmliepgpgb"; "emahakmocgideepebncgnmlmliepgpgb";
const char kOnPremReportingExtensionBetaId[] = const char kOnPremReportingExtensionBetaId[] =
"kigjhoekjcpdfjpimbdjegmgecmlicaf"; "kigjhoekjcpdfjpimbdjegmgecmlicaf";
const char kCloudReportingExtensionId[] = "oempjldejiginopiohodkdoklcjklbaa";
const char kPolicyKeyReportMachineIdData[] = "report_machine_id_data"; const char kPolicyKeyReportMachineIdData[] = "report_machine_id_data";
const char kPolicyKeyReportUserIdData[] = "report_user_id_data"; const char kPolicyKeyReportUserIdData[] = "report_user_id_data";
const char kPolicyKeyReportVersionData[] = "report_version_data"; const char kPolicyKeyReportVersionData[] = "report_version_data";
const char kPolicyKeyReportPolicyData[] = "report_policy_data"; const char kPolicyKeyReportPolicyData[] = "report_policy_data";
const char kPolicyKeyReportExtensionsData[] = "report_extensions_data"; const char kPolicyKeyReportExtensionsData[] = "report_extensions_data";
const char kPolicyKeyReportSafeBrowsingData[] = "report_safe_browsing_data";
const char kPolicyKeyReportSystemTelemetryData[] = const char kPolicyKeyReportSystemTelemetryData[] =
"report_system_telemetry_data"; "report_system_telemetry_data";
const char kPolicyKeyReportUserBrowsingData[] = "report_user_browsing_data"; const char kPolicyKeyReportUserBrowsingData[] = "report_user_browsing_data";
...@@ -109,8 +107,6 @@ const char kManagementExtensionReportVersion[] = ...@@ -109,8 +107,6 @@ const char kManagementExtensionReportVersion[] =
"managementExtensionReportVersion"; "managementExtensionReportVersion";
const char kManagementExtensionReportExtensionsPlugin[] = const char kManagementExtensionReportExtensionsPlugin[] =
"managementExtensionReportExtensionsPlugin"; "managementExtensionReportExtensionsPlugin";
const char kManagementExtensionReportSafeBrowsingWarnings[] =
"managementExtensionReportSafeBrowsingWarnings";
const char kManagementExtensionReportPerfCrash[] = const char kManagementExtensionReportPerfCrash[] =
"managementExtensionReportPerfCrash"; "managementExtensionReportPerfCrash";
const char kManagementExtensionReportUserBrowsingData[] = const char kManagementExtensionReportUserBrowsingData[] =
...@@ -368,8 +364,7 @@ std::string ManagementUIHandler::GetAccountManager(Profile* profile) { ...@@ -368,8 +364,7 @@ std::string ManagementUIHandler::GetAccountManager(Profile* profile) {
ManagementUIHandler::ManagementUIHandler() { ManagementUIHandler::ManagementUIHandler() {
reporting_extension_ids_ = {kOnPremReportingExtensionStableId, reporting_extension_ids_ = {kOnPremReportingExtensionStableId,
kOnPremReportingExtensionBetaId, kOnPremReportingExtensionBetaId};
kCloudReportingExtensionId};
} }
ManagementUIHandler::~ManagementUIHandler() { ManagementUIHandler::~ManagementUIHandler() {
...@@ -439,9 +434,6 @@ void ManagementUIHandler::OnJavascriptDisallowed() { ...@@ -439,9 +434,6 @@ void ManagementUIHandler::OnJavascriptDisallowed() {
} }
void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) { void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) {
const extensions::Extension* cloud_reporting_extension =
GetEnabledExtension(kCloudReportingExtensionId);
const policy::PolicyService* policy_service = GetPolicyService(); const policy::PolicyService* policy_service = GetPolicyService();
const policy::PolicyNamespace const policy::PolicyNamespace
...@@ -464,8 +456,6 @@ void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) { ...@@ -464,8 +456,6 @@ void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) {
&on_prem_reporting_extension_stable_policy_map, &on_prem_reporting_extension_stable_policy_map,
&on_prem_reporting_extension_beta_policy_map}; &on_prem_reporting_extension_beta_policy_map};
const bool cloud_reporting_extension_installed =
cloud_reporting_extension != nullptr;
const auto* cloud_reporting_policy_value = const auto* cloud_reporting_policy_value =
GetPolicyService() GetPolicyService()
->GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, ->GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME,
...@@ -482,25 +472,19 @@ void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) { ...@@ -482,25 +472,19 @@ void ManagementUIHandler::AddReportingInfo(base::Value* report_sources) {
const bool enabled_by_default; const bool enabled_by_default;
} report_definitions[] = { } report_definitions[] = {
{kPolicyKeyReportMachineIdData, kManagementExtensionReportMachineName, {kPolicyKeyReportMachineIdData, kManagementExtensionReportMachineName,
ReportingType::kDevice, ReportingType::kDevice, cloud_reporting_policy_enabled},
cloud_reporting_extension_installed || cloud_reporting_policy_enabled},
{kPolicyKeyReportMachineIdData, {kPolicyKeyReportMachineIdData,
kManagementExtensionReportMachineNameAddress, ReportingType::kDevice, kManagementExtensionReportMachineNameAddress, ReportingType::kDevice,
false}, false},
{kPolicyKeyReportVersionData, kManagementExtensionReportVersion, {kPolicyKeyReportVersionData, kManagementExtensionReportVersion,
ReportingType::kDevice, ReportingType::kDevice, cloud_reporting_policy_enabled},
cloud_reporting_extension_installed || cloud_reporting_policy_enabled},
{kPolicyKeyReportSystemTelemetryData, kManagementExtensionReportPerfCrash, {kPolicyKeyReportSystemTelemetryData, kManagementExtensionReportPerfCrash,
ReportingType::kDevice, false}, ReportingType::kDevice, false},
{kPolicyKeyReportUserIdData, kManagementExtensionReportUsername, {kPolicyKeyReportUserIdData, kManagementExtensionReportUsername,
ReportingType::kUser, ReportingType::kUser, cloud_reporting_policy_enabled},
cloud_reporting_extension_installed || cloud_reporting_policy_enabled},
{kPolicyKeyReportSafeBrowsingData,
kManagementExtensionReportSafeBrowsingWarnings, ReportingType::kSecurity,
cloud_reporting_extension_installed},
{kPolicyKeyReportExtensionsData, {kPolicyKeyReportExtensionsData,
kManagementExtensionReportExtensionsPlugin, ReportingType::kExtensions, kManagementExtensionReportExtensionsPlugin, ReportingType::kExtensions,
cloud_reporting_extension_installed || cloud_reporting_policy_enabled}, cloud_reporting_policy_enabled},
{kPolicyKeyReportUserBrowsingData, {kPolicyKeyReportUserBrowsingData,
kManagementExtensionReportUserBrowsingData, ReportingType::kUserActivity, kManagementExtensionReportUserBrowsingData, ReportingType::kUserActivity,
false}, false},
...@@ -849,13 +833,6 @@ policy::PolicyService* ManagementUIHandler::GetPolicyService() const { ...@@ -849,13 +833,6 @@ policy::PolicyService* ManagementUIHandler::GetPolicyService() const {
->policy_service(); ->policy_service();
} }
const extensions::Extension* ManagementUIHandler::GetEnabledExtension(
const std::string& extensionId) const {
return extensions::ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))
->GetExtensionById(kCloudReportingExtensionId,
extensions::ExtensionRegistry::ENABLED);
}
void ManagementUIHandler::AsyncUpdateLogo() { void ManagementUIHandler::AsyncUpdateLogo() {
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
policy::BrowserPolicyConnectorChromeOS* connector = policy::BrowserPolicyConnectorChromeOS* connector =
......
...@@ -42,7 +42,6 @@ extern const char kManagementReportExtensions[]; ...@@ -42,7 +42,6 @@ extern const char kManagementReportExtensions[];
extern const char kManagementReportAndroidApplications[]; extern const char kManagementReportAndroidApplications[];
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
extern const char kCloudReportingExtensionId[];
extern const char kOnPremReportingExtensionStableId[]; extern const char kOnPremReportingExtensionStableId[];
extern const char kOnPremReportingExtensionBetaId[]; extern const char kOnPremReportingExtensionBetaId[];
...@@ -51,7 +50,6 @@ extern const char kManagementExtensionReportMachineNameAddress[]; ...@@ -51,7 +50,6 @@ extern const char kManagementExtensionReportMachineNameAddress[];
extern const char kManagementExtensionReportUsername[]; extern const char kManagementExtensionReportUsername[];
extern const char kManagementExtensionReportVersion[]; extern const char kManagementExtensionReportVersion[];
extern const char kManagementExtensionReportExtensionsPlugin[]; extern const char kManagementExtensionReportExtensionsPlugin[];
extern const char kManagementExtensionReportSafeBrowsingWarnings[];
extern const char kManagementExtensionReportPerfCrash[]; extern const char kManagementExtensionReportPerfCrash[];
extern const char kManagementExtensionReportUserBrowsingData[]; extern const char kManagementExtensionReportUserBrowsingData[];
...@@ -76,7 +74,6 @@ extern const char kPolicyKeyReportUserIdData[]; ...@@ -76,7 +74,6 @@ extern const char kPolicyKeyReportUserIdData[];
extern const char kPolicyKeyReportVersionData[]; extern const char kPolicyKeyReportVersionData[];
extern const char kPolicyKeyReportPolicyData[]; extern const char kPolicyKeyReportPolicyData[];
extern const char kPolicyKeyReportExtensionsData[]; extern const char kPolicyKeyReportExtensionsData[];
extern const char kPolicyKeyReportSafeBrowsingData[];
extern const char kPolicyKeyReportSystemTelemetryData[]; extern const char kPolicyKeyReportSystemTelemetryData[];
extern const char kPolicyKeyReportUserBrowsingData[]; extern const char kPolicyKeyReportUserBrowsingData[];
...@@ -143,8 +140,6 @@ class ManagementUIHandler : public content::WebUIMessageHandler, ...@@ -143,8 +140,6 @@ class ManagementUIHandler : public content::WebUIMessageHandler,
base::Value GetContextualManagedData(Profile* profile); base::Value GetContextualManagedData(Profile* profile);
base::Value GetThreatProtectionInfo(Profile* profile) const; base::Value GetThreatProtectionInfo(Profile* profile) const;
virtual policy::PolicyService* GetPolicyService() const; virtual policy::PolicyService* GetPolicyService() const;
virtual const extensions::Extension* GetEnabledExtension(
const std::string& extensionId) const;
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
// Protected for testing. // Protected for testing.
......
...@@ -190,10 +190,6 @@ class TestManagementUIHandler : public ManagementUIHandler { ...@@ -190,10 +190,6 @@ class TestManagementUIHandler : public ManagementUIHandler {
: policy_service_(policy_service) {} : policy_service_(policy_service) {}
~TestManagementUIHandler() override = default; ~TestManagementUIHandler() override = default;
void EnableCloudReportingExtension(bool enable) {
cloud_reporting_extension_exists_ = enable;
}
void EnableUpdateRequiredEolInfo(bool enable) { void EnableUpdateRequiredEolInfo(bool enable) {
update_required_eol_ = enable; update_required_eol_ = enable;
} }
...@@ -216,13 +212,6 @@ class TestManagementUIHandler : public ManagementUIHandler { ...@@ -216,13 +212,6 @@ class TestManagementUIHandler : public ManagementUIHandler {
return policy_service_; return policy_service_;
} }
const extensions::Extension* GetEnabledExtension(
const std::string& extensionId) const override {
if (cloud_reporting_extension_exists_)
return extensions::ExtensionBuilder("dummy").SetID("id").Build().get();
return nullptr;
}
#if BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_CHROMEOS_ASH)
MOCK_METHOD(policy::DeviceCloudPolicyManagerChromeOS*, MOCK_METHOD(policy::DeviceCloudPolicyManagerChromeOS*,
GetDeviceCloudPolicyManager, GetDeviceCloudPolicyManager,
...@@ -245,7 +234,6 @@ class TestManagementUIHandler : public ManagementUIHandler { ...@@ -245,7 +234,6 @@ class TestManagementUIHandler : public ManagementUIHandler {
#endif // BUILDFLAG(IS_CHROMEOS_ASH) #endif // BUILDFLAG(IS_CHROMEOS_ASH)
private: private:
bool cloud_reporting_extension_exists_ = false;
policy::PolicyService* policy_service_ = nullptr; policy::PolicyService* policy_service_ = nullptr;
bool update_required_eol_ = false; bool update_required_eol_ = false;
std::string device_domain = "devicedomain.com"; std::string device_domain = "devicedomain.com";
...@@ -1067,28 +1055,11 @@ TEST_F(ManagementUIHandlerTests, HideProxyServerDisclosureForDirectProxy) { ...@@ -1067,28 +1055,11 @@ TEST_F(ManagementUIHandlerTests, HideProxyServerDisclosureForDirectProxy) {
#endif #endif
TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoNoPolicySetNoMessage) { TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoNoPolicySetNoMessage) {
handler_.EnableCloudReportingExtension(false);
auto reporting_info = handler_.GetExtensionReportingInfo(); auto reporting_info = handler_.GetExtensionReportingInfo();
EXPECT_EQ(reporting_info.GetList().size(), 0u); EXPECT_EQ(reporting_info.GetList().size(), 0u);
} }
TEST_F(ManagementUIHandlerTests,
ExtensionReportingInfoCloudExtensionAddsDefaultPolicies) {
handler_.EnableCloudReportingExtension(true);
const std::set<std::string> expected_messages = {
kManagementExtensionReportMachineName, kManagementExtensionReportUsername,
kManagementExtensionReportVersion,
kManagementExtensionReportExtensionsPlugin,
kManagementExtensionReportSafeBrowsingWarnings};
ASSERT_PRED_FORMAT2(MessagesToBeEQ,
handler_.GetExtensionReportingInfo().GetList(),
expected_messages);
}
TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) { TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) {
handler_.EnableCloudReportingExtension(false);
policy::PolicyMap chrome_policies; policy::PolicyMap chrome_policies;
const policy::PolicyNamespace chrome_policies_namespace = const policy::PolicyNamespace chrome_policies_namespace =
...@@ -1106,7 +1077,6 @@ TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) { ...@@ -1106,7 +1077,6 @@ TEST_F(ManagementUIHandlerTests, CloudReportingPolicy) {
handler_.GetExtensionReportingInfo().GetList(), handler_.GetExtensionReportingInfo().GetList(),
expected_messages); expected_messages);
} }
TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) { TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) {
policy::PolicyMap on_prem_reporting_extension_beta_policies; policy::PolicyMap on_prem_reporting_extension_beta_policies;
policy::PolicyMap on_prem_reporting_extension_stable_policies; policy::PolicyMap on_prem_reporting_extension_stable_policies;
...@@ -1122,8 +1092,6 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) { ...@@ -1122,8 +1092,6 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) {
EnablePolicy(kPolicyKeyReportMachineIdData, EnablePolicy(kPolicyKeyReportMachineIdData,
on_prem_reporting_extension_stable_policies); on_prem_reporting_extension_stable_policies);
EnablePolicy(kPolicyKeyReportSafeBrowsingData,
on_prem_reporting_extension_stable_policies);
EnablePolicy(kPolicyKeyReportSystemTelemetryData, EnablePolicy(kPolicyKeyReportSystemTelemetryData,
on_prem_reporting_extension_stable_policies); on_prem_reporting_extension_stable_policies);
EnablePolicy(kPolicyKeyReportUserBrowsingData, EnablePolicy(kPolicyKeyReportUserBrowsingData,
...@@ -1145,20 +1113,18 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) { ...@@ -1145,20 +1113,18 @@ TEST_F(ManagementUIHandlerTests, ExtensionReportingInfoPoliciesMerge) {
EXPECT_CALL(policy_service_, EXPECT_CALL(policy_service_,
GetPolicies(on_prem_reporting_extension_beta_policy_namespace)) GetPolicies(on_prem_reporting_extension_beta_policy_namespace))
.WillOnce(ReturnRef(on_prem_reporting_extension_beta_policies)); .WillOnce(ReturnRef(on_prem_reporting_extension_beta_policies));
policy::PolicyMap empty_policy_map; policy::PolicyMap chrome_policies;
EXPECT_CALL(policy_service_, EXPECT_CALL(policy_service_,
GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME, GetPolicies(policy::PolicyNamespace(policy::POLICY_DOMAIN_CHROME,
std::string()))) std::string())))
.WillOnce(ReturnRef(empty_policy_map)); .WillOnce(ReturnRef(chrome_policies));
SetPolicyValue(policy::key::kCloudReportingEnabled, true, chrome_policies);
handler_.EnableCloudReportingExtension(true);
std::set<std::string> expected_messages = { std::set<std::string> expected_messages = {
kManagementExtensionReportMachineNameAddress, kManagementExtensionReportMachineNameAddress,
kManagementExtensionReportUsername, kManagementExtensionReportUsername,
kManagementExtensionReportVersion, kManagementExtensionReportVersion,
kManagementExtensionReportExtensionsPlugin, kManagementExtensionReportExtensionsPlugin,
kManagementExtensionReportSafeBrowsingWarnings,
kManagementExtensionReportUserBrowsingData, kManagementExtensionReportUserBrowsingData,
kManagementExtensionReportPerfCrash}; kManagementExtensionReportPerfCrash};
......
...@@ -177,9 +177,6 @@ ...@@ -177,9 +177,6 @@
<message name="IDS_MANAGEMENT_EXTENSION_REPORT_EXTENSIONS_PLUGINS" desc="Message explaining that an extension currently reports the user's exensions and plugins"> <message name="IDS_MANAGEMENT_EXTENSION_REPORT_EXTENSIONS_PLUGINS" desc="Message explaining that an extension currently reports the user's exensions and plugins">
Which extensions and plugins you have installed Which extensions and plugins you have installed
</message> </message>
<message name="IDS_MANAGEMENT_EXTENSION_REPORT_SAFE_BROWSING_WARNINGS" desc="Message explaining that an extension currently reports the user's Safe Browsing warnings and ignored warnings">
<ph name="BEGIN_LINK">&lt;a target="_blank" href="$1"&gt;<ex>&lt;a target="_blank" href="https://example.com"&gt;</ex></ph>Safe Browsing<ph name="END_LINK">&lt;/a&gt;<ex>&lt;/a&gt;</ex></ph> warnings
</message>
<message name="IDS_MANAGEMENT_EXTENSION_REPORT_USER_BROWSING_DATA" desc="Message explaining that an extension currently reports the user's browsing data"> <message name="IDS_MANAGEMENT_EXTENSION_REPORT_USER_BROWSING_DATA" desc="Message explaining that an extension currently reports the user's browsing data">
Websites you visit and time spent on them Websites you visit and time spent on them
</message> </message>
......
...@@ -14,9 +14,6 @@ const base::FilePath::CharType kSafeBrowsingBaseFilename[] = ...@@ -14,9 +14,6 @@ const base::FilePath::CharType kSafeBrowsingBaseFilename[] =
const base::FilePath::CharType kCookiesFile[] = FILE_PATH_LITERAL(" Cookies"); const base::FilePath::CharType kCookiesFile[] = FILE_PATH_LITERAL(" Cookies");
// The URL for the Safe Browsing page.
const char kSafeBrowsingUrl[] = "https://safebrowsing.google.com/";
const char kCustomCancelReasonForURLLoader[] = "SafeBrowsing"; const char kCustomCancelReasonForURLLoader[] = "SafeBrowsing";
const int kNetErrorCodeForSafeBrowsing = net::ERR_BLOCKED_BY_CLIENT; const int kNetErrorCodeForSafeBrowsing = net::ERR_BLOCKED_BY_CLIENT;
......
...@@ -16,9 +16,6 @@ extern const base::FilePath::CharType kSafeBrowsingBaseFilename[]; ...@@ -16,9 +16,6 @@ extern const base::FilePath::CharType kSafeBrowsingBaseFilename[];
// Filename suffix for the cookie database. // Filename suffix for the cookie database.
extern const base::FilePath::CharType kCookiesFile[]; extern const base::FilePath::CharType kCookiesFile[];
// The URL for the Safe Browsing page.
extern const char kSafeBrowsingUrl[];
// When a network::mojom::URLLoader is cancelled because of SafeBrowsing, this // When a network::mojom::URLLoader is cancelled because of SafeBrowsing, this
// custom cancellation reason could be used to notify the implementation side. // custom cancellation reason could be used to notify the implementation side.
// Please see network::mojom::URLLoader::kClientDisconnectReason for more // Please see network::mojom::URLLoader::kClientDisconnectReason for more
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment