这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@ksokolovskyi
Copy link
Contributor

Closes #130174

Description

  • Adds DomLocale extension type for Intl.Locale
  • Replaces manual browser language parsing with DomLocale usage
  • Adds tests to cover new functionality

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@ksokolovskyi ksokolovskyi requested a review from mdebbar July 30, 2025 10:46
@github-actions github-actions bot added engine flutter/engine related. See also e: labels. platform-web Web applications specifically labels Jul 30, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request introduces Intl.Locale to parse browser languages, which is a significant improvement over the previous manual string splitting. The new DomLocale extension type correctly handles complex language tags including script codes. The accompanying tests are thorough and validate the new functionality.

My review focuses on the new DomLocale and DomLocaleOptions extension types in dom.dart. I've suggested adding documentation as required by the style guide, aligning the constructor naming with existing conventions in the file, and removing a property that doesn't seem to belong to the underlying JS API. The rest of the changes look good.

Copy link
Contributor

@mdebbar mdebbar left a comment

Choose a reason for hiding this comment

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

LGTM

@mdebbar mdebbar added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 4, 2025
@auto-submit auto-submit bot added this pull request to the merge queue Aug 4, 2025
@ksokolovskyi
Copy link
Contributor Author

@mdebbar thanks a lot for the review!

Merged via the queue into flutter:master with commit a128ccb Aug 4, 2025
176 checks passed
@flutter-dashboard flutter-dashboard bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 4, 2025
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Aug 4, 2025
Roll Flutter from 871849e4b6bf to beda687d63f2 (34 revisions)

flutter/flutter@871849e...beda687

