Skip to content

[WebExtensions] Deprecate runtime.PlatformInfo.nacl_arch#43799

Open
bershanskiy wants to merge 1 commit intomdn:mainfrom
bershanskiy:nacl_arch
Open

[WebExtensions] Deprecate runtime.PlatformInfo.nacl_arch#43799
bershanskiy wants to merge 1 commit intomdn:mainfrom
bershanskiy:nacl_arch

Conversation

@bershanskiy
Copy link
Copy Markdown
Contributor

Description

Chromium is the only engine which supported Google Native Client (NaCl) and runtime.PlatformInfo.nacl_arch WebExtension API. Chromium removed NaCl and is currently in the process of removal of associated WebExtension API remnants.

Motivation

Update MDN in line with Chromium development.

Additional details

Google Chrome deprecated runtime.PlatformInfo.nacl_arch and runtime.PlatformNaclArch. Google plans to run an experiment removing nacl_arch from runtime.getPlatformInfo() and we would like to increase awareness of this deprecation. Hardcoded constant enum runtime.PlatformNaclArch is not part of this experiment, but will be removed shortly after runtime.PlatformInfo.nacl_arch removal.

Details:
chromium/chromium@913e0c0
chromium/chromium@6e62e12
chromium/chromium@9b22796

Related issues and pull requests

I will prepare BCD PR shortly.

CC @oliverdunk

@bershanskiy bershanskiy requested a review from a team as a code owner April 15, 2026 15:55
@bershanskiy bershanskiy requested review from willdurand and removed request for a team April 15, 2026 15:55
@github-actions github-actions bot added Content:WebExt WebExtensions docs size/s [PR only] 6-50 LoC changed labels Apr 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

@rebloor rebloor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bershanskiy some type of fixes and other suggestions for your consideration

Comment thread files/en-us/mozilla/add-ons/webextensions/api/runtime/platforminfo/index.md Outdated
Comment thread files/en-us/mozilla/add-ons/webextensions/api/runtime/platformnaclarch/index.md Outdated
Values of this type are strings. Possible values are: `"arm"`, `"x86-32"`, `"x86-64"`.
{{Deprecated_Header}}{{non-standard_header}}

The enumerated value representing CPU instruction set architecture of Google Native Client used by the browser. This enum is deprecated, following removal of Google Native Client from Google Chrome. As of 2026, Chromium intends to remove this enum. Consider migrating to `PlatformArch` also available in {{WebExtAPIRef("runtime.PlatformInfo")}} via {{WebExtAPIRef("runtime.getPlatformInfo()")}}.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The enumerated value representing CPU instruction set architecture of Google Native Client used by the browser. This enum is deprecated, following removal of Google Native Client from Google Chrome. As of 2026, Chromium intends to remove this enum. Consider migrating to `PlatformArch` also available in {{WebExtAPIRef("runtime.PlatformInfo")}} via {{WebExtAPIRef("runtime.getPlatformInfo()")}}.
The enumerated value representing the CPU instruction set architecture of Google Native Client used by the browser. This enum is deprecated, following the removal of Google Native Client from Google Chrome. As of 2026, Chromium intends to remove this enum. Consider migrating to {{WebExtAPIRef("runtime.PlatformArch")}} in {{WebExtAPIRef("runtime.PlatformInfo")}} which you obtain using {{WebExtAPIRef("runtime.getPlatformInfo()")}}.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Both PlatformArch and PlatformNaclArch are available via the same API runtime.getPlatformInfo(), but the edit appears to suggest otherwise:

Consider migrating to {{WebExtAPIRef("runtime.PlatformArch")}} in {{WebExtAPIRef("runtime.PlatformInfo")}} which you obtain using {{WebExtAPIRef("runtime.getPlatformInfo()")}}.

