[Extensions]: Add enterprise.policy API [chromium/src : main]

0 views
Skip to first unread message

Devlin Cronin (Gerrit)

unread,
Mar 19, 2026, 7:05:06 PM (5 days ago) Mar 19
to Patrick Kettner, Mirko Bonadei, Jerome Jiang, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, Kelvin Jiang, Code Review Nudger, Devlin Cronin, Chromium LUCI CQ, ortuno...@chromium.org, net-r...@chromium.org, chrome-intelligence-te...@google.com, devtools...@chromium.org, browser-comp...@chromium.org, jshin...@chromium.org, mfoltz+wa...@chromium.org, oshima...@chromium.org, titoua...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, dewitt...@chromium.org, chrome-intell...@chromium.org, jz...@chromium.org, cblume...@chromium.org, grt+...@chromium.org, eme-r...@chromium.org, mar...@chromium.org, penghuan...@chromium.org, feature-me...@chromium.org, asvitkine...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org, ipc-securi...@chromium.org, srahim...@chromium.org
Attention needed from Kelvin Jiang and Patrick Kettner

Devlin Cronin added 7 comments

Patchset-level comments
File-level comment, Patchset 39 (Latest):
Devlin Cronin . resolved

Thanks, Patrick! This is getting close!

File chrome/browser/BUILD.gn
Line 7354, Patchset 39 (Latest): "extensions/api/enterprise_policy/enterprise_policy_api.cc",
Devlin Cronin . unresolved

We shouldn't put these here -- if _absolutely necessary_, we could put them in a target of //chrome/browser/extensions/BUILD.gn, but it'd be much better to have them have their own target, which is then included in //chrome/browser/extensions/api/BUILD.gn. It looks like this is what you had [here](https://crrev.com/c/7030621/29/chrome/browser/extensions/api/BUILD.gn) -- does that still work?

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api.h
Line 15, Patchset 39 (Latest): ENTERPRISE_POLICY_GETPOLICIES)
Devlin Cronin . unresolved

nit: no underscore here -- they should be NAMESPACE_METHODNAME, so ENTERPRISEPOLICY_GETPOLICIES.

