Android: enable short-edges cutout mode for fullscreen and standalone webapps [chromium/src : main]

0 views
Skip to first unread message

Helmut Januschka (Gerrit)

unread,
Apr 30, 2026, 7:41:41 PM (10 days ago) Apr 30
to Helmut Januschka, Theresa Wellington, Charles Hager, Jinsuk Kim, Daniel Murphy, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
Attention needed from Daniel Murphy

Helmut Januschka added 4 comments

Commit Message
Line 1, Patchset 11:Parent: 2e800ed4 (Roll Chromium Variations from HwVOWY6F5WmG4cDs-... to 85ywFykF1JAOJzfJO...)
Daniel Murphy . resolved

Nit: The description says 'Use short-edges display cutout mode for fullscreen webapps', but the CL also enables edge-to-edge mode for standalone webapps. Consider updating the description to mention standalone webapps as well.

Helmut Januschka

Done

File chrome/android/java/src/org/chromium/chrome/browser/browserservices/ui/SharedActivityCoordinator.java
Line 29, Patchset 11:/** Coordinator for shared functionality between Trusted Web Activities and webapps. */
Daniel Murphy . resolved

ultra nit: It would be nice to list the responsibilities here, e.g. entering an exiting immersive mode, making decisions based on whether the current web contents is in-scope of the app and thus should show in 'app mode', etc.

Helmut Januschka

Done

