This change adds a delay before Animator::BeginFrame calls its
delegate's OnAnimatorNotifyIdle. This is because under certain
workloads, such as our parent view resizing us, which is communicated
via viewport change events, we won't have a frame scheduled yet in the
animator, despite the fact that we will go on to schedule a frame once
the viewport event arrives.
In Fuchsia's resizing performance test, on our reference high end x86-64
hardware, the previous logic was resulting in a ~45ms garbage collection
right after the first frame of an animation.
This rolls includes the following changes:
be6309690f (HEAD) Analyze pkg/dart2js_tools on the bots.
6f9073bb9d Wait for Analysis Server errors only while waiting for a response.
5d4e85ba3d Allow `x == null` to be a constant value whenever x is const.
7c77ed04f4 Move deobfuscation tools to the SDK repo
666c8c1a89 Fix @visibleForTemplate tests on Windows.
6fc1dd4480 analyzer_plugin no implicit-casts.
29401573d5 Get documentation comments before metadata as well.
3d0a663518 [vm/frontend-server] Fix frontend_server so that it can be tested.
* fix analyzer hint
* use --enable-asserts instead of --checked
* Roll Dart to version 1be785ae2ddb1754a184cd638ab719e94d86b4e9
This rolls includes the following changes :
1be785ae2d Clean up some dead code
7b9fb893d2 [vm] Add a service method for 'invoke' as the dual to 'eval'.
099f1504fa Mention -O flag in CHANGELOG
79f69abace [vm/compiler] breakage fix: add missing break
96a1e9985f Fix the pkg bot
7818db20a7 Add analysis hint for invalid use of @visibleForTemplate code.
71d96019d1 [vm/compiler] Introduce 64-bit NEGATE - all archs.
5013a2ccc4 Remove spurious line.
ef2f777625 Mark some analyzer tests as being flaky
cf560fe17b Fix a couple of the tests failing on the analyzer with fasta parser bot
63c11693e6 [gardening] Fix language_2/type_variable_promotion_test.
d0f28884ff [VM] Fix expression evaluation implementation: Never register temporary/unused classes with the system.
e2a1807fc2 [gardening] Update status for io/compile_all_test in PRODUCT AOT mode
f7ff739448 Insert date of 2.0.0 release in Changelog
bcabad6014 [vm] Fix SIMARM64 build on Windows.
af02ccae83 [infra] Fix filesets for new vm-kernel-precomp builders
8e2f28e264 Update homebrew to drop the @2 tab and fix for 2.0
ba119d7292 [VM] Remove "$compiler == precompiler" sections from language_2_precompiler.status
f3a2c0e28f [release] Prepare changelog for 2.1.0-dev.0.0
88cba7d860 [vm/kernel/bytecode] Fix arguments descriptor for List._fromLiteral call in bytecode
bd45ec0c4b [vm, gc] Refactor PageSpace::CollectGarbage to ensure the safepoint and task count remain well-scoped even with early exits.
8195fd8c64 Repair dart2js/string_interpolation_test
a0b335ac6c Try no implicit casts in pkg/analyzer_cli.
3d25d3761b Update pub - leave packages directories alone
327db5e9ab [vm] Fix kernel_isolate use_field_guard flag for kbc
a1ca88f554 Resolve invocation arguments to parameters.
* Address source format error.
This allows the framework to know that a frame with the resized view is
ready and to behave deterministically to workaround the jank issue
described in flutter/flutter/19572
It turns out that Skia is much slower at drawing paint inside a clipped
path than directly drawing that path. (Average frame time of 22ms vs
18ms in flutter_galary transition test.)
The behavior of acquire+release annotation handling has changed in
https://reviews.llvm.org/D49355 which breaks the build with the new
Clang. However, as has been pointed out, the acquire+release isn't
the right way to prevent double locking as the annotations negate
each other; the correct way is to use excludes or negative requires.
Using excludes annotations also requires using std::lock_guard instead
of std::unique_lock because the latter doesn't have the thread
annotations due to deferred locking which is not needed in Flutter and
so std::lock_guard is a sufficient alternative.
If we want to avoid the bleeding edge artifact (flutter/flutter#18057 (comment)) using saveLayer, we have to call drawPaint instead of drawPath as anti-aliased drawPath will always have such artifacts.
This is discovered when I try to add golden tests for such bleeding artifacts using our new Clip enum. Here's the updated golden files: flutter/goldens@cb1fa8a?short_path=57b30ce#diff-57b30cea9b10b7ca689009854e12d70e
* Flush all embedded Android view on hot restart.
Adds an OnEngineRestarted method to PlatformView, this is currently only
implemented for Android where we need to use it for embedded views.
* review comments followup
* rename to OnPreEngineRestart, call before Clone
Instead, send them with the new unknown PointerDeviceKind.
We hit this when running `adb shell input tap` in tests which sends events with
an unknown tool type.
This also fills in a missing conversion for TOOL_TYPE_ERASER.
* Add an explicit `-[FlutterViewController init]` implementation
`-[FlutterViewController init]` currently works because it inherits
the `-[UIViewController init]` convenience initializer that invokes
the `-[UIViewController initWithNibName:bundle:]` designated
initializer that `FlutterViewController` overrides.
However, this doesn't seem to be explicitly documented, so it's a bit
confusing (or at least non-obvious), and it seems potentially
brittle. Add an explicit implementation of `-[FlutterViewController
init]` instead.