Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Clean up duplicated code between FML and third_party/accessibility #118811

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
cbracken opened this issue Jan 19, 2023 · 1 comment
Open

Clean up duplicated code between FML and third_party/accessibility #118811

cbracken opened this issue Jan 19, 2023 · 1 comment
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: desktop Running on desktop c: tech-debt Technical debt, code quality, testing, etc. engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list platform-mac Building on or for macOS specifically platform-windows Building on or for Windows specifically team-macos Owned by the macOS platform team triaged-macos Triaged by the macOS platform team

Comments

@cbracken
Copy link
Member

//third_party/accessibility started as a fork of Chromium's accessibility code, but has diverged significantly enough that it's unlikely we'll ever merge updates from upstream. Long-term, we should probably consider a more thorough revamp into a portable, shared, flutter accessibility library but for the time being, we should eliminate any low-hanging fruit in terms of duplication.

Candidates:

  • String conversion
  • Logging
@cbracken cbracken added a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) platform-mac Building on or for macOS specifically platform-windows Building on or for Windows specifically a: desktop Running on desktop c: tech-debt Technical debt, code quality, testing, etc. labels Jan 19, 2023
@cbracken cbracken self-assigned this Jan 19, 2023
@cbracken cbracken added engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list labels Jan 19, 2023
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 19, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
auto-submit bot pushed a commit to flutter/engine that referenced this issue Jan 19, 2023
* Extract WideToUTF16String/UTF16StringToWide to FML

In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811

* Migrate UTF16ToWide as well
cbracken added a commit to cbracken/flutter_engine that referenced this issue Jan 20, 2023
In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811
ricardoamador pushed a commit to ricardoamador/engine that referenced this issue Jan 25, 2023
* Extract WideToUTF16String/UTF16StringToWide to FML

In third_party/accessibility, for string conversion, we use a mix of:
* FML
* third_party/accessibility base string utility functions
* static functions local to the translation unit itself

This moves all conversions between UTF16 and wide strings to FML. Note
that this implementation is only safe on platforms where:
  * the size of wchar_t and char16_t are the same
  * the encoding of wchar_t and char16_t are both UTF-16
which is the case for Windows, hence why these functions are implemented
in a Windows-specific translation unit (wstring_conversion).

Issue: flutter/flutter#118811

* Migrate UTF16ToWide as well
@cbracken cbracken removed their assignment Mar 29, 2024
@cbracken cbracken added fyi-macos For the attention of macOS platform team team-macos Owned by the macOS platform team fyi-windows For the attention of the Windows platform team and removed team-desktop labels Jun 5, 2024
@flutter-triage-bot flutter-triage-bot bot removed the fyi-macos For the attention of macOS platform team label Jun 7, 2024
@flutter-triage-bot
Copy link

The fyi-macos label is redundant with the team-macos label.
The triaged-desktop label is irrelevant if there is no team-desktop label or fyi-desktop label.

@jmagman jmagman added the triaged-macos Triaged by the macOS platform team label Jun 7, 2024
@loic-sharma loic-sharma added the triaged-windows Triaged by the Windows platform team label Jun 24, 2024
@flutter-triage-bot flutter-triage-bot bot removed fyi-windows For the attention of the Windows platform team triaged-windows Triaged by the Windows platform team labels Jun 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: accessibility Accessibility, e.g. VoiceOver or TalkBack. (aka a11y) a: desktop Running on desktop c: tech-debt Technical debt, code quality, testing, etc. engine flutter/engine repository. See also e: labels. P2 Important issues not at the top of the work list platform-mac Building on or for macOS specifically platform-windows Building on or for Windows specifically team-macos Owned by the macOS platform team triaged-macos Triaged by the macOS platform team
Projects
None yet
Development

No branches or pull requests

4 participants