[IWA] Dynamic feature flags for Isolated Web Apps [chromium/src : main]

0 views
Skip to first unread message

Zgroza (Luke) Klimek (Gerrit)

unread,
Jan 13, 2026, 11:36:03 AM (6 days ago) Jan 13
to Andrew Rayskiy, Chris Thompson, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
Attention needed from Andrew Rayskiy, Chris Thompson and Simon Hangl

Zgroza (Luke) Klimek voted and added 4 comments

Votes added by Zgroza (Luke) Klimek

Commit-Queue+1

4 comments

File chrome/browser/ui/web_applications/test/isolated_web_app_test_utils.cc
Line 71, Patchset 44: base::RunLoop run_loop;
Andrew Rayskiy . resolved
```
base::test::TestFuture<bool> future;
permissions_policy_cache->ObtainManifestAndCache(
iwa_origin, future.GetCallback());
CHECK(future.Take());
```
Zgroza (Luke) Klimek

I do not see a huge difference, but changed.

Line 105, Patchset 44: const auto mapping = permission_policy_to_feature_map.find(entry.feature);
Andrew Rayskiy . resolved

`base::FindOrNull()`

Zgroza (Luke) Klimek

Done

File third_party/blink/renderer/core/execution_context/security_context_init.cc
Line 201, Patchset 44: if (!!isolated_app_policy) {
Andrew Rayskiy . resolved

This is not a pointer.
```
if (isolated_app_policy) {
}
```

Zgroza (Luke) Klimek

I know this is not a pointer, I just find this explicit cast to bool more readable. But no strong feelings, changed.

Line 326, Patchset 44: if (isolated_app_policy.empty()) {
Andrew Rayskiy . resolved

Do we need this early exit? I presume `ParseIsolatedAppPermissionsPolicy()` will do the same thing.

Zgroza (Luke) Klimek

Need? No, we do not. But it's a tiny optimization skipping several unnecessary calls.
But right, a more comfortable place for it is at the beginning of `ParseIsolatedAppPermissionsPolicy()`, moved there.

Open in Gerrit

Related details

Attention is currently required from:
  • Andrew Rayskiy
  • Chris Thompson
  • Simon Hangl
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: I293ae453f6b25e346a90c12f36f11d85738d12e3
Gerrit-Change-Number: 7253350
Gerrit-PatchSet: 45
Gerrit-Owner: Zgroza (Luke) Klimek <zgr...@chromium.org>
Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
Gerrit-Reviewer: Chris Thompson <cth...@chromium.org>
Gerrit-Reviewer: Simon Hangl <sim...@google.com>
Gerrit-Reviewer: Zgroza (Luke) Klimek <zgr...@chromium.org>
Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
Gerrit-CC: Luna Lu <loon...@chromium.org>
Gerrit-CC: Matthew Riley <mat...@google.com>
Gerrit-CC: Nate Chapin <jap...@chromium.org>
Gerrit-CC: Peter Beverloo <pe...@chromium.org>
Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
Gerrit-CC: Robbie McElrath <rmce...@chromium.org>
Gerrit-Attention: Chris Thompson <cth...@chromium.org>
Gerrit-Attention: Simon Hangl <sim...@google.com>
Gerrit-Attention: Andrew Rayskiy <green...@google.com>
Gerrit-Comment-Date: Tue, 13 Jan 2026 16:35:47 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Comment-In-Reply-To: Andrew Rayskiy <green...@google.com>
satisfied_requirement
unsatisfied_requirement
open
diffy

Andrew Rayskiy (Gerrit)

unread,
Jan 13, 2026, 11:52:33 AM (6 days ago) Jan 13
to Zgroza (Luke) Klimek, Chris Thompson, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
Attention needed from Chris Thompson, Simon Hangl and Zgroza (Luke) Klimek

Andrew Rayskiy voted Code-Review+1

Code-Review+1
Open in Gerrit

Related details

Attention is currently required from:
  • Chris Thompson
  • Simon Hangl
  • Zgroza (Luke) Klimek
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • requirement is not satisfiedNo-Unresolved-Comments
      • requirement satisfiedReview-Enforcement
      Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
      Gerrit-Comment-Date: Tue, 13 Jan 2026 16:52:13 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Chris Thompson (Gerrit)

      unread,
      Jan 13, 2026, 6:59:59 PM (6 days ago) Jan 13
      to Zgroza (Luke) Klimek, Andrew Rayskiy, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
      Attention needed from Simon Hangl and Zgroza (Luke) Klimek

      Chris Thompson voted Code-Review+1

      Code-Review+1
      Open in Gerrit

      Related details

      Attention is currently required from:
      Gerrit-Attention: Simon Hangl <sim...@google.com>
      Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
      Gerrit-Comment-Date: Tue, 13 Jan 2026 23:59:40 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: Yes
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Zgroza (Luke) Klimek (Gerrit)

      unread,
      Jan 14, 2026, 5:15:56 AM (6 days ago) Jan 14
      to Camille Lamy, Chris Thompson, Andrew Rayskiy, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
      Attention needed from Andrew Rayskiy, Chris Thompson and Simon Hangl

      Zgroza (Luke) Klimek added 1 comment

      Patchset-level comments
      File-level comment, Patchset 46 (Latest):
      Zgroza (Luke) Klimek . resolved

      @cl...@chromium.org can You please take a look at this, especially on `//third_party/blink/public/mojom/navigation/navigation_params.mojom`?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Andrew Rayskiy
      • Chris Thompson
      • Simon Hangl
      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: I293ae453f6b25e346a90c12f36f11d85738d12e3
        Gerrit-Change-Number: 7253350
        Gerrit-PatchSet: 46
        Gerrit-Owner: Zgroza (Luke) Klimek <zgr...@chromium.org>
        Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
        Gerrit-Reviewer: Chris Thompson <cth...@chromium.org>
        Gerrit-Reviewer: Simon Hangl <sim...@google.com>
        Gerrit-Reviewer: Zgroza (Luke) Klimek <zgr...@chromium.org>
        Gerrit-CC: Camille Lamy <cl...@chromium.org>
        Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
        Gerrit-CC: Luna Lu <loon...@chromium.org>
        Gerrit-CC: Matthew Riley <mat...@google.com>
        Gerrit-CC: Nate Chapin <jap...@chromium.org>
        Gerrit-CC: Peter Beverloo <pe...@chromium.org>
        Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
        Gerrit-CC: Robbie McElrath <rmce...@chromium.org>
        Gerrit-Attention: Chris Thompson <cth...@chromium.org>
        Gerrit-Attention: Simon Hangl <sim...@google.com>
        Gerrit-Attention: Andrew Rayskiy <green...@google.com>
        Gerrit-Comment-Date: Wed, 14 Jan 2026 10:15:43 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Andrew Rayskiy (Gerrit)

        unread,
        Jan 14, 2026, 6:03:12 AM (6 days ago) Jan 14
        to Zgroza (Luke) Klimek, Camille Lamy, Chris Thompson, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
        Attention needed from Camille Lamy, Chris Thompson, Simon Hangl and Zgroza (Luke) Klimek

        Andrew Rayskiy voted Code-Review+1

        Code-Review+1
        Open in Gerrit

        Related details

        Attention is currently required from:
        • Camille Lamy
        • Chris Thompson
        • Simon Hangl
        • Zgroza (Luke) Klimek
          Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement 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: I293ae453f6b25e346a90c12f36f11d85738d12e3
            Gerrit-Change-Number: 7253350
            Gerrit-PatchSet: 47
            Gerrit-Owner: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
            Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
            Gerrit-Reviewer: Chris Thompson <cth...@chromium.org>
            Gerrit-Reviewer: Simon Hangl <sim...@google.com>
            Gerrit-Reviewer: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: Luna Lu <loon...@chromium.org>
            Gerrit-CC: Matthew Riley <mat...@google.com>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
            Gerrit-CC: Robbie McElrath <rmce...@chromium.org>
            Gerrit-Attention: Chris Thompson <cth...@chromium.org>
            Gerrit-Attention: Simon Hangl <sim...@google.com>
            Gerrit-Attention: Camille Lamy <cl...@chromium.org>
            Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Comment-Date: Wed, 14 Jan 2026 11:02:57 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Camille Lamy (Gerrit)

            unread,
            Jan 16, 2026, 9:00:43 AM (3 days ago) Jan 16
            to Zgroza (Luke) Klimek, Andrew Rayskiy, Chris Thompson, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
            Attention needed from Chris Thompson, Simon Hangl and Zgroza (Luke) Klimek

            Camille Lamy added 8 comments

            Patchset-level comments
            File-level comment, Patchset 48 (Latest):
            Camille Lamy . resolved

            Thanks! I haven't looked at the test code yet, as the CL is a bit big. In the meantime, a few questions/comments below.

            File content/browser/renderer_host/render_frame_host_impl.cc
            Line 12888, Patchset 48 (Latest): /*permissions_policy=*/std::nullopt, std::move(policy_container),
            Camille Lamy . unresolved

            Is there any call to commit navigation where we need to pass a non-null permission_policy parameter here?

            File content/browser/web_contents/web_contents_impl.cc
            Line 4088, Patchset 48 (Latest):std::optional<std::vector<blink::mojom::IsolatedAppPermissionPolicyEntryPtr>>
            Camille Lamy . unresolved

            Considering that this is essentially a wrapper around the ContentBrowserClient call, is there any value to keeping this function around instead of just calling the ContentBrowserClient directly from RenderFrameHost?

            File third_party/blink/public/mojom/navigation/navigation_params.mojom
            Line 364, Patchset 48 (Latest):struct IsolatedAppPermissionPolicyEntry {
            Camille Lamy . unresolved

            I imagine we already have a mojo struct for passing permission policy entries between the browser and the renderer. Could we remove it instead of creating a new struct? Or is is that it is unparsed unlike other permission entries? If so, could you precise this in a comment.

            File third_party/blink/renderer/core/execution_context/security_context_init.cc
            Line 111, Patchset 48 (Latest): const std::optional<Vector<IsolatedAppPermissionPolicyEntry>>&
            Camille Lamy . unresolved

            Nit: It would be better to pass as const Vector<IsolatedAppPermissionPolicyEntry>* or as base::optional_ref<Vector<IsolatedAppPermissionPolicyEntry>>; passing by const std::optional<T>& is prone to "copies by implicit conversions".

            Line 202, Patchset 48 (Latest): permissions_policy_header_ =
            Camille Lamy . unresolved

            IIUC, this overwrites any additional PermissionPolicyHeader. Is the header information present in IsolatedAppPolicy?

            Line 207, Patchset 48 (Latest): permissions_policy_header_, /*base_policy=*/std::nullopt, origin);
            Camille Lamy . unresolved

            Now that isolated_app_policy is no longer passed to this function, is there still usage of the base_policy argument anywhere else?

            Line 322, Patchset 48 (Latest):}
            Camille Lamy . unresolved

            nit: add blank line.

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Chris Thompson
            • Simon Hangl
            • Zgroza (Luke) Klimek
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement 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: I293ae453f6b25e346a90c12f36f11d85738d12e3
            Gerrit-Change-Number: 7253350
            Gerrit-PatchSet: 48
            Gerrit-Owner: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
            Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
            Gerrit-Reviewer: Chris Thompson <cth...@chromium.org>
            Gerrit-Reviewer: Simon Hangl <sim...@google.com>
            Gerrit-Reviewer: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: Luna Lu <loon...@chromium.org>
            Gerrit-CC: Matthew Riley <mat...@google.com>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
            Gerrit-CC: Robbie McElrath <rmce...@chromium.org>
            Gerrit-Attention: Chris Thompson <cth...@chromium.org>
            Gerrit-Attention: Simon Hangl <sim...@google.com>
            Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Comment-Date: Fri, 16 Jan 2026 14:00:25 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Zgroza (Luke) Klimek (Gerrit)

            unread,
            Jan 16, 2026, 10:29:39 AM (3 days ago) Jan 16
            to Andrew Rayskiy, Camille Lamy, Chris Thompson, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
            Attention needed from Camille Lamy, Chris Thompson and Simon Hangl

            Zgroza (Luke) Klimek added 8 comments

            Patchset-level comments
            Camille Lamy . resolved

            Thanks! I haven't looked at the test code yet, as the CL is a bit big. In the meantime, a few questions/comments below.

            Zgroza (Luke) Klimek

            Thanks! Sorry for the size, I have not found any more logical splits that could still be done here.

            File content/browser/renderer_host/render_frame_host_impl.cc
            Line 12888, Patchset 48: /*permissions_policy=*/std::nullopt, std::move(policy_container),
            Camille Lamy . unresolved

            Is there any call to commit navigation where we need to pass a non-null permission_policy parameter here?

            Zgroza (Luke) Klimek

            No, there is none. I mentioned in some comment before, this is an unused parameter now and after this CL I plan to create a next one with a cleanup. The only reason why it's not here is because it would add yet another few hundred lines to the delta of this already huge CL.

            File content/browser/web_contents/web_contents_impl.cc
            Line 4088, Patchset 48:std::optional<std::vector<blink::mojom::IsolatedAppPermissionPolicyEntryPtr>>
            Camille Lamy . resolved

            Considering that this is essentially a wrapper around the ContentBrowserClient call, is there any value to keeping this function around instead of just calling the ContentBrowserClient directly from RenderFrameHost?

            Zgroza (Luke) Klimek

            We... in fact may I think! I'm not sure why this was needed even earlier even. Removed.

            File third_party/blink/public/mojom/navigation/navigation_params.mojom
            Line 364, Patchset 48:struct IsolatedAppPermissionPolicyEntry {
            Camille Lamy . resolved

            I imagine we already have a mojo struct for passing permission policy entries between the browser and the renderer. Could we remove it instead of creating a new struct? Or is is that it is unparsed unlike other permission entries? If so, could you precise this in a comment.

            Zgroza (Luke) Klimek

            Yes, this being unparsed is the main point of this, added a comment above.

            File third_party/blink/renderer/core/execution_context/security_context_init.cc
            Line 111, Patchset 48: const std::optional<Vector<IsolatedAppPermissionPolicyEntry>>&
            Camille Lamy . resolved

            Nit: It would be better to pass as const Vector<IsolatedAppPermissionPolicyEntry>* or as base::optional_ref<Vector<IsolatedAppPermissionPolicyEntry>>; passing by const std::optional<T>& is prone to "copies by implicit conversions".

            Zgroza (Luke) Klimek

            Done, thanks! I did not know about `base::optional_ref`.

            Line 202, Patchset 48: permissions_policy_header_ =
            Camille Lamy . unresolved

            IIUC, this overwrites any additional PermissionPolicyHeader. Is the header information present in IsolatedAppPolicy?

            Zgroza (Luke) Klimek

            Within `isolated_app_policy` not, but `ParseIsolatedAppPermissionsPolicy` function performs parsing and merging the policies with the headers, the output is already the manifest policy constrained by the headers, see chained CL: crrev.com/c/7416778

            tl;dr The headers themselves of an Isolated Web App do not take direct effect, the permissions policies that are applied are essentially `intersection(manifest, headers)`.

            Line 207, Patchset 48: permissions_policy_header_, /*base_policy=*/std::nullopt, origin);
            Camille Lamy . unresolved

            Now that isolated_app_policy is no longer passed to this function, is there still usage of the base_policy argument anywhere else?

            Zgroza (Luke) Klimek

            No, this is an unused argument now, similarly to [here](https://chromium-review.googlesource.com/c/chromium/src/+/7253350/comment/2a594a6e_9c342603/). This will be cleaned up in a follow-up CL.

            Line 322, Patchset 48:}
            Camille Lamy . resolved

            nit: add blank line.

            Zgroza (Luke) Klimek

            Done

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Camille Lamy
            • Chris Thompson
            • Simon Hangl
            Submit Requirements:
            • requirement satisfiedCode-Coverage
            • requirement is not satisfiedCode-Owners
            • requirement satisfiedCode-Review
            • requirement is not satisfiedNo-Unresolved-Comments
            • requirement 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: I293ae453f6b25e346a90c12f36f11d85738d12e3
            Gerrit-Change-Number: 7253350
            Gerrit-PatchSet: 49
            Gerrit-Owner: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Reviewer: Andrew Rayskiy <green...@google.com>
            Gerrit-Reviewer: Camille Lamy <cl...@chromium.org>
            Gerrit-Reviewer: Chris Thompson <cth...@chromium.org>
            Gerrit-Reviewer: Simon Hangl <sim...@google.com>
            Gerrit-Reviewer: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
            Gerrit-CC: Luna Lu <loon...@chromium.org>
            Gerrit-CC: Matthew Riley <mat...@google.com>
            Gerrit-CC: Nate Chapin <jap...@chromium.org>
            Gerrit-CC: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Rijubrata Bhaumik <rijubrat...@intel.com>
            Gerrit-CC: Robbie McElrath <rmce...@chromium.org>
            Gerrit-Attention: Chris Thompson <cth...@chromium.org>
            Gerrit-Attention: Simon Hangl <sim...@google.com>
            Gerrit-Attention: Camille Lamy <cl...@chromium.org>
            Gerrit-Comment-Date: Fri, 16 Jan 2026 15:29:25 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            Comment-In-Reply-To: Camille Lamy <cl...@chromium.org>
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Chris Thompson (Gerrit)

            unread,
            Jan 16, 2026, 12:10:30 PM (3 days ago) Jan 16
            to Zgroza (Luke) Klimek, Andrew Rayskiy, Camille Lamy, Rijubrata Bhaumik, Simon Hangl, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
            Attention needed from Camille Lamy, Simon Hangl and Zgroza (Luke) Klimek

            Chris Thompson voted Code-Review+1

            Code-Review+1
            Open in Gerrit

            Related details

            Attention is currently required from:
            • Camille Lamy
            • Simon Hangl
            • Zgroza (Luke) Klimek
            Gerrit-Attention: Simon Hangl <sim...@google.com>
            Gerrit-Attention: Camille Lamy <cl...@chromium.org>
            Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Comment-Date: Fri, 16 Jan 2026 17:10:19 +0000
            Gerrit-HasComments: No
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Simon Hangl (Gerrit)

            unread,
            9:24 AM (10 hours ago) 9:24 AM
            to Zgroza (Luke) Klimek, Chris Thompson, Andrew Rayskiy, Camille Lamy, Rijubrata Bhaumik, Chromium LUCI CQ, Peter Beverloo, Robbie McElrath, Chromium Metrics Reviews, AyeAye, Matthew Riley, chromium...@chromium.org, Nate Chapin, Luna Lu, japhet+...@chromium.org, aixba+wat...@chromium.org, mek+w...@chromium.org, network-ser...@chromium.org, mattreyno...@chromium.org, chfreme...@chromium.org, odejesu...@chromium.org, feature-me...@chromium.org, pwa-com...@google.com, asvitkine...@chromium.org, alexmo...@chromium.org, blink-re...@chromium.org, blink-...@chromium.org, creis...@chromium.org, dibyapal+wa...@chromium.org, dmurph+watc...@chromium.org, gavinp...@chromium.org, iclella...@chromium.org, ipc-securi...@chromium.org, jmedle...@chromium.org, kinuko...@chromium.org, kuragin+web-ap...@chromium.org, loading...@chromium.org, loyso...@chromium.org, mgiuca...@chromium.org, navigation...@chromium.org, philli...@chromium.org, rmcelra...@chromium.org, webap...@microsoft.com, zelin+watch-we...@chromium.org
            Attention needed from Camille Lamy and Zgroza (Luke) Klimek

            Simon Hangl voted and added 1 comment

            Votes added by Simon Hangl

            Code-Review+1

            1 comment

            Patchset-level comments
            File-level comment, Patchset 49 (Latest):
            Simon Hangl . resolved

            LGTM. thanks for the effort, @zgr...@chromium.org!

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Camille Lamy
            • Zgroza (Luke) Klimek
            Gerrit-Attention: Camille Lamy <cl...@chromium.org>
            Gerrit-Attention: Zgroza (Luke) Klimek <zgr...@chromium.org>
            Gerrit-Comment-Date: Mon, 19 Jan 2026 14:24:15 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: Yes
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy
            Reply all
            Reply to author
            Forward
            0 new messages