Ditto below

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api_unittest.cc
Line 86, Patchset 39 (Latest):TEST_F(EnterprisePolicyApiUnittest, UploadReport_Success) {
Devlin Cronin . unresolved

is there any way we can validate that it uploaded the report?

File chrome/browser/extensions/chrome_extensions_browser_client.h
Line 243, Patchset 39 (Latest):
Devlin Cronin . unresolved

rm \n

File chrome/browser/extensions/chrome_extensions_browser_client.cc
Line 11, Patchset 39 (Latest):#include "base/barrier_closure.h"
Devlin Cronin . unresolved

nit: not needed

File chrome/common/extensions/api/enterprise_policy.webidl
Line 16, Patchset 39 (Latest): // @return A promise that resolves when the report has successfully uploaded.
Devlin Cronin . unresolved

nit: this is the wrong comment syntax (it's correct above)

Open in Gerrit

Related details

Attention is currently required from:
  • Kelvin Jiang
  • Patrick Kettner
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I2e700af6203e366c70b303b8e28967c948e1b2f8
Gerrit-Change-Number: 7030621
Gerrit-PatchSet: 39
Gerrit-Owner: Patrick Kettner <patrick...@google.com>
Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Reviewer: Kelvin Jiang <kelvi...@chromium.org>
Gerrit-Reviewer: Patrick Kettner <patrick...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
Gerrit-CC: Jerome Jiang <ji...@chromium.org>
Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
Gerrit-Attention: Kelvin Jiang <kelvi...@chromium.org>
Gerrit-Attention: Patrick Kettner <patrick...@google.com>
Gerrit-Comment-Date: Thu, 19 Mar 2026 23:04:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Patrick Kettner (Gerrit)

unread,
Mar 20, 2026, 8:54:52 PM (3 days ago) Mar 20
to Mirko Bonadei, Jerome Jiang, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, Kelvin Jiang, Code Review Nudger, Devlin Cronin, Chromium LUCI CQ, ortuno...@chromium.org, net-r...@chromium.org, chrome-intelligence-te...@google.com, devtools...@chromium.org, browser-comp...@chromium.org, jshin...@chromium.org, mfoltz+wa...@chromium.org, oshima...@chromium.org, titoua...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, dewitt...@chromium.org, chrome-intell...@chromium.org, jz...@chromium.org, cblume...@chromium.org, grt+...@chromium.org, eme-r...@chromium.org, mar...@chromium.org, penghuan...@chromium.org, feature-me...@chromium.org, asvitkine...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org, ipc-securi...@chromium.org, srahim...@chromium.org
Attention needed from Devlin Cronin

Patrick Kettner added 6 comments

File chrome/browser/BUILD.gn
Line 7354, Patchset 39: "extensions/api/enterprise_policy/enterprise_policy_api.cc",
Devlin Cronin . resolved

We shouldn't put these here -- if _absolutely necessary_, we could put them in a target of //chrome/browser/extensions/BUILD.gn, but it'd be much better to have them have their own target, which is then included in //chrome/browser/extensions/api/BUILD.gn. It looks like this is what you had [here](https://crrev.com/c/7030621/29/chrome/browser/extensions/api/BUILD.gn) -- does that still work?

Patrick Kettner

Done

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api.h
Line 15, Patchset 39: ENTERPRISE_POLICY_GETPOLICIES)
Devlin Cronin . resolved

nit: no underscore here -- they should be NAMESPACE_METHODNAME, so ENTERPRISEPOLICY_GETPOLICIES.

Ditto below

Patrick Kettner

Acknowledged

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api_unittest.cc
Line 86, Patchset 39:TEST_F(EnterprisePolicyApiUnittest, UploadReport_Success) {
Devlin Cronin . unresolved

is there any way we can validate that it uploaded the report?

Patrick Kettner

I dont think so (at least as far as I can tell). I am reusing the existing `UploadFullReport`, and as far as I am able to reason it only takes a completion closure and doesn't pass back a status for the actual upload. It "succeeds" as long as it triggers the process. I assume that adding anything would require work on the server side?

File chrome/browser/extensions/chrome_extensions_browser_client.h
Line 243, Patchset 39:
Devlin Cronin . resolved

rm \n

Patrick Kettner

Done

File chrome/browser/extensions/chrome_extensions_browser_client.cc
Line 11, Patchset 39:#include "base/barrier_closure.h"
Devlin Cronin . resolved

nit: not needed

Patrick Kettner

Done

File chrome/common/extensions/api/enterprise_policy.webidl
Line 16, Patchset 39: // @return A promise that resolves when the report has successfully uploaded.
Devlin Cronin . resolved

nit: this is the wrong comment syntax (it's correct above)

Patrick Kettner

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Devlin Cronin
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • requirement is not satisfiedNo-Unresolved-Comments
  • requirement is not satisfiedReview-Enforcement
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. DiffyGerrit
Gerrit-MessageType: comment
Gerrit-Project: chromium/src
Gerrit-Branch: main
Gerrit-Change-Id: I2e700af6203e366c70b303b8e28967c948e1b2f8
Gerrit-Change-Number: 7030621
Gerrit-PatchSet: 44
Gerrit-Owner: Patrick Kettner <patrick...@google.com>
Gerrit-Reviewer: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Reviewer: Kelvin Jiang <kelvi...@chromium.org>
Gerrit-Reviewer: Patrick Kettner <patrick...@google.com>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Code Review Nudger <android-build...@prod.google.com>
Gerrit-CC: Jerome Jiang <ji...@chromium.org>
Gerrit-CC: Mirko Bonadei <mbon...@chromium.org>
Gerrit-Attention: Devlin Cronin <rdevlin...@chromium.org>
Gerrit-Comment-Date: Sat, 21 Mar 2026 00:54:46 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Devlin Cronin <rdevlin...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Devlin Cronin (Gerrit)

unread,
Mar 23, 2026, 8:05:51 PM (11 hours ago) Mar 23
to Patrick Kettner, Mirko Bonadei, Jerome Jiang, AyeAye, Chromium Metrics Reviews, chromium...@chromium.org, Kelvin Jiang, Code Review Nudger, Devlin Cronin, Chromium LUCI CQ, ortuno...@chromium.org, net-r...@chromium.org, chrome-intelligence-te...@google.com, devtools...@chromium.org, browser-comp...@chromium.org, jshin...@chromium.org, mfoltz+wa...@chromium.org, oshima...@chromium.org, titoua...@chromium.org, chromotin...@chromium.org, fgal...@chromium.org, dewitt...@chromium.org, chrome-intell...@chromium.org, jz...@chromium.org, cblume...@chromium.org, grt+...@chromium.org, eme-r...@chromium.org, mar...@chromium.org, penghuan...@chromium.org, feature-me...@chromium.org, asvitkine...@chromium.org, chromium-a...@chromium.org, extension...@chromium.org, ipc-securi...@chromium.org, srahim...@chromium.org
Attention needed from Kelvin Jiang and Patrick Kettner

Devlin Cronin added 4 comments

Patchset-level comments
File-level comment, Patchset 44 (Latest):
Devlin Cronin . resolved

Thanks, Patrick! But it looks like some of these comments weren't addressed?

File chrome/browser/BUILD.gn
Line 7354, Patchset 39: "extensions/api/enterprise_policy/enterprise_policy_api.cc",
Devlin Cronin . unresolved

We shouldn't put these here -- if _absolutely necessary_, we could put them in a target of //chrome/browser/extensions/BUILD.gn, but it'd be much better to have them have their own target, which is then included in //chrome/browser/extensions/api/BUILD.gn. It looks like this is what you had [here](https://crrev.com/c/7030621/29/chrome/browser/extensions/api/BUILD.gn) -- does that still work?

Patrick Kettner

Done

Devlin Cronin

It doesn't look like this one was done?

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api.h
Line 15, Patchset 39: ENTERPRISE_POLICY_GETPOLICIES)
Devlin Cronin . unresolved

nit: no underscore here -- they should be NAMESPACE_METHODNAME, so ENTERPRISEPOLICY_GETPOLICIES.

Ditto below

Patrick Kettner

Acknowledged

Devlin Cronin

Doesn't look like this was addressed?

File chrome/browser/extensions/api/enterprise_policy/enterprise_policy_api_unittest.cc
Line 86, Patchset 39:TEST_F(EnterprisePolicyApiUnittest, UploadReport_Success) {
Devlin Cronin . unresolved

is there any way we can validate that it uploaded the report?

Patrick Kettner

I dont think so (at least as far as I can tell). I am reusing the existing `UploadFullReport`, and as far as I am able to reason it only takes a completion closure and doesn't pass back a status for the actual upload. It "succeeds" as long as it triggers the process. I assume that adding anything would require work on the server side?

Devlin Cronin

I'm not so much suggesting we test the full end-to-end flow with a "real" report upload, but rather that we check that we (at least attempted to) trigger the report upload. Right now, if we replaced the body of the function with just "RespondNow(NoArguments())", this test would still pass.

It looks like a few unit tests use the [last upload time](https://source.chromium.org/chromium/chromium/src/+/main:components/enterprise/browser/reporting/common_pref_names.cc;l=20;drc=5cfe525024bc42f5433fff03ee62998590268c2b) preference to check that a report was uploaded; perhaps that would work?

Open in Gerrit

Related details

Attention is currently required from:
  • Kelvin Jiang
  • Patrick Kettner
Gerrit-Attention: Kelvin Jiang <kelvi...@chromium.org>
Gerrit-Attention: Patrick Kettner <patrick...@google.com>
Gerrit-Comment-Date: Tue, 24 Mar 2026 00:05:42 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Devlin Cronin <rdevlin...@chromium.org>
Comment-In-Reply-To: Patrick Kettner <patrick...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy
Reply all
Reply to author
Forward
0 new messages