We now run clang-format checks before running licenses and other tests.
Since clang-format runs quickly, this allows these diffs to be caught
first, without much real delay to other checks.
Minikin layout uses a FontCollection containing a list of pre-selected fonts
for a particular font family. This patch extends the FontCollection to invoke
a hook provided by libtxt if layout sees a character that can not be rendered
by any font in the collection.
* Change the Minikin lock to a recursive mutex. This is required because the
fallback font provider may create new fonts during a layout operation that
already holds the lock.
* Implement a fallback font provider hook that queries Skia for fonts matching
an unrecognized character.
* Maintain a cache of fallback fonts. Prepopulate the cache with fonts
covering some commonly used character classes.
* Add a last resort font list for cases where Skia's font manager can not
find any font for a character (similar to Blink's FontCache::getLastResortFallbackFont)
Required by the spec; see '6.7.4. Queue Family Ownership Transfer'
of Vulkan 1.0.66.
Transitioning the image layout also fixes an image resolve failure
issue introduced by optimizations present in the intel mesa vulkan
driver v17.2.
This reverts commit d468d29a77.
Apparently the clang toolchain is still hitting issues. Will give this
another go after the next clang toolchain update.
Guard code that deals with iOS safe area insets behind an @available
check.
This cleans up some old TODOs from before out clang toolchain supported
@available.
* Update dart version in engine to 8d9d68751a505426eb5f59a9d29f103fde6bd474
* Update third party license files.
* Update license file.
* Update license file.
* Support .packages option in frontend_server, bundle_path in main_mac.
This is needed to be able to run in mode.
* Remove byte store tests
* Remove unused import
* Fix formatting
* Enable flutter test argument passing on win and linux.
* Fix formatting
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.
* Fix analyzer nits
* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get
* Pin dart to dev.16 to overcome pub issue
* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"
This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.
* Fix license hash
* Reintroduce api methods and tests
In https://github.com/flutter/engine/pull/4554 I removed the .packages
file in the frontend_server directory, because it was out of sync with
the pubspec.yaml. It seems like the right solution is to run `pub get`
when we get the dependencies, i.e. when we run `gclient sync`.
Being out of sync is a problem because it means that running "pub get"
in that directory changes what packages are being used, and changes
the `.packages` file, which leads to having to revert changes before
committing code, etc. Having to regularly update this file doesn't
make much sense either, since the files that were missing were files
that are obtained from the network (e.g. the `io` package as used by
the `test` package).
Previously, (see
https://github.com/flutter/engine/pull/3982#issuecomment-323213199),
we did not do this because we did not want the build to call into the
network. This still does not call into the network during the _build_
phase, only during `gclient sync` (which is when all the dependencies
are brought down).
Currently the network dependencies only matter for running tests. We
should make sure this remains the case. Ideally we wouldn't even
depend on those.