mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
This PR removes the methods in `FlutterRenderer` that will never be used. These methods allows the engine to get a drawable and present a drawable, but they will never be called on the macOS embedder. This is because they go through the `FlutterMetalRendererConfig` struct to `GPUSurfaceMetalSkia`, which is bypassed if the engine has a non-null external view embedder, which the macOS always provides. Removing these methods not only cleans up the code (and the confusion), but also reduces the methods that might need to be migrated for the multi-view project. After this change, `FlutterRenderer` is left with very few functionalities: * It hosts `device` and `commandQueue`. * It creates `FlutterRendererConfig`. * It implements `FlutterTextureRegistry` and `FlutterTextureRegistrarDelegate`, linking `FlutterTexture` and `FlutterTextureRegistrar`. We might want to refactor this class, but that's for the future. ## 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]. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/wiki/Tree-hygiene#overview [Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene [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