2025-08-04 jason-simmons@users.noreply.github.com [Impeller] Improvements to the Vulkan pipeline cache data writer (flutter/flutter#173014)
2025-08-04 jason-simmons@users.noreply.github.com [Impeller] Terminate the fence waiter but do not reset it during ContextVK shutdown (flutter/flutter#173085)
2025-08-04 matt.kosarek@canonical.com Add the 'windowing' feature flag and use to wrap an implementation for regular windows that always throws (flutter/flutter#172478)
2025-08-04 30870216+gaaclarke@users.noreply.github.com licenses_cpp: reland switch 4 (flutter/flutter#173139)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from 763bba9c33fd to dce9550a1356 (1 revision) (flutter/flutter#173219)
2025-08-04 1063596+reidbaker@users.noreply.github.com Improve robustness of comment detection when using flutter analyze --suggestions (flutter/flutter#172977)
2025-08-04 ahmedsameha1@gmail.com Make sure that a LicensePage doesn't crash in 0x0 environment (flutter/flutter#172610)
2025-08-04 engine-flutter-autoroll@skia.org Roll Packages from f0645d8 to 1a72287 (4 revisions) (flutter/flutter#173215)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from edf0f8a5bba6 to 763bba9c33fd (1 revision) (flutter/flutter#173213)
2025-08-04 sokolovskyi.konstantin@gmail.com [web] Add Intl.Locale to parse browser languages. (flutter/flutter#172964)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from 439f80973f4a to edf0f8a5bba6 (2 revisions) (flutter/flutter#173204)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from 9d30cc96a3b2 to 439f80973f4a (1 revision) (flutter/flutter#173201)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from 39c70f883c0e to 9d30cc96a3b2 (1 revision) (flutter/flutter#173197)
2025-08-04 engine-flutter-autoroll@skia.org Roll Skia from 09667386bcba to 39c70f883c0e (1 revision) (flutter/flutter#173194)
2025-08-04 codefu@google.com fix: get content hash for master on local engine branches (third attempt)  (flutter/flutter#173169)
2025-08-03 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from wZuA8Dqty4scQkZuV... to ufssK8EgJ_9RpLFgu... (flutter/flutter#173190)
2025-08-03 engine-flutter-autoroll@skia.org Roll Skia from e056e47e118b to 09667386bcba (2 revisions) (flutter/flutter#173185)
2025-08-03 codefu@google.com fix: tag fuchsia package after uploading (flutter/flutter#173140)
2025-08-02 engine-flutter-autoroll@skia.org Roll Skia from 7ef888e30a28 to e056e47e118b (1 revision) (flutter/flutter#173170)
2025-08-02 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from yFLr81lLXmSX7n11D... to wZuA8Dqty4scQkZuV... (flutter/flutter#173166)
2025-08-02 engine-flutter-autoroll@skia.org Roll Skia from af6d6eb383a6 to 7ef888e30a28 (1 revision) (flutter/flutter#173157)
2025-08-02 32538273+ValentinVignal@users.noreply.github.com Add `innerRadius` to `RadioThemeData` (flutter/flutter#173120)
2025-08-02 engine-flutter-autoroll@skia.org Roll Skia from 81dd6aa516b0 to af6d6eb383a6 (2 revisions) (flutter/flutter#173144)
2025-08-01 98614782+auto-submit[bot]@users.noreply.github.com Reverts "fix: get content hash for master on local engine branches (#173114)" (flutter/flutter#173145)
2025-08-01 engine-flutter-autoroll@skia.org Roll Dart SDK from 6e1bb159c860 to 3f1307d72d6f (2 revisions) (flutter/flutter#173136)
2025-08-01 engine-flutter-autoroll@skia.org Roll Skia from 9e2c59634961 to 81dd6aa516b0 (1 revision) (flutter/flutter#173135)
2025-08-01 737941+loic-sharma@users.noreply.github.com Reformat text.dart's code snippets (flutter/flutter#172976)
2025-08-01 dmgr@google.com experiment with docs properties (flutter/flutter#173124)
2025-08-01 codefu@google.com fix: get content hash for master on local engine branches (flutter/flutter#173114)
2025-08-01 ahmedsameha1@gmail.com Make sure that a RawAutocomplete doesn't crash in 0x0 environment (flutter/flutter#172812)
2025-08-01 bungeman@chromium.org Add skia_ports_fontmgr_android_parser_sources (flutter/flutter#172979)
2025-08-01 engine-flutter-autoroll@skia.org Roll Skia from 49e39cd3cf18 to 9e2c59634961 (10 revisions) (flutter/flutter#173125)
2025-08-01 72062416+Yash-Dhrangdhariya@users.noreply.github.com fix: 🐛 Add equality and hashCode implementations to ResizeImage (flutter/flutter#172643)
2025-08-01 engine-flutter-autoroll@skia.org Roll Fuchsia Linux SDK from xo_bqOoFuBKFmgKxn... to yFLr81lLXmSX7n11D... (flutter/flutter#173117)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-packages
Please CC stuartmorgan@google.com,tarrinneal@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

...
danilozhang pushed a commit to danilozhang/flutter that referenced this pull request Aug 6, 2025
Closes flutter#130174

### Description
- Adds `DomLocale` extension type for
[`Intl.Locale`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)
- Replaces manual browser language parsing with `DomLocale` usage
- Adds tests to cover new functionality

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
SydneyBao pushed a commit to SydneyBao/flutter that referenced this pull request Aug 6, 2025
Closes flutter#130174

### Description
- Adds `DomLocale` extension type for
[`Intl.Locale`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)
- Replaces manual browser language parsing with `DomLocale` usage
- Adds tests to cover new functionality

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
ksokolovskyi added a commit to ksokolovskyi/flutter that referenced this pull request Aug 19, 2025
Closes flutter#130174

### Description
- Adds `DomLocale` extension type for
[`Intl.Locale`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)
- Replaces manual browser language parsing with `DomLocale` usage
- Adds tests to cover new functionality

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
mboetger pushed a commit to mboetger/flutter that referenced this pull request Sep 18, 2025
Closes flutter#130174

### Description
- Adds `DomLocale` extension type for
[`Intl.Locale`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)
- Replaces manual browser language parsing with `DomLocale` usage
- Adds tests to cover new functionality

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
korca0220 pushed a commit to korca0220/flutter that referenced this pull request Sep 22, 2025
Closes flutter#130174

### Description
- Adds `DomLocale` extension type for
[`Intl.Locale`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale)
- Replaces manual browser language parsing with `DomLocale` usage
- Adds tests to cover new functionality

## Pre-launch Checklist

- [X] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [X] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [X] I read and followed the [Flutter Style Guide], including [Features
we expect every widget to implement].
- [X] I signed the [CLA].
- [X] I listed at least one issue that this PR fixes in the description
above.
- [X] I updated/added relevant documentation (doc comments with `///`).
- [X] I added new tests to check the change I am making, or this PR is
[test-exempt].
- [X] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Nov 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

engine flutter/engine related. See also e: labels. platform-web Web applications specifically

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[web] Parse browser Languages using Intl.Locale

2 participants