Fix an issue where the semantics announce event may be encoded as either an int32_t or an int64_t depending on its value#180071
Conversation
| FlutterViewId view_id; | ||
| const auto* view_id_64 = std::get_if<FlutterViewId>(&view_itr->second); | ||
| const auto* view_id_32 = std::get_if<int32_t>(&view_itr->second); | ||
|
|
||
| if (view_id_64) { | ||
| view_id = *view_id_64; | ||
| } else if (view_id_32) { | ||
| view_id = static_cast<FlutterViewId>(*view_id_32); | ||
| } else { |
There was a problem hiding this comment.
I see EncodableValue::LongValue exists, but it throws:
What do you think of adding a std::optional<int64_t> EncodableValue::TryGetLongValue() method?
This would let us simplify this logic, something like:
const auto view_id_val = view_itr->second.TryGetLongValue();
if (!view_id_val) {
FML_LOG(ERROR)
<< "Announce message 'viewId' property must be a FlutterViewId.";
return;
}
const auto view_id = static_cast<FlutterViewId>(*view_id_val);
plugin->Announce(view_id, *message);|
This regression indicates we should have a test. What do you think of adding a |
…her an int32_t or an int64_t depending on its value
Agree! |
| messenger()->SimulateEngineMessage( | ||
| kAccessibilityChannelName, encoded->data(), encoded->size(), | ||
| [](const uint8_t* reply, size_t reply_size) {}); | ||
| } |
There was a problem hiding this comment.
Thanks for going above and beyond with these tests! :)
loic-sharma
left a comment
There was a problem hiding this comment.
Looks great, excellent work!
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
Manual roll Flutter from 57c3f8b to 6ff7f30 (83 revisions) Manual roll requested by [email protected] flutter/flutter@57c3f8b...6ff7f30 2025-12-23 [email protected] Roll Packages from f28cf2e to 5e3a766 (3 revisions) (flutter/flutter#180232) 2025-12-23 [email protected] Roll Fuchsia Linux SDK from CmFPyvSc-K8_WDd5p... to 5EgkVbjGVZmCFPdtR... (flutter/flutter#180230) 2025-12-23 [email protected] Roll Skia from db7ec9a14905 to bdb147ae3040 (2 revisions) (flutter/flutter#180222) 2025-12-23 [email protected] Add SnackBarTheme (flutter/flutter#180001) 2025-12-23 [email protected] Roll Skia from 0b1ba3920f1c to db7ec9a14905 (1 revision) (flutter/flutter#180219) 2025-12-23 [email protected] Roll Dart SDK from 31e9f619e18a to 94b05f717ba3 (1 revision) (flutter/flutter#180216) 2025-12-23 [email protected] Roll Skia from a3e4f7b9d5f3 to 0b1ba3920f1c (1 revision) (flutter/flutter#180214) 2025-12-23 [email protected] Roll Skia from b8517d1e25f7 to a3e4f7b9d5f3 (2 revisions) (flutter/flutter#180211) 2025-12-23 [email protected] [Engine] iOS style blurring (flutter/flutter#175458) 2025-12-23 [email protected] Roll Dart SDK from 2243e91acaf2 to 31e9f619e18a (1 revision) (flutter/flutter#180210) 2025-12-22 [email protected] Add error description for nbsp character(\u202f) (flutter/flutter#178895) 2025-12-22 [email protected] Roll Skia from 98c01ea504d7 to b8517d1e25f7 (1 revision) (flutter/flutter#180207) 2025-12-22 [email protected] Small clean up in `LocalizationPlugin` (flutter/flutter#180053) 2025-12-22 [email protected] Roll Skia from c5beca8fa90b to 98c01ea504d7 (2 revisions) (flutter/flutter#180202) 2025-12-22 [email protected] Roll Dart SDK from cff33b09b24d to 2243e91acaf2 (1 revision) (flutter/flutter#180199) 2025-12-22 [email protected] Remove usages of Android's `AsyncTask` in favor of `java.util.concurrent` (flutter/flutter#180050) 2025-12-22 [email protected] Roll Fuchsia Linux SDK from 18ZvfJB61p7Z8HAaC... to CmFPyvSc-K8_WDd5p... (flutter/flutter#180193) 2025-12-22 [email protected] Roll Skia from 7b7083ed9d57 to c5beca8fa90b (5 revisions) (flutter/flutter#180187) 2025-12-22 [email protected] Roll Dart SDK from 38812d17127d to cff33b09b24d (1 revision) (flutter/flutter#180185) 2025-12-22 [email protected] Roll Skia from 0eef18a0e2e6 to 7b7083ed9d57 (1 revision) (flutter/flutter#180184) 2025-12-22 [email protected] Roll Dart SDK from 66c8013acbff to 38812d17127d (1 revision) (flutter/flutter#180179) 2025-12-21 [email protected] Roll Skia from 6fbc6c75b9bb to 0eef18a0e2e6 (2 revisions) (flutter/flutter#180176) 2025-12-21 [email protected] Roll Fuchsia Linux SDK from kGnnY1-fTWwYAnk8e... to 18ZvfJB61p7Z8HAaC... (flutter/flutter#180173) 2025-12-21 [email protected] Roll Skia from 1a4ca755288a to 6fbc6c75b9bb (1 revision) (flutter/flutter#180167) 2025-12-20 [email protected] Roll Skia from 2ad7452bd9d1 to 1a4ca755288a (1 revision) (flutter/flutter#180160) 2025-12-20 [email protected] Roll Fuchsia Linux SDK from oe10epXkqGnv21AbZ... to kGnnY1-fTWwYAnk8e... (flutter/flutter#180158) 2025-12-20 [email protected] Roll Skia from b01ad49ea807 to 2ad7452bd9d1 (1 revision) (flutter/flutter#180155) 2025-12-20 [email protected] Roll Dart SDK from 8fb1c0c0a8ae to 66c8013acbff (1 revision) (flutter/flutter#180154) 2025-12-20 [email protected] Remove unnecessary RadioGroup migration TODOs (flutter/flutter#180105) 2025-12-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (#179473)" (flutter/flutter#180152) 2025-12-20 [email protected] Roll Skia from 3cc7e81928f0 to b01ad49ea807 (1 revision) (flutter/flutter#180151) 2025-12-20 [email protected] Roll Dart SDK from ac95c6e8a31d to 8fb1c0c0a8ae (1 revision) (flutter/flutter#180148) 2025-12-19 [email protected] Roll pub packages (flutter/flutter#180146) 2025-12-19 [email protected] Roll Skia from fa4434632ce6 to 3cc7e81928f0 (4 revisions) (flutter/flutter#180142) 2025-12-19 [email protected] [reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (flutter/flutter#179473) 2025-12-19 [email protected] Roll Skia from ae5dd72b3591 to fa4434632ce6 (2 revisions) (flutter/flutter#180136) 2025-12-19 [email protected] Semantics headingLeveldoc update (flutter/flutter#179999) 2025-12-19 [email protected] Fix an issue where the semantics announce event may be encoded as either an int32_t or an int64_t depending on its value (flutter/flutter#180071) 2025-12-19 [email protected] [ Web ] Pass `--enable-experimental-ffi` when compiling WASM tests (flutter/flutter#180127) 2025-12-19 [email protected] Roll Dart SDK from cfc117d10d36 to ac95c6e8a31d (1 revision) (flutter/flutter#180130) 2025-12-19 [email protected] Pass canaryFeatures to BuildSettings (flutter/flutter#180108) 2025-12-19 [email protected] Roll Skia from fe2be289c9fe to ae5dd72b3591 (1 revision) (flutter/flutter#180129) 2025-12-19 [email protected] Roll Packages from 6f392aa to f28cf2e (1 revision) (flutter/flutter#180124) 2025-12-19 [email protected] Set text input purpose and hints on Linux platform (flutter/flutter#180013) ...
…0674) Manual roll Flutter from 57c3f8b to 6ff7f30 (83 revisions) Manual roll requested by [email protected] flutter/flutter@57c3f8b...6ff7f30 2025-12-23 [email protected] Roll Packages from f28cf2e to 5e3a766 (3 revisions) (flutter/flutter#180232) 2025-12-23 [email protected] Roll Fuchsia Linux SDK from CmFPyvSc-K8_WDd5p... to 5EgkVbjGVZmCFPdtR... (flutter/flutter#180230) 2025-12-23 [email protected] Roll Skia from db7ec9a14905 to bdb147ae3040 (2 revisions) (flutter/flutter#180222) 2025-12-23 [email protected] Add SnackBarTheme (flutter/flutter#180001) 2025-12-23 [email protected] Roll Skia from 0b1ba3920f1c to db7ec9a14905 (1 revision) (flutter/flutter#180219) 2025-12-23 [email protected] Roll Dart SDK from 31e9f619e18a to 94b05f717ba3 (1 revision) (flutter/flutter#180216) 2025-12-23 [email protected] Roll Skia from a3e4f7b9d5f3 to 0b1ba3920f1c (1 revision) (flutter/flutter#180214) 2025-12-23 [email protected] Roll Skia from b8517d1e25f7 to a3e4f7b9d5f3 (2 revisions) (flutter/flutter#180211) 2025-12-23 [email protected] [Engine] iOS style blurring (flutter/flutter#175458) 2025-12-23 [email protected] Roll Dart SDK from 2243e91acaf2 to 31e9f619e18a (1 revision) (flutter/flutter#180210) 2025-12-22 [email protected] Add error description for nbsp character(\u202f) (flutter/flutter#178895) 2025-12-22 [email protected] Roll Skia from 98c01ea504d7 to b8517d1e25f7 (1 revision) (flutter/flutter#180207) 2025-12-22 [email protected] Small clean up in `LocalizationPlugin` (flutter/flutter#180053) 2025-12-22 [email protected] Roll Skia from c5beca8fa90b to 98c01ea504d7 (2 revisions) (flutter/flutter#180202) 2025-12-22 [email protected] Roll Dart SDK from cff33b09b24d to 2243e91acaf2 (1 revision) (flutter/flutter#180199) 2025-12-22 [email protected] Remove usages of Android's `AsyncTask` in favor of `java.util.concurrent` (flutter/flutter#180050) 2025-12-22 [email protected] Roll Fuchsia Linux SDK from 18ZvfJB61p7Z8HAaC... to CmFPyvSc-K8_WDd5p... (flutter/flutter#180193) 2025-12-22 [email protected] Roll Skia from 7b7083ed9d57 to c5beca8fa90b (5 revisions) (flutter/flutter#180187) 2025-12-22 [email protected] Roll Dart SDK from 38812d17127d to cff33b09b24d (1 revision) (flutter/flutter#180185) 2025-12-22 [email protected] Roll Skia from 0eef18a0e2e6 to 7b7083ed9d57 (1 revision) (flutter/flutter#180184) 2025-12-22 [email protected] Roll Dart SDK from 66c8013acbff to 38812d17127d (1 revision) (flutter/flutter#180179) 2025-12-21 [email protected] Roll Skia from 6fbc6c75b9bb to 0eef18a0e2e6 (2 revisions) (flutter/flutter#180176) 2025-12-21 [email protected] Roll Fuchsia Linux SDK from kGnnY1-fTWwYAnk8e... to 18ZvfJB61p7Z8HAaC... (flutter/flutter#180173) 2025-12-21 [email protected] Roll Skia from 1a4ca755288a to 6fbc6c75b9bb (1 revision) (flutter/flutter#180167) 2025-12-20 [email protected] Roll Skia from 2ad7452bd9d1 to 1a4ca755288a (1 revision) (flutter/flutter#180160) 2025-12-20 [email protected] Roll Fuchsia Linux SDK from oe10epXkqGnv21AbZ... to kGnnY1-fTWwYAnk8e... (flutter/flutter#180158) 2025-12-20 [email protected] Roll Skia from b01ad49ea807 to 2ad7452bd9d1 (1 revision) (flutter/flutter#180155) 2025-12-20 [email protected] Roll Dart SDK from 8fb1c0c0a8ae to 66c8013acbff (1 revision) (flutter/flutter#180154) 2025-12-20 [email protected] Remove unnecessary RadioGroup migration TODOs (flutter/flutter#180105) 2025-12-20 98614782+auto-submit[bot]@users.noreply.github.com Reverts "[reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (#179473)" (flutter/flutter#180152) 2025-12-20 [email protected] Roll Skia from 3cc7e81928f0 to b01ad49ea807 (1 revision) (flutter/flutter#180151) 2025-12-20 [email protected] Roll Dart SDK from ac95c6e8a31d to 8fb1c0c0a8ae (1 revision) (flutter/flutter#180148) 2025-12-19 [email protected] Roll pub packages (flutter/flutter#180146) 2025-12-19 [email protected] Roll Skia from fa4434632ce6 to 3cc7e81928f0 (4 revisions) (flutter/flutter#180142) 2025-12-19 [email protected] [reland] Unify canvas creation and Surface code in Skwasm and CanvasKit (flutter/flutter#179473) 2025-12-19 [email protected] Roll Skia from ae5dd72b3591 to fa4434632ce6 (2 revisions) (flutter/flutter#180136) 2025-12-19 [email protected] Semantics headingLeveldoc update (flutter/flutter#179999) 2025-12-19 [email protected] Fix an issue where the semantics announce event may be encoded as either an int32_t or an int64_t depending on its value (flutter/flutter#180071) 2025-12-19 [email protected] [ Web ] Pass `--enable-experimental-ffi` when compiling WASM tests (flutter/flutter#180127) 2025-12-19 [email protected] Roll Dart SDK from cfc117d10d36 to ac95c6e8a31d (1 revision) (flutter/flutter#180130) 2025-12-19 [email protected] Pass canaryFeatures to BuildSettings (flutter/flutter#180108) 2025-12-19 [email protected] Roll Skia from fe2be289c9fe to ae5dd72b3591 (1 revision) (flutter/flutter#180129) 2025-12-19 [email protected] Roll Packages from 6f392aa to f28cf2e (1 revision) (flutter/flutter#180124) 2025-12-19 [email protected] Set text input purpose and hints on Linux platform (flutter/flutter#180013) ...
…d as either an int32_t or an int64_t depending on its value (flutter/flutter#180071)
fixes #179563
What's new?
Pre-launch Checklist
///).