File chrome/android/java/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTabHelper.java
Line 130, Patchset 11: if (!ChromeFeatureList.sWebAppShortEdgesCutoutMode.isEnabled()) {
Daniel Murphy . resolved

There might be a behavior regression risk here?

When the feature flag is turned off, this returns false. In the past, for Webapp/WebAPK activities, it would return true when resolved display mode is FULLSCREEN. To preserve previous behavior when the flag is off, we should maybe check the flag at the very beginning and fall back to the previous logic if it is disabled?
```
if (!ChromeFeatureList.sWebAppShortEdgesCutoutMode.isEnabled()) {
return baseCustomTabActivity.getIntentDataProvider().getResolvedDisplayMode() == DisplayMode.FULLSCREEN;
}
```
Helmut Januschka

omg, thanks, changed `isInBrowserFullscreen()` to preserve legacy behavior when `WebAppShortEdgesCutoutMode` is disabled.

File components/browser_ui/display_cutout/android/java/src/org/chromium/components/browser_ui/display_cutout/DisplayCutoutController.java
Line 407, Patchset 11: int left = Math.max(0, systemBars.left);
Daniel Murphy . resolved

tests are failing here as systemBars is null? Maybe my suggestion was bad? Or we need to update the test mock?

Helmut Januschka

this is indeed fallout from the `getInsets(Type.systemBars())` change.updated the mock! (should pass now)

Open in Gerrit

Related details

Attention is currently required from:
  • Daniel Murphy
Submit Requirements:
  • requirement satisfiedCode-Coverage
  • requirement is not satisfiedCode-Owners
  • requirement is not satisfiedCode-Review
  • 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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
Gerrit-Change-Number: 7689791
Gerrit-PatchSet: 14
Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
Gerrit-CC: Bramus <bra...@chromium.org>
Gerrit-CC: Charles Hager <clh...@google.com>
Gerrit-CC: Jinsuk Kim <jins...@chromium.org>
Gerrit-CC: Peter Beverloo <pe...@chromium.org>
Gerrit-CC: Theresa Wellington <twell...@chromium.org>
Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
Gerrit-Comment-Date: Thu, 30 Apr 2026 23:41:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Daniel Murphy <dmu...@chromium.org>
satisfied_requirement
unsatisfied_requirement
open
diffy

Daniel Murphy (Gerrit)

unread,
May 1, 2026, 2:25:40 PM (9 days ago) May 1
to Helmut Januschka, Daniel Murphy, Theresa Wellington, Charles Hager, Jinsuk Kim, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
Attention needed from Helmut Januschka

Daniel Murphy voted and added 2 comments

Votes added by Daniel Murphy

Code-Review+1

2 comments

Patchset-level comments
File-level comment, Patchset 14 (Latest):
Daniel Murphy . resolved

LGTM I think

File chrome/android/java/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTabHelper.java
Line 126, Patchset 14 (Latest): if (!baseCustomTabActivity.getIntentDataProvider().isWebappOrWebApkActivity()) {
Daniel Murphy . unresolved

just to make sure I'm understanding - isInBrowserFullscreen - we say we aren't when we're not in a webapp or webapk. So it's not possible for the `baseCustomTabActivity.getIntentDataProvider().getResolvedDisplayMode()` to return FULLSCREEN if we are in a browser tab, then?

Open in Gerrit

Related details

Attention is currently required from:
  • Helmut Januschka
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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
    Gerrit-Change-Number: 7689791
    Gerrit-PatchSet: 14
    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
    Gerrit-CC: Bramus <bra...@chromium.org>
    Gerrit-CC: Charles Hager <clh...@google.com>
    Gerrit-CC: Jinsuk Kim <jins...@chromium.org>
    Gerrit-CC: Peter Beverloo <pe...@chromium.org>
    Gerrit-CC: Theresa Wellington <twell...@chromium.org>
    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
    Gerrit-Comment-Date: Fri, 01 May 2026 18:25:11 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: Yes
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Helmut Januschka (Gerrit)

    unread,
    May 1, 2026, 6:06:42 PM (9 days ago) May 1
    to Helmut Januschka, Charles Hager, Jinsuk Kim, Daniel Murphy, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
    Attention needed from Charles Hager and Jinsuk Kim

    Helmut Januschka added 1 comment

    File chrome/android/java/src/org/chromium/chrome/browser/display_cutout/DisplayCutoutTabHelper.java
    Line 126, Patchset 14 (Latest): if (!baseCustomTabActivity.getIntentDataProvider().isWebappOrWebApkActivity()) {
    Daniel Murphy . resolved

    just to make sure I'm understanding - isInBrowserFullscreen - we say we aren't when we're not in a webapp or webapk. So it's not possible for the `baseCustomTabActivity.getIntentDataProvider().getResolvedDisplayMode()` to return FULLSCREEN if we are in a browser tab, then?

    Helmut Januschka

    correct.it returns false before checking display mode unless the activity is a webapp/webapk activity, same as before this change.

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Charles Hager
    • Jinsuk Kim
    Submit Requirements:
      • requirement satisfiedCode-Coverage
      • requirement is not satisfiedCode-Owners
      • requirement satisfiedCode-Review
      • 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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
      Gerrit-Change-Number: 7689791
      Gerrit-PatchSet: 14
      Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Charles Hager <clh...@google.com>
      Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
      Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
      Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
      Gerrit-CC: Bramus <bra...@chromium.org>
      Gerrit-Attention: Jinsuk Kim <jins...@chromium.org>
      Gerrit-Attention: Charles Hager <clh...@google.com>
      Gerrit-Comment-Date: Fri, 01 May 2026 22:06:22 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Jinsuk Kim (Gerrit)

      unread,
      May 4, 2026, 8:42:29 AM (6 days ago) May 4
      to Helmut Januschka, Peter Conn, Charles Hager, Daniel Murphy, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
      Attention needed from Charles Hager, Daniel Murphy, Helmut Januschka and Peter Conn

      Jinsuk Kim added 2 comments

      Patchset-level comments
      File-level comment, Patchset 16 (Latest):
      Jinsuk Kim . resolved

      peconn@ would you help review Immersive mode controller?

      File chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
      Line 304, Patchset 16 (Latest): return mIntentDataProvider == null || !mIntentDataProvider.isPartialCustomTab();
      Jinsuk Kim . unresolved

      mIntentDataProvider should be non-null by this time - you may assumeNonNull

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Charles Hager
      • Daniel Murphy
      • Helmut Januschka
      • Peter Conn
      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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
        Gerrit-Change-Number: 7689791
        Gerrit-PatchSet: 16
        Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Charles Hager <clh...@google.com>
        Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
        Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
        Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
        Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
        Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
        Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
        Gerrit-Attention: Peter Conn <pec...@chromium.org>
        Gerrit-Attention: Charles Hager <clh...@google.com>
        Gerrit-Comment-Date: Mon, 04 May 2026 12:42:19 +0000
        Gerrit-HasComments: Yes
        Gerrit-Has-Labels: No
        satisfied_requirement
        unsatisfied_requirement
        open
        diffy

        Daniel Murphy (Gerrit)

        unread,
        May 4, 2026, 3:07:33 PM (6 days ago) May 4
        to Helmut Januschka, Daniel Murphy, Peter Conn, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
        Attention needed from Charles Hager, Helmut Januschka and Peter Conn

        Daniel Murphy voted and added 1 comment

        Votes added by Daniel Murphy

        Code-Review+1

        1 comment

        Patchset-level comments
        File-level comment, Patchset 17 (Latest):
        Daniel Murphy . resolved

        still lgtm I think?

        Open in Gerrit

        Related details

        Attention is currently required from:
        • Charles Hager
        • Helmut Januschka
        • Peter Conn
        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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
          Gerrit-Change-Number: 7689791
          Gerrit-PatchSet: 17
          Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Charles Hager <clh...@google.com>
          Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
          Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
          Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
          Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
          Gerrit-CC: Bramus <bra...@chromium.org>
          Gerrit-CC: Peter Beverloo <pe...@chromium.org>
          Gerrit-CC: Theresa Wellington <twell...@chromium.org>
          Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
          Gerrit-Attention: Peter Conn <pec...@chromium.org>
          Gerrit-Attention: Charles Hager <clh...@google.com>
          Gerrit-Comment-Date: Mon, 04 May 2026 19:07:19 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: Yes
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Charles Hager (Gerrit)

          unread,
          May 4, 2026, 3:32:43 PM (6 days ago) May 4
          to Helmut Januschka, Daniel Murphy, Peter Conn, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
          Attention needed from Helmut Januschka and Peter Conn

          Charles Hager added 1 comment

          Commit Message
          Line 9, Patchset 14:Use short-edges display cutout mode for fullscreen and standalone
          Charles Hager . unresolved

          Can you include screenshots of before / after? Thanks!

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Helmut Januschka
          • Peter Conn
          Gerrit-Comment-Date: Mon, 04 May 2026 19:32:31 +0000
          Gerrit-HasComments: Yes
          Gerrit-Has-Labels: No
          satisfied_requirement
          unsatisfied_requirement
          open
          diffy

          Daniel Murphy (Gerrit)

          unread,
          May 4, 2026, 5:57:58 PM (6 days ago) May 4
          to Helmut Januschka, Daniel Murphy, Peter Conn, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
          Attention needed from Helmut Januschka and Peter Conn

          Daniel Murphy added 1 comment

          Patchset-level comments
          File-level comment, Patchset 19 (Latest):
          Daniel Murphy . resolved

          There's a lot of changes happening in the CL now - let me know when you've thoroughly tested this and things have settled down

          Open in Gerrit

          Related details

          Attention is currently required from:
          • Helmut Januschka
          • Peter Conn
          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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
            Gerrit-Change-Number: 7689791
            Gerrit-PatchSet: 19
            Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Charles Hager <clh...@google.com>
            Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
            Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
            Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
            Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
            Gerrit-CC: Bramus <bra...@chromium.org>
            Gerrit-CC: Peter Beverloo <pe...@chromium.org>
            Gerrit-CC: Theresa Wellington <twell...@chromium.org>
            Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
            Gerrit-Attention: Peter Conn <pec...@chromium.org>
            Gerrit-Comment-Date: Mon, 04 May 2026 21:57:48 +0000
            Gerrit-HasComments: Yes
            Gerrit-Has-Labels: No
            satisfied_requirement
            unsatisfied_requirement
            open
            diffy

            Helmut Januschka (Gerrit)

            unread,
            May 4, 2026, 8:11:47 PM (6 days ago) May 4
            to Helmut Januschka, Daniel Murphy, Peter Conn, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
            Attention needed from Charles Hager, Daniel Murphy, Jinsuk Kim and Peter Conn

            Helmut Januschka added 5 comments

            Patchset-level comments
            Daniel Murphy . resolved

            still lgtm I think?

            Helmut Januschka

            there where small changes discovered on android13. but should be all sorted now.

            Daniel Murphy . resolved

            There's a lot of changes happening in the CL now - let me know when you've thoroughly tested this and things have settled down

            Helmut Januschka

            sorry for the noise, yes, there's a issue with view-port:cover i am trying to chase, i'll send replies to prev. comments once i know what the real fix is.

            File-level comment, Patchset 19:
            Helmut Januschka . resolved

            @dmu...@chromium.org reporter spotted two follow-ups on real devices: standalone PWAs were going edge-to-edge without `viewport-fit=cover`, and the status bar stayed painted with `theme_color` instead of going truly transparent. PS21 fixes both. also addressed open feedback, and posted links to screenshots.


            sorry for the noise, next time i remove you from attention list first, just needed to upload to CL to pull from different machine, where my android13 (arm) is connected.

            Commit Message
            Line 9, Patchset 14:Use short-edges display cutout mode for fullscreen and standalone
            Charles Hager . resolved

            Can you include screenshots of before / after? Thanks!

            Helmut Januschka

            screenshots before/after, with and without notch see:
            https://static.januschka.com/i-407420295/index.html

            it's mostly "case 2" that was broken, and is fixed now.


            there is also download links to pre-built apks, if you trust a random internet citizen to test it on any device/emu.

            File chrome/android/java/src/org/chromium/chrome/browser/customtabs/BaseCustomTabActivity.java
            Line 304, Patchset 16: return mIntentDataProvider == null || !mIntentDataProvider.isPartialCustomTab();
            Jinsuk Kim . resolved

            mIntentDataProvider should be non-null by this time - you may assumeNonNull

            Helmut Januschka

            Dropped the `mIntentDataProvider == null`

            Open in Gerrit

            Related details

            Attention is currently required from:
            • Charles Hager
            • Daniel Murphy
            • Jinsuk Kim
            • Peter Conn
            Submit Requirements:
              • requirement satisfiedCode-Coverage
              • requirement is not satisfiedCode-Owners
              • requirement is not satisfiedCode-Review
              • 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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
              Gerrit-Change-Number: 7689791
              Gerrit-PatchSet: 21
              Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Charles Hager <clh...@google.com>
              Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
              Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
              Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
              Gerrit-CC: Bramus <bra...@chromium.org>
              Gerrit-CC: Peter Beverloo <pe...@chromium.org>
              Gerrit-CC: Theresa Wellington <twell...@chromium.org>
              Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
              Gerrit-Attention: Jinsuk Kim <jins...@chromium.org>
              Gerrit-Attention: Peter Conn <pec...@chromium.org>
              Gerrit-Attention: Charles Hager <clh...@google.com>
              Gerrit-Comment-Date: Tue, 05 May 2026 00:11:27 +0000
              Gerrit-HasComments: Yes
              Gerrit-Has-Labels: No
              Comment-In-Reply-To: Daniel Murphy <dmu...@chromium.org>
              Comment-In-Reply-To: Jinsuk Kim <jins...@chromium.org>
              Comment-In-Reply-To: Charles Hager <clh...@google.com>
              satisfied_requirement
              unsatisfied_requirement
              open
              diffy

              Peter Conn (Gerrit)

              unread,
              May 5, 2026, 4:55:30 AM (5 days ago) May 5
              to Helmut Januschka, Daniel Murphy, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
              Attention needed from Charles Hager, Daniel Murphy, Helmut Januschka and Jinsuk Kim

              Peter Conn added 2 comments

              File chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java
              Line 187, Patchset 21 (Latest): mEdgeToEdgeStateProvider.acquireSetDecorFitsSystemWindowToken();
              Peter Conn . unresolved

              It may just be because I find "decor fits system window" to be a really hard to parse (and I appreciate this comes from the Android API), but would renaming these methods make everything a bit clearer?

              Something like `acquireEdgeToEdgeToken` and `releaseEdgeToEdgeToken` (and then updating the name of this method to just be `updateEdgeToEdge`)?

              Line 195, Patchset 21 (Latest): mSetDecorFitsSystemWindowToken = TokenHolder.INVALID_TOKEN;
              Peter Conn . unresolved

              Making this class deal with / know about `INVALID_TOKEN` is a bit awkward, instead could you add a `EdgeToEdgeStateProvider.TokenHolder` class (or `EdgeToEdgeTokenHolder` or something), so that all of this code becomes:

              ```
              if (...) {
              edgeToEdgeTokenHolder.acquireTokenIfEmpty();
              } else {
              edgeToEdgeTokenHolder.release();
              }
              ```
              Open in Gerrit

              Related details

              Attention is currently required from:
              • Charles Hager
              • Daniel Murphy
              • Helmut Januschka
              • Jinsuk Kim
              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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
                Gerrit-Change-Number: 7689791
                Gerrit-PatchSet: 21
                Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Charles Hager <clh...@google.com>
                Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
                Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
                Gerrit-CC: Bramus <bra...@chromium.org>
                Gerrit-CC: Peter Beverloo <pe...@chromium.org>
                Gerrit-CC: Theresa Wellington <twell...@chromium.org>
                Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                Gerrit-Attention: Daniel Murphy <dmu...@chromium.org>
                Gerrit-Attention: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Attention: Charles Hager <clh...@google.com>
                Gerrit-Comment-Date: Tue, 05 May 2026 08:55:12 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Charles Hager (Gerrit)

                unread,
                May 5, 2026, 4:25:20 PM (5 days ago) May 5
                to Helmut Januschka, Wenyu Fu, Daniel Murphy, Peter Conn, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
                Attention needed from Helmut Januschka, Jinsuk Kim and Wenyu Fu

                Charles Hager added 3 comments

                Patchset-level comments
                File-level comment, Patchset 22 (Latest):
                Charles Hager . resolved

                Overall LGTM % comments

                File components/browser_ui/display_cutout/android/java/src/org/chromium/components/browser_ui/display_cutout/DisplayCutoutController.java
                Line 43, Patchset 21: * embedder reports browser fullscreen mode.
                Charles Hager . unresolved

                Ideally, could you add some more flag-guarding using sWebAppShortEdgesCutoutMode, just to be safe? It would be nice to be able to turn this off in case of any regressions.

                Line 429, Patchset 21: int left = Math.max(0, systemBars.left);
                Charles Hager . unresolved

                Are the system bar insets ever negative? Is that for floating windows or something? I don't remember negative insets, of the top of my head.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Helmut Januschka
                • Jinsuk Kim
                • Wenyu Fu
                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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
                Gerrit-Change-Number: 7689791
                Gerrit-PatchSet: 22
                Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Charles Hager <clh...@google.com>
                Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
                Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
                Gerrit-CC: Bramus <bra...@chromium.org>
                Gerrit-CC: Peter Beverloo <pe...@chromium.org>
                Gerrit-CC: Theresa Wellington <twell...@chromium.org>
                Gerrit-CC: Wenyu Fu <wen...@chromium.org>
                Gerrit-Attention: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Attention: Wenyu Fu <wen...@chromium.org>
                Gerrit-Comment-Date: Tue, 05 May 2026 20:25:08 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Charles Hager (Gerrit)

                unread,
                May 7, 2026, 4:01:35 PM (3 days ago) May 7
                to Helmut Januschka, Chromium Metrics Reviews, Wenyu Fu, Daniel Murphy, Peter Conn, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, asvitkine...@chromium.org, jmedle...@chromium.org, asvitki...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
                Attention needed from Helmut Januschka, Jinsuk Kim and Wenyu Fu

                Charles Hager added 1 comment

                File chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java
                Line 187, Patchset 21: mEdgeToEdgeStateProvider.acquireSetDecorFitsSystemWindowToken();
                Peter Conn . unresolved

                It may just be because I find "decor fits system window" to be a really hard to parse (and I appreciate this comes from the Android API), but would renaming these methods make everything a bit clearer?

                Something like `acquireEdgeToEdgeToken` and `releaseEdgeToEdgeToken` (and then updating the name of this method to just be `updateEdgeToEdge`)?

                Charles Hager

                Sure, I could maybe look into that. I agree the naming from the Android API is a bit confusing.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Helmut Januschka
                • Jinsuk Kim
                • Wenyu Fu
                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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
                Gerrit-Change-Number: 7689791
                Gerrit-PatchSet: 25
                Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Charles Hager <clh...@google.com>
                Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
                Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
                Gerrit-CC: Bramus <bra...@chromium.org>
                Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                Gerrit-CC: Peter Beverloo <pe...@chromium.org>
                Gerrit-CC: Theresa Wellington <twell...@chromium.org>
                Gerrit-CC: Wenyu Fu <wen...@chromium.org>
                Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                Gerrit-Attention: Jinsuk Kim <jins...@chromium.org>
                Gerrit-Attention: Wenyu Fu <wen...@chromium.org>
                Gerrit-Comment-Date: Thu, 07 May 2026 20:01:18 +0000
                Gerrit-HasComments: Yes
                Gerrit-Has-Labels: No
                Comment-In-Reply-To: Peter Conn <pec...@chromium.org>
                satisfied_requirement
                unsatisfied_requirement
                open
                diffy

                Helmut Januschka (Gerrit)

                unread,
                May 8, 2026, 8:34:04 AM (2 days ago) May 8
                to Helmut Januschka, Chromium Metrics Reviews, Wenyu Fu, Daniel Murphy, Peter Conn, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, asvitkine...@chromium.org, jmedle...@chromium.org, asvitki...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
                Attention needed from Charles Hager, Peter Conn and Wenyu Fu

                Helmut Januschka added 4 comments

                File chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/ImmersiveModeController.java
                Line 187, Patchset 21: mEdgeToEdgeStateProvider.acquireSetDecorFitsSystemWindowToken();
                Peter Conn . resolved

                It may just be because I find "decor fits system window" to be a really hard to parse (and I appreciate this comes from the Android API), but would renaming these methods make everything a bit clearer?

                Something like `acquireEdgeToEdgeToken` and `releaseEdgeToEdgeToken` (and then updating the name of this method to just be `updateEdgeToEdge`)?

                Helmut Januschka

                done

                Line 195, Patchset 21: mSetDecorFitsSystemWindowToken = TokenHolder.INVALID_TOKEN;
                Peter Conn . resolved

                Making this class deal with / know about `INVALID_TOKEN` is a bit awkward, instead could you add a `EdgeToEdgeStateProvider.TokenHolder` class (or `EdgeToEdgeTokenHolder` or something), so that all of this code becomes:

                ```
                if (...) {
                edgeToEdgeTokenHolder.acquireTokenIfEmpty();
                } else {
                edgeToEdgeTokenHolder.release();
                }
                ```
                Helmut Januschka

                Done. Added `EdgeToEdgeTokenHolder` in `ui/edge_to_edge/`

                File components/browser_ui/display_cutout/android/java/src/org/chromium/components/browser_ui/display_cutout/DisplayCutoutController.java
                Line 43, Patchset 21: * embedder reports browser fullscreen mode.
                Charles Hager . resolved

                Ideally, could you add some more flag-guarding using sWebAppShortEdgesCutoutMode, just to be safe? It would be nice to be able to turn this off in case of any regressions.

                Helmut Januschka

                added more guards, also added a about://Flags flag, hope it's ok in this case, explaining regular users how to use apk with dash dash flag is difficult

                Line 429, Patchset 21: int left = Math.max(0, systemBars.left);
                Charles Hager . resolved

                Are the system bar insets ever negative? Is that for floating windows or something? I don't remember negative insets, of the top of my head.

                Helmut Januschka

                left over from despratly trying to get android10 working, but its true,removed the unnecessary `Math.max(0, ...)` clamps in `getBrowserSafeAreaInsets()`.
                the outer .max is still required.

                Open in Gerrit

                Related details

                Attention is currently required from:
                • Charles Hager
                • Peter Conn
                • Wenyu Fu
                Submit Requirements:
                  • requirement satisfiedCode-Coverage
                  • requirement is not satisfiedCode-Owners
                  • requirement is not satisfiedCode-Review
                  • 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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
                  Gerrit-Change-Number: 7689791
                  Gerrit-PatchSet: 25
                  Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Charles Hager <clh...@google.com>
                  Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
                  Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                  Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
                  Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
                  Gerrit-CC: Bramus <bra...@chromium.org>
                  Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                  Gerrit-CC: Peter Beverloo <pe...@chromium.org>
                  Gerrit-CC: Theresa Wellington <twell...@chromium.org>
                  Gerrit-CC: Wenyu Fu <wen...@chromium.org>
                  Gerrit-Attention: Peter Conn <pec...@chromium.org>
                  Gerrit-Attention: Wenyu Fu <wen...@chromium.org>
                  Gerrit-Attention: Charles Hager <clh...@google.com>
                  Gerrit-Comment-Date: Fri, 08 May 2026 12:33:51 +0000
                  Gerrit-HasComments: Yes
                  Gerrit-Has-Labels: No
                  Comment-In-Reply-To: Peter Conn <pec...@chromium.org>
                  Comment-In-Reply-To: Charles Hager <clh...@google.com>
                  satisfied_requirement
                  unsatisfied_requirement
                  open
                  diffy

                  Peter Conn (Gerrit)

                  unread,
                  4:01 AM (9 hours ago) 4:01 AM
                  to Helmut Januschka, Chromium Metrics Reviews, Wenyu Fu, Daniel Murphy, Charles Hager, Jinsuk Kim, Theresa Wellington, Bramus, Peter Beverloo, android-bu...@system.gserviceaccount.com, Chromium LUCI CQ, chromium...@chromium.org, asvitkine...@chromium.org, jmedle...@chromium.org, asvitki...@chromium.org, lizeb+watch...@chromium.org, blink-...@chromium.org, blink-revie...@chromium.org, pkotwic...@chromium.org, webapks-...@chromium.org
                  Attention needed from Charles Hager, Helmut Januschka and Wenyu Fu

                  Peter Conn voted Code-Review+1

                  Code-Review+1
                  Open in Gerrit

                  Related details

                  Attention is currently required from:
                  • Charles Hager
                  • Helmut Januschka
                  • Wenyu Fu
                  Submit Requirements:
                    • requirement satisfiedCode-Coverage
                    • requirement is not satisfiedCode-Owners
                    • requirement satisfiedCode-Review
                    • 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: I798f3feae7fdb4d397f6b6ed5c99a64e294efb42
                    Gerrit-Change-Number: 7689791
                    Gerrit-PatchSet: 26
                    Gerrit-Owner: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Reviewer: Charles Hager <clh...@google.com>
                    Gerrit-Reviewer: Daniel Murphy <dmu...@chromium.org>
                    Gerrit-Reviewer: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Reviewer: Jinsuk Kim <jins...@chromium.org>
                    Gerrit-Reviewer: Peter Conn <pec...@chromium.org>
                    Gerrit-CC: Bramus <bra...@chromium.org>
                    Gerrit-CC: Chromium Metrics Reviews <chromium-met...@google.com>
                    Gerrit-CC: Peter Beverloo <pe...@chromium.org>
                    Gerrit-CC: Theresa Wellington <twell...@chromium.org>
                    Gerrit-CC: Wenyu Fu <wen...@chromium.org>
                    Gerrit-Attention: Helmut Januschka <hel...@januschka.com>
                    Gerrit-Attention: Wenyu Fu <wen...@chromium.org>
                    Gerrit-Attention: Charles Hager <clh...@google.com>
                    Gerrit-Comment-Date: Sun, 10 May 2026 08:00:38 +0000
                    Gerrit-HasComments: No
                    Gerrit-Has-Labels: Yes
                    satisfied_requirement
                    unsatisfied_requirement
                    open
                    diffy
                    Reply all
                    Reply to author
                    Forward
                    0 new messages