Comment on lines +15 to +24
- `ARM`
- : The string literal `"arm"`. Represents all versions of ARM ISA, including all 32-bit and 64-bit variants. Equivalent to `PlatformArch.ARM` (32-bit variant) and `PlatformArch.ARM64` combined into one value.
- `X86_32`
- : The string literal `"x86-32"`. Represents 32-bit variant of the x86 arhitecture. Equivalent to `PlatformArch.X86_32`.
- `X86_64`
- : The string literal `"x86-64"`. Represents 64-bit-compatiable variant of the x86 arhitecture. Equivalent to `PlatformArch.X86_64`.
- `MIPS`
- : The string literal `"mips"`. Represents 32-bit variant of MIPS ISA, which was never officially supported by official releases. Equivalent to `PlatformArch.MIPS`.
- `MIPS64`
- : The string literal `"mips64"`. Represents 64-bit variant of MIPS ISA, which was never officially supported by official releases. Equivalent to `PlatformArch.MIPS64`.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Chrome documentation includes values not included in the MDN documanation (e.g., arm64, mips can we update that here and add to the BCD update? Also, all values are stated as lowercase in the documentation.

Suggested change
- `ARM`
- : The string literal `"arm"`. Represents all versions of ARM ISA, including all 32-bit and 64-bit variants. Equivalent to `PlatformArch.ARM` (32-bit variant) and `PlatformArch.ARM64` combined into one value.
- `X86_32`
- : The string literal `"x86-32"`. Represents 32-bit variant of the x86 arhitecture. Equivalent to `PlatformArch.X86_32`.
- `X86_64`
- : The string literal `"x86-64"`. Represents 64-bit-compatiable variant of the x86 arhitecture. Equivalent to `PlatformArch.X86_64`.
- `MIPS`
- : The string literal `"mips"`. Represents 32-bit variant of MIPS ISA, which was never officially supported by official releases. Equivalent to `PlatformArch.MIPS`.
- `MIPS64`
- : The string literal `"mips64"`. Represents 64-bit variant of MIPS ISA, which was never officially supported by official releases. Equivalent to `PlatformArch.MIPS64`.
- `ARM`
- : The string literal `"arm"`. Represents all versions of the ARM ISA, including all 32-bit and 64-bit variants. Equivalent to [`PlatformArch.arm`](/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/PlatformArch#arm) (32-bit variant) and `PlatformArch.arm64` combined into one value.
- `X86_32`
- : The string literal `"x86-32"`. Represents the 32-bit variant of the x86 architecture. Equivalent to [`PlatformArch.x86_32`](/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/PlatformArch#x86-32) .
- `X86_64`
- : The string literal `"x86-64"`. Represents the 64-bit variant of the x86 architecture. Equivalent to [`PlatformArch.x86_64`](/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/PlatformArch#x86-64).
- `MIPS`
- : The string literal `"mips"`. Represents the 32-bit variant of the MIPS ISA, which was never supported by official releases. Equivalent to `PlatformArch.mips`.
- `MIPS64`
- : The string literal `"mips64"`. Represents the 64-bit variant of the MIPS ISA, which was never supported by official releases. Equivalent to `PlatformArch.mips64`.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copied your version and just removed extra space at the end of description for x86-64.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Chrome documentation includes values not included in the MDN documanation

Chromium specifies that chrome.runtime.PlatformNaclArch has value {ARM: 'arm', MIPS: 'mips', MIPS64: 'mips64', X86_32: 'x86-32', X86_64: 'x86-64'}, we already updated this document accordingly. Or did you mean that we should also update document about chrome.runtime.PlatformArch?

Comment thread files/en-us/mozilla/add-ons/webextensions/api/runtime/index.md Outdated
@oliverdunk
Copy link
Copy Markdown
Contributor

Thanks all! This is generally looking good, happy to do a final review once the suggested changes have been incorporated.

@bershanskiy bershanskiy force-pushed the nacl_arch branch 2 times, most recently from dcf46b4 to ca9b0d1 Compare April 17, 2026 13:13
Chromium is the only engine which supported Google Native Client (NaCl)
and runtime.PlatformInfo.nacl_arch WebExtension API. Chromium removed
NaCl and is currently in the process of removal of associated
WebExtensions API remnants.

Details:
chromium/chromium@913e0c0
chromium/chromium@6e62e12
chromium/chromium@9b22796
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Content:WebExt WebExtensions docs size/s [PR only] 6-50 LoC changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants