Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: flutter/engine
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 1b1b2a12a597
Choose a base ref
...
head repository: flutter/engine
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 737e6f8ce85e
Choose a head ref
  • 5 commits
  • 22 files changed
  • 5 contributors

Commits on Dec 21, 2023

  1. [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.
    yjbanov authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    b5ba500 View commit details
    Browse the repository at this point in the history
  2. 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
    cbracken authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    9c401d3 View commit details
    Browse the repository at this point in the history
  3. 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
    jmagman authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    a2f296c View commit details
    Browse the repository at this point in the history
  4. 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
    harryterkelsen authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    c99c6bd View commit details
    Browse the repository at this point in the history
  5. 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
    skia-flutter-autoroll authored Dec 21, 2023
    Configuration menu
    Copy the full SHA
    737e6f8 View commit details
    Browse the repository at this point in the history
Loading