Skip to content
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

Queue all semantic nodes & actions before completing batch #35792

Merged
merged 4 commits into from
Aug 30, 2022

Conversation

loic-sharma
Copy link
Member

@loic-sharma loic-sharma commented Aug 29, 2022

⚠️ I recommend reviewing this with whitespace changes disabled.

Previously the AccessibilityBridge committed updates to semantic nodes and actions separately. This crashed when a semantic node update depends on an action update: committing the node update would fail to find the corresponding custom action update.

This change makes the engine queue all semantic node and action updates before triggering the commit. In a future change, a new embedder API will be introduced to improve semantic updates.

Tested using the crash repro provided by @0xNF: flutter/flutter#103808 (comment)

Fixes: flutter/flutter#103808

Pre-launch Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
  • I read the Tree Hygiene wiki page, which explains my responsibilities.
  • I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides.
  • I listed at least one issue that this PR fixes in the description above.
  • I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test-exempt. See testing the engine for instructions on
    writing and running engine tests.
  • I updated/added relevant documentation (doc comments with ///).
  • I signed the CLA.
  • All existing and new tests are passing.

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

@flutter-dashboard flutter-dashboard bot added embedder Related to the embedder API platform-windows labels Aug 29, 2022
@loic-sharma loic-sharma changed the title [Embedder] Queue all semantic nodes & actions before completing batch [Engine] Queue all semantic nodes & actions before completing batch Aug 29, 2022
@loic-sharma loic-sharma changed the title [Engine] Queue all semantic nodes & actions before completing batch Queue all semantic nodes & actions before completing batch Aug 29, 2022
@loic-sharma loic-sharma marked this pull request as ready for review August 29, 2022 23:29
Copy link
Contributor

@yaakovschectman yaakovschectman left a comment

Choose a reason for hiding this comment

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

LGTM if tests are passing and you've observed updates are still performed

Copy link
Member

@cbracken cbracken left a comment

Choose a reason for hiding this comment

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

LGTM stamp from a Japanese personal seal

@loic-sharma loic-sharma added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 30, 2022
@auto-submit auto-submit bot merged commit ead1348 into flutter:main Aug 30, 2022
@loic-sharma loic-sharma deleted the fix_semantics_batch branch August 30, 2022 20:00
zanderso pushed a commit to flutter/flutter that referenced this pull request Aug 31, 2022
…110697)

* d782c3303 [web] roll CanvasKit to 0.36.1 (flutter/engine#35747)

* 300592bc8 allows mallocmapping copies of size zero (flutter/engine#35803)

* 61e4c0715 Generate mac os framework with a global generator. (flutter/engine#35673)

* 7a03a54a8 Roll Skia from 545e45ab4d5d to 27a2eeacd330 (11 revisions) (flutter/engine#35805)

* 89909d966 Fix DartPerformanceMode enum mismatch (flutter/engine#35806)

* ead134880 Queue all semantic nodes & actions before completing batch (flutter/engine#35792)

* adec6edb0 Run clang-tidy and Mac Unopt on Xcode beta (flutter/engine#35793)

* eb6e2e08c Roll Skia from 27a2eeacd330 to 18b36bd2e2a3 (1 revision) (flutter/engine#35807)

* e74352c7f Remove extract_far.dart (flutter/engine#35801)

* 5ee7b3816 Test cover 'toImage'. (flutter/engine#35791)

* 8ed1e6ca7 Roll Skia from 18b36bd2e2a3 to 7c67a21eec59 (3 revisions) (flutter/engine#35810)

* cc2a32332 Roll Dart SDK from 9faec45da06c to 7e5a69f6b25f (1 revision) (flutter/engine#35811)

* c2a2a5679 Roll Fuchsia Linux SDK from NwG1XTWHxB9R3XcU5... to usGLIrlCJW1C1yaF1... (flutter/engine#35812)

* 8ab3b8f5a Migrate testing/symbols to null safety (flutter/engine#35809)

* 7e27b923b Roll Skia from 7c67a21eec59 to 3abad1ab16cc (1 revision) (flutter/engine#35816)

* 4cb5be089 [web] remove references to IE11 and old Edge; treat Samsung browser as Blink (flutter/engine#35205)

* 5154b8ac0 Roll Fuchsia Mac SDK from 4GZkuoQmvVanO84uA... to V_dBCcwGfOqJkrG9b... (flutter/engine#35817)

* b5a5a0dc7 Roll Dart SDK from 7e5a69f6b25f to 5a2737b71877 (1 revision) (flutter/engine#35818)

* e11457362 [dart:ui] Adds a reusable FragmentShader (flutter/engine#35253)

* 26d6bcfd6 Roll Skia from 3abad1ab16cc to a7829f6da292 (1 revision) (flutter/engine#35819)

* 6c9f6f5b8 Roll Skia from a7829f6da292 to 83b5d7ae4bca (2 revisions) (flutter/engine#35821)

* 169181f8d Make shader mask layer code builder aware (flutter/engine#35622)

* 06925ed06 Roll Fuchsia Linux SDK from usGLIrlCJW1C1yaF1... to 5YEIlndU4ncjOl9I_... (flutter/engine#35824)

* 7a40a0a26 Roll Skia from 83b5d7ae4bca to e4a2061eb1fc (1 revision) (flutter/engine#35826)

* 43ee40e31 Engine startup event timed after VM initializes (flutter/engine#35713)

* 9eb524bad Roll Fuchsia Mac SDK from V_dBCcwGfOqJkrG9b... to sgXD5SyRPOxGjWV4q... (flutter/engine#35829)

* cfdc83ad6 Roll Skia from e4a2061eb1fc to 34df0f94c849 (1 revision) (flutter/engine#35828)

* 90d65fa5f fix null access for CkParagraph.dispose (flutter/engine#35815)

* ef039c197 Update the API check script for the latest Dart analyzer APIs (flutter/engine#35831)

* c3c872776 Revert "[web] roll CanvasKit to 0.36.1 (#35747)" (flutter/engine#35837)

* db97b55d0 Roll Skia from 34df0f94c849 to e0b87738eca7 (5 revisions) (flutter/engine#35832)

* f69e0ccc3 add enterkeyhint property to web textfields (flutter/engine#35411)

* 54a1b59c9 Add a comment in the scenario app to meet the latest analyzer requirements (flutter/engine#35838)

* d993e0d55 Revert "[dart:ui] Adds a reusable FragmentShader (#35253)" (flutter/engine#35843)
loic-sharma added a commit to loic-sharma/flutter-engine that referenced this pull request Sep 1, 2022
loic-sharma added a commit to loic-sharma/flutter-engine that referenced this pull request Sep 6, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App embedder Related to the embedder API platform-windows
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Windows Accessibility issue and ReorderableListView crash
3 participants