Skip to content
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/flutter
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 793b0b89e82e
Choose a base ref
...
head repository: flutter/flutter
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: b45a73b1dc3e
Choose a head ref
  • 8 commits
  • 24 files changed
  • 7 contributors

Commits on Jan 13, 2026

  1. Add build-time checks for ImpellerC's SkSL compiler (#180861)

    Adds build-time checks for ImpellerC's SkSL compiler in two places:
    - The `CompilerSkSL` class in `spirv_sksl.cc` generates the compiled
    SkSL from the user's input shader code. It has an existing
    `detect_unsupported_resources` method which analyzes the generated
    `ParsedIR` to detect various features that SkSL does not support (e.g.
    UBOs and SSBOs, push constant blocks, and user specified inputs). This
    PR adds additional checks to `detect_unsupported_resources` to detect
    array initialization using array initializers (e.g. `float[](1.0,
    2.0)`), which is not supported by SkSL. This specifically addresses
    #125630.
    - In the main `Compiler` class in `compiler.cc`, when compiling to SkSL,
    validate the compiled SkSL by using it to create a `SkRuntimeEffect`.
    Some invalid SkSL cases, like array assignment (`float[2] float_array =
    another_float_array;`) are hard to detect from the `ParsedIR`, so
    `CompilerSkSL` does not attempt to detect these invalid cases. The
    validation added in `Compiler` will catch all of these cases after SkSL
    compilation. The error messages produced from this validation are less
    informative than error messages from `CompilerSkSL`'s checks. It
    surfaces the error produced by Skia's SkSL parser and outputs the entire
    generated SkSL file (which can be substantially different from the
    user's input shader code).
    
    Fixes #125630.
    
    ## 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], including [Features
    we expect every widget to implement].
    - [x] I signed the [CLA].
    - [x] I listed at least one issue that this PR fixes in the description
    above.
    - [x] I updated/added relevant documentation (doc comments with `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code
    Assist for
    GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
    Comments from the `gemini-code-assist` bot should not be taken as
    authoritative feedback from the Flutter team. If you find its comments
    useful you can update your code accordingly, but if you are unsure or
    disagree with the feedback, please feel free to wait for a Flutter team
    member's review for guidance on which automated comments should be
    addressed.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [Tree Hygiene]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
    [test-exempt]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
    [Flutter Style Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
    [Features we expect every widget to implement]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
    [CLA]: https://cla.developers.google.com/
    [flutter/tests]: https://github.com/flutter/tests
    [breaking change policy]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
    [Discord]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
    [Data Driven Fixes]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
    b-luk authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    3dda832 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ed17b31 View commit details
    Browse the repository at this point in the history
  3. Add TabBar API example for scroll notification integration (#180728)

    - A part of: #123965
    - Description: This PR adds an example that came from
    #123965 (comment)
    as a workaround. I bring it into an API example so that users can find
    it easier.
    The example showcases how to apply custom behavior based on the scroll
    in TabBar. It utilizes scroll notifications (ScrollMetricsNotification
    and ScrollNotification) within NotificationListener callback to monitor
    the scroll offset, allowing for interface customization based on the
    obtained offset.
    
    <details open>
    <summary>Demo</summary>
    
    
    https://github.com/user-attachments/assets/75999f31-e468-4bba-9c14-bf4f3c8fcd9a
    
    </details>
    
    ## 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], including [Features
    we expect every widget to implement].
    - [x] I signed the [CLA].
    - [x] I listed at least one issue that this PR fixes in the description
    above.
    - [x] I updated/added relevant documentation (doc comments with `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code
    Assist for
    GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
    Comments from the `gemini-code-assist` bot should not be taken as
    authoritative feedback from the Flutter team. If you find its comments
    useful you can update your code accordingly, but if you are unsure or
    disagree with the feedback, please feel free to wait for a Flutter team
    member's review for guidance on which automated comments should be
    addressed.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [Tree Hygiene]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
    [test-exempt]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
    [Flutter Style Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
    [Features we expect every widget to implement]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
    [CLA]: https://cla.developers.google.com/
    [flutter/tests]: https://github.com/flutter/tests
    [breaking change policy]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
    [Discord]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
    [Data Driven Fixes]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
    
    ---------
    
    Signed-off-by: huycozy <[email protected]>
    Huy
    Huy authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    fa41ee3 View commit details
    Browse the repository at this point in the history
  4. Adds metal background to engine dart tests (#180700)

    Dart tests now also run against the metal backend on platforms where
    that is supported.
    
    test exempt: it is a test
    
    issue: #180601
    
    ## 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], including [Features
    we expect every widget to implement].
    - [x] I signed the [CLA].
    - [x] I listed at least one issue that this PR fixes in the description
    above.
    - [x] I updated/added relevant documentation (doc comments with `///`).
    - [x] I added new tests to check the change I am making, or this PR is
    [test-exempt].
    - [x] I followed the [breaking change policy] and added [Data Driven
    Fixes] where supported.
    - [x] All existing and new tests are passing.
    
    If you need help, consider asking for advice on the #hackers-new channel
    on [Discord].
    
    **Note**: The Flutter team is currently trialing the use of [Gemini Code
    Assist for
    GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code).
    Comments from the `gemini-code-assist` bot should not be taken as
    authoritative feedback from the Flutter team. If you find its comments
    useful you can update your code accordingly, but if you are unsure or
    disagree with the feedback, please feel free to wait for a Flutter team
    member's review for guidance on which automated comments should be
    addressed.
    
    <!-- Links -->
    [Contributor Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
    [Tree Hygiene]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
    [test-exempt]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
    [Flutter Style Guide]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
    [Features we expect every widget to implement]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
    [CLA]: https://cla.developers.google.com/
    [flutter/tests]: https://github.com/flutter/tests
    [breaking change policy]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
    [Discord]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
    [Data Driven Fixes]:
    https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
    gaaclarke authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    1418863 View commit details
    Browse the repository at this point in the history
  5. Make sure that a Banner doesn't crash in 0x0 environment (#180254)

    This is my attempt to handle
    #6537 for the Banner widget.
    
    Co-authored-by: Tong Mu <[email protected]>
    ahmedsameha1 and dkwingsmt authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    beb57ad View commit details
    Browse the repository at this point in the history
  6. Make sure that an ErrorWidget doesn't crash in 0x0 environment (#180830)

    This is my attempt to handle
    #6537 for the ErrorWidget
    widget.
    ahmedsameha1 authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    7e176f8 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    632ef18 View commit details
    Browse the repository at this point in the history
  8. Roll pub packages (#180900)

    This PR was generated by `flutter update-packages --force-upgrade`.
    flutter-pub-roller-bot authored Jan 13, 2026
    Configuration menu
    Copy the full SHA
    b45a73b View commit details
    Browse the repository at this point in the history
Loading