WebXR Layers: Enable layers feature on Android by default [chromium/src : main]

0 views
Skip to first unread message

Alexander Cooper (Gerrit)

unread,
Jan 12, 2026, 12:43:43 PMJan 12
to Yong Li (xWF), Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
Attention needed from Brandon Jones and Yong Li (xWF)

Alexander Cooper added 2 comments

Patchset-level comments
File-level comment, Patchset 1 (Latest):
Alexander Cooper . resolved

I started the CQ because this will cause all kinds of other things that need to be updated. Some are I think because of the flag rename which you can avoid, but e.g. `virtual/stable/webexposed` won't be. I *think* we probably also want to update the runtime_enabled_features.json5 entry; and to do that (and the virtual/stable/webexposed), you'll need a completed chromestatus entry which includes the approval from the blink API OWNERS.

File chrome/browser/flag-metadata.json
Line 10811, Patchset 1 (Latest): "name": "webxr-layers",
Alexander Cooper . unresolved

I think it's better to add a comment and keep the name the same, as changing the flag name can IIRC cause all kinds of problems.

Open in Gerrit

Related details

Attention is currently required from:
  • Brandon Jones
  • Yong Li (xWF)
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: I5cc0806e4f7ce15adc761188ede00deef960283e
Gerrit-Change-Number: 7425292
Gerrit-PatchSet: 1
Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
Gerrit-Attention: Yong Li (xWF) <yyon...@google.com>
Gerrit-Attention: Brandon Jones <baj...@chromium.org>
Gerrit-Comment-Date: Mon, 12 Jan 2026 17:43:33 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
satisfied_requirement
unsatisfied_requirement
open
diffy

Yong Li (xWF) (Gerrit)

unread,
Jan 12, 2026, 2:06:44 PMJan 12
to Alexander Cooper, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
Attention needed from Alexander Cooper and Brandon Jones

Yong Li (xWF) added 1 comment

File chrome/browser/flag-metadata.json
Line 10811, Patchset 1: "name": "webxr-layers",
Alexander Cooper . resolved

I think it's better to add a comment and keep the name the same, as changing the flag name can IIRC cause all kinds of problems.

Yong Li (xWF)

Done

Open in Gerrit

Related details

