An activity can use ViewFactory.retainNativeFlutterView to reuse a
FlutterNativeView across multiple instances of the activity. In this
scenario, the FlutterNativeView should continue to handle incoming messages
sent from Dart.
This PR mirrors virtual a11y tree of embedded platform views in the Flutter
a11y tree.
Non virtual hierarchies are not currently supported.
Only works on Android versions earlier than Android P as it relies on
reflection access to hidden system APIs which cannot be done starting
Android P.
A11y is not yet working as we also need to delegate a11y events from the
platform view to the FlutterView. This will be done in a following PR to
keep the change size a little saner.
cabaa78cc5 [VM] Generalize generic bounds check elimination
16eefa4b75 [VM] Infer ranges for truncating divisions with positive divisor & Fix missing deopt env bug
46e0a87008 Add summary support for "for each" elements with declarations.
915b35e463 Add summary support for "for each" elements with identifiers.
3019a8873a Check for completeness of test_all in analysis server and analyzer plugin
9b5a956a0e Remove AstTestFactory.forStatement2
a7ab99dd84 [vm/kernel] Index all source and line starts before using them
1f10174891 [vm/service] Test collecting coverage for a concatenated dill file
0cacd6c28d [CFE] Compile if map entries in map literals
7dd4259d87 Handle ir constants in inferrer
8915407f2c Support computation of NativeData directly from IrAnnotationData
eb344e2072 Keep live libraries and uri to source in sync
2805a376b2 Added tests for superinterface variance constraints
34af8b95e5 Revert "[vm] Free readonly header bit so it can be used for other uses."
59931e3340 [vm] Free readonly header bit so it can be used for other uses.
cb4b6157a2 fix#36205, static calls in dart:html should directly call the DOM
e3d6fc974f [dart/vm] fix off-by-a-lot error in DAG test
ecb1bff326 Add summary support for `for` elements with declarations.
7d277c4a32 Introduce methods and classes to replace "2" variants left over from "UI as code" work.
973a4d0b2e [vm] Drop 'testonly = true' from gen_kernel_bytecode_dill GN rule
c79927fdd7 Change type of `Expression.precedence` to the Precedence class.
b10ac42527 [VM] Parentenvironment for Macos and Android
9f00d1b384 [VM] Ensure Top level class is finalized for loadedscripts in library
24e5f9142a Revise ElementResolver postfix NNBD bang processing
2919b5577f [Analyzer] move usage of mostSpecificTypeArgument in resolver
d9371f206d Integration test for AstBinaryWriter and AstBinaryReader.
137171af71 [VM runtime] Disable dual mapping code in AOT runtime (fixes#36260).
d14dfc5d8a [vm] Support FFI on ARM64 and Android.
b032f1b284 [vm] Support FFI on 32-bit Intel.
b78e386bbb Remove ConstantUseKind enum
e2c577333c [testing] Mark an uncatchable flaky test as Skip.
a2d7227a76 [vm] Never give DBC instructions executable permissions.
6135a81d51 Separate type reference resolution and types building.
8556e97218 Remove ResultProvider and its implementations.
495c319574 Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
416649250f Rework tracking of variables in scope while summarizing expressions.
Changes include:
- File structure
- Header guards
- Include paths
- Namespaces
- Integration with the engine's GN build
- Conversion from jsoncpp to rapidjson
- Style and clang-format adjustment to match engine repository
PlatformViewsDelegate.
Since onDetachedFromWindow can be called after the activity was
destroyed, the previous call to detach the accessibility bridge could
have crash as the NativeFlutterView was already null.
5e9df35a57 [vm/ffi] Correctly sign- or zero-extend arguments and return values from native code.
33491a7d61 [infra] Remove unneeded check in test.py
def9671d32 [VM/SIMDBC] Add simdbc64 bytecodes to allow LoadIndexed/StoreIndexed to work on untagged arrays
8af57275eb Can't override implied setter covariantly
578249629d [co19 DEPS updated]
c4c0db440c Handle ir constants in noSuchMethod handling and deferred load
58882ffdd4 VM reads import uri if kernel binary version >= 22
3c2bfa554a Resolve type conflicts in dart:js
e9e0daee5c Add importUri and fileUri to Source.
4daa9b94ea [cfe] Compile if elements in lists and sets
c9efa472da Remove instrumentTopLevelInference as it is redundant with expectation files
57ac8b1ad9 Remove redundant instrumentation from tests and expectations.
6e1888af6b Circular type inference leads to InvalidType
479483ed13 Compute isGenericCovariantImpl in outline phase
b18b626d78 Remove deprecated AST structures related to the "UI as code" feature.
7fe4253a4e [analyzer] fix#36158, implicit cast missing on covariant return type
7e14f2aded Removed mirror methods from DeferredLoadTask
dec7e65334 Delete Flags.enableExperimentalMirrors
7eabbe70cd Make the --repl-compile option visible
9c8e6dc42c [analyzer] rewrite mostSpecificTypeArgument to use asInstanceOf
565e56dba6 [vm] Reduce cost of allocation tracing.
eaf41e49bf Re-land Linter 0.1.83
337a252c31 [analyzer] UI as code test cleanup
89f00ab25f Add a build rule for bytecode version of kernel_service.dill
fadf9b5fb3 [vm] Account for direct code calls from unoptimized code for --reused_instructions.
d0bdfee041 Fix DDC cast -- cast key/value/element individually & don't clobber names.
67243e0396 AstTextPrinter that prints AST tokens into their original positions.
d214646d89 Remove TestAnalysisContext and related.
22c535ac6e [dartdevc] simplify code for emitting constants
040fa0f83c Add undefined identifier test for for loops
21810c2aa1 Include gen_kernel_bytecode in create_sdk so that it can be uploaded by the builders
5614f8d771 Revert "bump linter to 0.1.83"
85e5684863 Remove OptionsWorkManager and GenerateOptionsErrorsTask is not a task.
33100aa1ce Delete some copy/pasted doc comments
2c001aacc0 [vm] Address various quirks observed in Fuchsia profiling samples.
9910374c20 Fix mistakes in control flow ambiguity test.
87108efecb [gardening] Update flutter patch so flutter compile_test passes.
55f3edadbe [dartdevc] Initial support for spread collections
2ceaccf5f6 Report EQUAL_ELEMENTS_IN_CONST_SET.
0c34bf13ea update ElementResolver postfix NNBD bang processing
9788949db8 Run dartfmt on pkg/analyzer/test/dart/ast/ast_test.dart
d012972c8d [CFE] Fold the asExpression call into the unique function.
ee1e036adf [CFE] Lazy constant evaluation for maybe-evaluated expressions.
330b958e20 [CFE] Check for null in constant evaluation.
ca5ac975fe Fix for crash in _DartNavigationComputerVisitor._addUriDirectiveRegion when part has invalid URI.
Layout occurs after [CATransaction commit]. layoutSubviews was where we set the contentsScale on the CALayer. This meant that for one frame, we would see content on the overlay view which was did not have the correct content scale.
This change makes it so that we initialize the FlutterOverlayView with the correct contentsScale.
This also updates the overlay_gr_context_ when we first create the overlay_view. This is an artifact of #8175.
This manifests as jank as seen in: flutter/flutter#29573
Installs the dependencies necessary to build the Linux desktop shell.
Similar to the existing install-build-deps.sh and
install-build-deps-android.sh but specifically for the desktop shell
requirements.
* Updated protobuf and bazel_worker revs for SDK roll
* Roll src/third_party/dart 7418238239..70e3e67dd7 (108 commits)
70e3e67dd7 Expect different errors depending on the state of the spread_collections experiment.
c85108d2f9 Fix parse expression "a ~ b"
f890800fb0 Rework tracking of variables in scope while resynthesizing expressions.
e830338919 Updated spec_parser such that it runs with ANTLR v4
37c7992ac3 [testing] Make tests with multiple VMOptions have multiple names.
af5fc2d4d2 [VM] Partial support for named regexp captures.
efb3f85c7e Fix for element type inference tests.
f5c16512cc [Tests] Pass VM options (Platform.executableArguments) to sub-processes
234a1726d3 bump linter to 0.1.83
eda9ccb744 Early exit on VM String.replaceAll
527b10879e Begin adding summary support for `for` elements.
42ab0a6a63 Handle downcasts for spreads
fc7d25e0e3 Revert "[vm] Add data field to TypedData"
9c9ab11450 Reland "Handle ir constants in field analysis and impact tests"
91b62553ce Make scanner reportErrors field final
1c685bf370 Sort declarations in pkg/analyzer/lib/src/dart/ast/ast.dart
231061c15a [gardening] Moving patch to be based on dart hash.
1ea717f1c9 [CFE] Use Fasta diagnostics in constant evaluator.
22718f4d60 [CFE] Always call the constant evaluator by the evaluate method.
c10ee9971f [CFE] Move constant evaluator to Fasta.
ae72776312 New DomExceptions added to browsers.
9d3988eb67 [vm] First stab at a protobuf aware treeshaker
e62391a162 Revert "Handle ir constants in field analysis and impact tests"
3b2e368376 Revert 5 changes with failures
a6e2c5eb4c Rename import after moving file.
e6d2751e9c [CFE] Check for null in constant evaluation
c7b572aa29 [CFE] Use Fasta diagnostics in the constant evaluator.
91bc4ec2b9 [CFE] Always call the constant evaluator by the evaluate method.
845b5b2df1 [CFE] Move constant evaluator to Fasta.
0cd89e5bd1 Handle ir constants in field analysis and impact tests
eeb8fc8ccd [dartdevc] Adding support for async operations in block expressions
d7ad6b8c67 Ensure that all tests are run via test_all and add a test to ensure that it stays that way
daa6ee6da9 Report NOT_ITERABLE_SPREAD and NOT_MAP_SPREAD.
d920a2a5ab Report NON_CONSTANT_XYZ in not taken branches of IfElement.
976b897bd0 Report non-bool conditions in const expressions in evaluation
1d9f34963e Use StoreBasedSummaryResynthesizer directly in LibraryContext.
43a31ff24e Report equal keys in maps when the keys come from a spread element
0d5ab9380a Add getNotPotentiallyConstants() and isConstantTypeExpression().
cc1ddfb337 Issue 36212. Fix for updated part without library.
d597166f9b Remove Dart tasks and work manager.
68bfd72e44 [dartdevc] fix#36174, add flutter inspector transform to DDC
b9ce1496f1 Sort declarations in expr_builder_test.dart
8475338d58 Remove references to non-existent Resource type
724d956fd4 Move use_abi_version from vm directory to bin
44753660ec Prepare to publish analyzer 0.35.4
7a2949521d Handle ConstantExpression in ssa and kernel impact
7a90563ee3 [js_runtime] Try to avoid String.prototype.replace with replacement patterns
3dda726bca [gardening] Update flutter patch to reflect engine roll.
d445d29fa3 [VM] Define layout of _*ArrayView/_ByteDataView in C+++
d267fb6bf3 change the SummaryTarget to extend the DevCompilerTarget
626cb68ad2 More spread test fixes.
eb6f1b6abd Handle effectively constant fields in class stub generator
efe9366eeb Remove references to pkg:plugin in DEPS and .packages
43c13284e4 Revert "Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features""
d1085e80be [vm] Add data field to TypedData
d53311866f [vm/bytecode] Support native methods in BytecodeFlowGraphBuilder
06eeeec92e [tests] Remove obsolete VM option --error-on-bad-type from tests
0a42e8e062 [dart/vm] fix potential buffer overrun in unicode utils
74a23b96b0 Add support for dart2js targets to kernel_worker
9b185051a9 Don't use lazy static initializer in Random.secure()
75679e06c2 Reland "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
7f8eed0862 Update the partial constant evaluator to handle a limited subset of map literals in unresolved code
02ffcb8f42 Add summary support for `if` elements.
025825dc0f [vm] Update ffi status files and fix function_stress_test on Windows.
638f13ff3d Revert "[ VM / dart:isolate ] Added ability to set names for spawned isolates."
af633531ab Report key/value type mismatch.
8e550f6a4c Support super completions from superclass constraints in a mixin
b216335e69 Add summary support for spread elements.
001d4ed85d [infra] Update checked in SDKs to 2.2.1-dev.1.1
85f8d3c047 [vm] Build FFI trampolines with IL.
4e68a04f3e [vm] Minor improvements to FFI function tests.
652948175e Use a `dynamic` downward inference context for invalid ambiguous set/map literals.
d6ffee639b [co19] Roll co19
cded39ebf3 DEPS rename protobuf_tag to protobuf_rev
e6c3bc4ba9 [gardening] update Flutter engine patch file
d0c4d6b329 Take variance into account when computing rti checks
3e794ec16a Add tests for rti emission on function types
4ca57befd7 [dartfmt] Bump dart_style to 1.2.4
495b9c4519 Remove set-literals experimental flag from tests
7c496bfd76 Update protobuf version in DEPS
eb47bc112e [gardening] Rename flutter/flutter patch so it matches engines hash.
de2d83b9e3 [gardening] Fix flutter patch after recent dart roll into engine.
262878086d Extract _ConstLiteralVerifier and split it into literal / operation methods.
092a552a52 Fix spread disambiguation test.
888596af88 Add support for a production dart2js mode in test.dart
90d0443848 [dartdevc] Implementing block expressions and set constants
c52e1b83fb [vm/frontend_server] Fix outdated flutter patch.
59525264e8 [ VM / dart:isolate ] Added ability to set names for spawned isolates.
0ee1413095 [dartdevc] Initial support for control flow collections
c3005ee81f Add error codes for expressions in maps and map entries not in maps
1b5f7c1047 Remove unnecessary flags for dart2js from test.dart
1efe7e2518 [ VM / Service ] Added `getMemoryUsage` RPC and `MemoryUsage` object to service protocol
35fb67158b [vm/frontend] Change frontend server interface so compile response contains delta of sources files that were used by the compiler.
208f8b5441 Restore checks for leaf elements in ErrorVerifier.
0f4a208c3e Revert "Add hints to check the SDK constraints for both set literals and for the ui-as-code features"
00a478ca80 [VM runtime] Do not leak file descriptors of dual mappings to child processes.
5fdb3c5057 Add hints to check the SDK constraints for both set literals and for the ui-as-code features
ca2fc831c4 Check types of values in constant List/Set against the element types.
7c3ab264e5 Change link methods to take a DeclaredVariables object.
f7a36792b2 [vm] Fix memory leaks in --load_compilation_trace and --load_type_feedback.
5d6e17a20d Improve initializer missing comma recovery
a8c94d0b52 Remove tools we no longer need to manage status files
c5624274e1 Update the SDK constraints to match the fact that set literals are being used
28d697a6c1 Enforce override annotations in dart2js
5e1397fc4e Remove unused import
ae8a47e92c Add changelog entry for RegExp lookbehind support.
1c02016b7b [infra] Fall back on inexact baseline commits in test.dart.
e2a86d9081 [VM runtime] Use memfd_create instead of shm_open for dual mapping of code.
Optimize the performance of the platform view composition.
When recomposition is required, we previously remove all the platform view related views (intercepting view, platform view) and re-add them for each frame. This is mentioned in flutter/flutter#23793.
This PR enhanced the performance by re-arrange the existing UIViews and only add the newly created Views.
As a result, it would also fixflutter/flutter#29427