-
Notifications
You must be signed in to change notification settings - Fork 6k
Comparing changes
Open a pull request
base repository: flutter/engine
base: 1b1b2a12a597
head repository: flutter/engine
compare: 737e6f8ce85e
- 5 commits
- 22 files changed
- 5 contributors
Commits on Dec 21, 2023
-
[web] autofocus in new routes (#47727)
Fixes flutter/flutter#138371 When a new route pops up the expectation is that the screen reader focuses on something in the new route. Since routes typically result in DOM nodes being replaced, the current effect is that the screen reader simply unfocuses from the page, causing the user to have to refocus on back on the page and look for elements to interact with, which is a poor user experience. The current workaround is to use `autofocus`, but that doesn't scale as it's easy to forget, and if the route in question is maintained by a different person you may not even have enough control over it to set `autofocus` on anything. For example, this is the case with Flutter's default date picker. All you have is `showDatePicker` and there's no way to control the focus. With this change the route (managed by the `Dialog` primary role) will check if a widget requested explicit focus (perhaps using `autofocus`), and if not, looks for the first descendant that a screen reader can focus on, and requests focus on it. The auto-focused element does not have to be literally focusable. For example, plain `Text` nodes do not have input focus (i.e. they are not `isFocusable`) but screen readers can still focus on them. If such an element is found, the web engine requests that the browser move focus to it programmatically (`element.focus()`), which causes the screen reader to move the a11y focus to it as well, but it sets `tabindex=-1` so the element is not focusable via keyboard or mouse.
Configuration menu - View commit details
-
Copy full SHA for b5ba500 - Browse repository at this point
Copy the full SHA b5ba500View commit details -
Revert onrender change (#49333)
This reverts #49214 and #48758. #49214 appears to cause a Flutter Gold diff during the engine roll. See flutter/flutter#140434 for an example. It's unclear to me whether this is an expected diff and should be approved or unexpected and should be reverting, so reverting to the last previous rollable state. ## 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 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]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
Configuration menu - View commit details
-
Copy full SHA for 9c401d3 - Browse repository at this point
Copy the full SHA 9c401d3View commit details -
Turn on scenario app screenshots (#49066)
Save a recording/screenshot to the uploaded xcresult when a Scenario test fails. <img width="1052" alt="Screenshot 2023-12-14 at 6 34 47�PM" src="https://github.com/flutter/engine/assets/682784/c1294497-28f6-4400-b21c-da689a224dc4"> <img width="244" alt="Screenshot 2023-12-14 at 6 41 03�PM" src="https://github.com/flutter/engine/assets/682784/f769dd5f-a71b-4320-b9ef-64eac722166a"> No more errant spew as reported in #19668 when this was originally turned off. ``` Test Case '-[StatusBarTest testTapStatusBar]' started. t = 0.00s Start Test at 2023-12-14 18:20:34.207 ... t = 2.69s Synthesize event t = 2.70s Find the StatusBar at {{0.0, 0.0}, {375.0, 20.0}} t = 2.72s Find the StatusBar at {{0.0, 0.0}, {375.0, 20.0}} t = 2.74s Find the StatusBar at {{0.0, 0.0}, {375.0, 20.0}} t = 3.03s Wait for com.apple.springboard to idle t = 3.43s Waiting 1.0s for "0,PointerChange.add,device=0,buttons=0,signalKind=PointerSignalKind.none" TextField to exist t = 4.43s Checking `Expect predicate `exists == 1` for object "0,PointerChange.add,device=0,buttons=0,signalKind=PointerSignalKind.none" TextField` t = 4.43s Checking existence of `"0,PointerChange.add,device=0,buttons=0,signalKind=PointerSignalKind.none" TextField` t = 4.45s Capturing element debug description t = 4.45s Checking existence of `"0,PointerChange.add,device=0,buttons=0,signalKind=PointerSignalKind.none" TextField` /Volumes/Work/s/w/ir/cache/builder/src/out/ios_debug_sim/scenario_app/Scenarios/ScenariosUITests/StatusBarTest.m:37: error: -[StatusBarTest testTapStatusBar] : ((exists) is true) failed t = 4.48s Tear Down ``` https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8761683198070320113/+/u/test:_Scenario_App_Integration_Tests__3_/stdout Fixes flutter/flutter#140192 [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
Configuration menu - View commit details
-
Copy full SHA for a2f296c - Browse repository at this point
Copy the full SHA a2f296cView commit details -
Reland "[web] Enforce onDrawFrame/onBeginFrame render rule" (#49336)
Enforces the render rule on the web except in the HTML renderer, which must still render to the DOM even outside of `onDrawFrame` or `onBegineFrame` scopes in order for golden tests to continue to work in the framework. This is a reland of #49214 with one change (checking for `renderer.rendererTag == 'html'` in the `render` method). ## 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] and the [C++, Objective-C, Java style guides]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I signed the [CLA]. - [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/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [test-exempt]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests [Flutter Style Guide]: https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo [C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style [testing the engine]: https://github.com/flutter/flutter/wiki/Testing-the-engine [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/wiki/Chat
Configuration menu - View commit details
-
Copy full SHA for c99c6bd - Browse repository at this point
Copy the full SHA c99c6bdView commit details -
Roll Dart SDK from bcf68d22f0fa to fe94d9b88531 (1 revision) (#49343)
https://dart.googlesource.com/sdk.git/+log/bcf68d22f0fa..fe94d9b88531 2023-12-21 dart-internal-merge@dart-ci-internal.iam.gserviceaccount.com Version 3.3.0-254.0.dev If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/dart-sdk-flutter-engine Please CC dart-vm-team@google.com,jimgraham@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Flutter Engine: 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 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Configuration menu - View commit details
-
Copy full SHA for 737e6f8 - Browse repository at this point
Copy the full SHA 737e6f8View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 1b1b2a12a597...737e6f8ce85e