Attention is currently required from:
  • Alexander Cooper
  • Brandon Jones
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: I5cc0806e4f7ce15adc761188ede00deef960283e
    Gerrit-Change-Number: 7425292
    Gerrit-PatchSet: 2
    Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
    Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
    Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
    Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
    Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
    Gerrit-Attention: Brandon Jones <baj...@chromium.org>
    Gerrit-Attention: Alexander Cooper <alco...@chromium.org>
    Gerrit-Comment-Date: Mon, 12 Jan 2026 19:06:35 +0000
    Gerrit-HasComments: Yes
    Gerrit-Has-Labels: No
    Comment-In-Reply-To: Alexander Cooper <alco...@chromium.org>
    satisfied_requirement
    unsatisfied_requirement
    open
    diffy

    Alexander Cooper (Gerrit)

    unread,
    Jan 13, 2026, 4:41:51 PMJan 13
    to Yong Li (xWF), AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
    Attention needed from Brandon Jones, Kinuko Yasuda and Yong Li (xWF)

    Alexander Cooper added 1 comment

    Patchset-level comments
    File-level comment, Patchset 1:
    Alexander Cooper . unresolved

    I started the CQ because this will cause all kinds of other things that need to be updated. Some are I think because of the flag rename which you can avoid, but e.g. `virtual/stable/webexposed` won't be. I *think* we probably also want to update the runtime_enabled_features.json5 entry; and to do that (and the virtual/stable/webexposed), you'll need a completed chromestatus entry which includes the approval from the blink API OWNERS.

    Alexander Cooper

    chromestatus or launch entry?

    Open in Gerrit

    Related details

    Attention is currently required from:
    • Brandon Jones
    • Kinuko Yasuda
    • Yong Li (xWF)
    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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 3
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Tue, 13 Jan 2026 21:41:38 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yong Li (xWF) (Gerrit)

      unread,
      Feb 6, 2026, 2:58:52 PM (8 days ago) Feb 6
      to Alexander Cooper, AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Alexander Cooper, Brandon Jones and Kinuko Yasuda

      New activity on the change

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alexander Cooper
      • Brandon Jones
      • Kinuko Yasuda
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 6
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Alexander Cooper <alco...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Fri, 06 Feb 2026 19:58:47 +0000
      Gerrit-HasComments: No
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alexander Cooper (Gerrit)

      unread,
      Feb 6, 2026, 4:52:28 PM (8 days ago) Feb 6
      to Yong Li (xWF), AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Brandon Jones, Kinuko Yasuda and Yong Li (xWF)

      Alexander Cooper added 3 comments

      File chrome/browser/about_flags.cc
      Line 6209, Patchset 6 (Latest): // It actually enables WebXR layers feature, not just projection layers.
      Alexander Cooper . unresolved

      I don't think the comment is needed.

      File chrome/browser/flag-metadata.json
      Line 9853, Patchset 6 (Latest): // It actually enables WebXR layers feature, not just projection layers.
      Alexander Cooper . unresolved

      Comment unneeded

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6 (Latest):#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Brandon Jones
      • Kinuko Yasuda
      • Yong Li (xWF)
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 6
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Fri, 06 Feb 2026 21:52:19 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yong Li (xWF) (Gerrit)

      unread,
      Feb 9, 2026, 9:01:52 AM (6 days ago) Feb 9
      to Alexander Cooper, AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Alexander Cooper, Brandon Jones and Kinuko Yasuda

      Yong Li (xWF) added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6 (Latest):#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alexander Cooper
      • Brandon Jones
      • Kinuko Yasuda
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 6
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Alexander Cooper <alco...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Mon, 09 Feb 2026 14:01:39 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Alexander Cooper <alco...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yong Li (xWF) (Gerrit)

      unread,
      Feb 9, 2026, 10:43:22 AM (6 days ago) Feb 9
      to Alexander Cooper, AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Alexander Cooper, Brandon Jones and Kinuko Yasuda

      Yong Li (xWF) added 2 comments

      File chrome/browser/about_flags.cc
      Line 6209, Patchset 6: // It actually enables WebXR layers feature, not just projection layers.
      Alexander Cooper . resolved

      I don't think the comment is needed.

      Yong Li (xWF)

      Done

      File chrome/browser/flag-metadata.json
      Line 9853, Patchset 6: // It actually enables WebXR layers feature, not just projection layers.
      Alexander Cooper . resolved

      Comment unneeded

      Yong Li (xWF)

      Done

      Gerrit-Comment-Date: Mon, 09 Feb 2026 15:43:18 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Brandon Jones (Gerrit)

      unread,
      Feb 9, 2026, 6:51:30 PM (5 days ago) Feb 9
      to Yong Li (xWF), Alexander Cooper, AyeAye, Kinuko Yasuda, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Alexander Cooper, Kinuko Yasuda and Yong Li (xWF)

      Brandon Jones added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6:#if BUILDFLAG(IS_ANDROID)

      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Brandon Jones

      Not advertising the layers feature won't prevent projection layers from being created. And Three.js, at least, will attempt to use them if it sees that the entry point is present, so exposing it be default if the projection layers don't work everywhere will break a lot of Three.js XR content.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alexander Cooper
      • Kinuko Yasuda
      • Yong Li (xWF)
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 7
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Attention: Alexander Cooper <alco...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Mon, 09 Feb 2026 23:51:21 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Yong Li (xWF) <yyon...@google.com>
      Comment-In-Reply-To: Alexander Cooper <alco...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alexander Cooper (Gerrit)

      unread,
      Feb 10, 2026, 4:18:41 PM (4 days ago) Feb 10
      to Yong Li (xWF), AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Kinuko Yasuda and Yong Li (xWF)

      Alexander Cooper added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6:#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Brandon Jones

      Not advertising the layers feature won't prevent projection layers from being created. And Three.js, at least, will attempt to use them if it sees that the entry point is present, so exposing it be default if the projection layers don't work everywhere will break a lot of Three.js XR content.

      Alexander Cooper

      Projection Layer *does* seem to work on Windows unless we use the texture array: https://immersive-web.github.io/webxr-samples/layers-samples/proj-layer.html

      Open in Gerrit

      Related details

      Attention is currently required from:
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Tue, 10 Feb 2026 21:18:32 +0000
      Gerrit-HasComments: Yes
      Gerrit-Has-Labels: No
      Comment-In-Reply-To: Yong Li (xWF) <yyon...@google.com>
      Comment-In-Reply-To: Brandon Jones <baj...@chromium.org>
      Comment-In-Reply-To: Alexander Cooper <alco...@chromium.org>
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Yong Li (xWF) (Gerrit)

      unread,
      Feb 10, 2026, 5:03:30 PM (4 days ago) Feb 10
      to Alexander Cooper, AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Alexander Cooper, Brandon Jones and Kinuko Yasuda

      Yong Li (xWF) added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6:#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Brandon Jones

      Not advertising the layers feature won't prevent projection layers from being created. And Three.js, at least, will attempt to use them if it sees that the entry point is present, so exposing it be default if the projection layers don't work everywhere will break a lot of Three.js XR content.

      Alexander Cooper

      Projection Layer *does* seem to work on Windows unless we use the texture array: https://immersive-web.github.io/webxr-samples/layers-samples/proj-layer.html

      Yong Li (xWF)

      It seems we won't create layer_manager on Windows. So it will use old code path, and GetFirstLayer() will return the projection layer. It will match the base layer on device/ side.
      Even though, should we still keep it disabled for Windows by default given Brandon's comments?

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Alexander Cooper
      • Brandon Jones
      • Kinuko Yasuda
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 7
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Alexander Cooper <alco...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Tue, 10 Feb 2026 22:03:25 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alexander Cooper (Gerrit)

      unread,
      Feb 10, 2026, 5:15:18 PM (4 days ago) Feb 10
      to Yong Li (xWF), AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Brandon Jones, Kinuko Yasuda and Yong Li (xWF)

      Alexander Cooper added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6:#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Brandon Jones

      Not advertising the layers feature won't prevent projection layers from being created. And Three.js, at least, will attempt to use them if it sees that the entry point is present, so exposing it be default if the projection layers don't work everywhere will break a lot of Three.js XR content.

      Alexander Cooper

      Projection Layer *does* seem to work on Windows unless we use the texture array: https://immersive-web.github.io/webxr-samples/layers-samples/proj-layer.html

      Yong Li (xWF)

      It seems we won't create layer_manager on Windows. So it will use old code path, and GetFirstLayer() will return the projection layer. It will match the base layer on device/ side.
      Even though, should we still keep it disabled for Windows by default given Brandon's comments?

      Alexander Cooper

      Let me chat with him; I did get it to work for texture array at one point as well as several THREE.js samples seeming to work fine.

      Open in Gerrit

      Related details

      Attention is currently required from:
      • Brandon Jones
      • Kinuko Yasuda
      • Yong Li (xWF)
      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: I5cc0806e4f7ce15adc761188ede00deef960283e
      Gerrit-Change-Number: 7425292
      Gerrit-PatchSet: 7
      Gerrit-Owner: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Reviewer: Alexander Cooper <alco...@chromium.org>
      Gerrit-Reviewer: Brandon Jones <baj...@chromium.org>
      Gerrit-Reviewer: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Reviewer: Yong Li (xWF) <yyon...@google.com>
      Gerrit-CC: Evgenii Alekseev (xWF) <eale...@google.com>
      Gerrit-Attention: Yong Li (xWF) <yyon...@google.com>
      Gerrit-Attention: Brandon Jones <baj...@chromium.org>
      Gerrit-Attention: Kinuko Yasuda <kin...@chromium.org>
      Gerrit-Comment-Date: Tue, 10 Feb 2026 22:15:07 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy

      Alexander Cooper (Gerrit)

      unread,
      Feb 11, 2026, 5:52:19 PM (3 days ago) Feb 11
      to Yong Li (xWF), AyeAye, Kinuko Yasuda, Brandon Jones, Evgenii Alekseev (xWF), Chromium LUCI CQ, chromium...@chromium.org, blink-...@chromium.org, kinuko...@chromium.org, asvitki...@chromium.org, feature-v...@chromium.org, jmedle...@chromium.org
      Attention needed from Brandon Jones, Kinuko Yasuda and Yong Li (xWF)

      Alexander Cooper added 1 comment

      File device/vr/public/cpp/features.cc
      Line 26, Patchset 6:#if BUILDFLAG(IS_ANDROID)
      BASE_FEATURE(kWebXRLayers, base::FEATURE_ENABLED_BY_DEFAULT);
      #else
      BASE_FEATURE(kWebXRLayers, base::FEATURE_DISABLED_BY_DEFAULT);
      #endif
      Alexander Cooper . unresolved

      What if we just enabled it by default for all platforms (and for runtime_enabled_features.json5) and put enabling the layers API feature in OpenXR behind a runtime check to deny it on Windows? Do ProjectionLayers work on Windows?

      Yong Li (xWF)

      I don't have a windows setup. (maybe I could request one). Not sure about the project plan on Windows. But according to the current code, creating a projection layer will fail on Windows because CreateCompostionLayer will fail.

      Brandon Jones

      Not advertising the layers feature won't prevent projection layers from being created. And Three.js, at least, will attempt to use them if it sees that the entry point is present, so exposing it be default if the projection layers don't work everywhere will break a lot of Three.js XR content.

      Alexander Cooper

      Projection Layer *does* seem to work on Windows unless we use the texture array: https://immersive-web.github.io/webxr-samples/layers-samples/proj-layer.html

      Yong Li (xWF)

      It seems we won't create layer_manager on Windows. So it will use old code path, and GetFirstLayer() will return the projection layer. It will match the base layer on device/ side.
      Even though, should we still keep it disabled for Windows by default given Brandon's comments?

      Alexander Cooper

      Let me chat with him; I did get it to work for texture array at one point as well as several THREE.js samples seeming to work fine.

      Alexander Cooper

      Chatted offline with Brandon. Given the guard in https://source.chromium.org/chromium/chromium/src/+/main:device/vr/openxr/openxr_api_wrapper.cc;drc=d3ccc328badd8a91517b0360b56de6da5011a2e8;l=600 for Windows and the fact that projection layers do work (I was able to validate this for Windows). Please enable the device::feature and runtime_enabled_features.json5 for all platforms.

      Thanks!

      Gerrit-Comment-Date: Wed, 11 Feb 2026 22:52:10 +0000
      satisfied_requirement
      unsatisfied_requirement
      open
      diffy
      Reply all
      Reply to author
      Forward
      0 new messages