* Update project.pbxproj files to say Flutter rather than Chromium
Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.
* Update the copyright notice checker to require a standard notice on all files
* Update copyrights on Dart files. (This was a mechanical commit.)
* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.
Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).
* Clean up the copyrights in non-Dart files. (Manual edits.)
Also, make sure templates don't have copyrights.
* Fix some more ORGANIZATIONNAMEs
Adds a Fuchsia compatibility function that allows for connecting to a
specific Isolate by name when running Flutter Driver on a Fuchsia
device. This will check over multiple Dart VM's in an attempt to find
an Isolate by its name.
* [frdp] Add optional dart isolate filter.
It's now default to filter out non-flutter isolates when searching
across Dart VM's. This is due to a possible issue wherein an Isolate
for testing might have the same name as the flutter Isolate.
In addition, logging messages have been added in dart_vm.dart for
debugging.
Through some integration testing checks, it looks like it's possible
that connecting to a new instance of the Dart VM may fail even after the
Dart VM instance has been discovered.
This means that _getDartVm should be checked in more than just one
place. This changes the function to return a null value in the event of
a 'well-known' exception (`HttpException` or `TimeoutException`
specifically).
As a result, code now calling _getDartVm checks for null and handles it
as appropriate, and the DartVm RPC calls are all updated with
consistent timeout params.
This will now make it so that the Dart VM class returns any Isolate that
matches the passed Pattern, without checking for any specific strings
like "main()"
This causes the search to skip over Isolates that would have matched.
* Improve documentation and clean up code.
* Remove "Note that".
The phrase "note that" is basically meaningless as a prefix to an
otherwise fine sentence.
In the event that no Dart VM's exist or are connectable, will instead
await for a new Dart VM to show up. Will no longer return null when
calling `getMainIsolatesByPattern`, instead returning either a list of
isolates or timing out.
Before a severe log would be raised when timeout happens. Now that
testing connections requires potentially running into a timeout, this
will cause failures when there shouldn't be any.
This prevents the error:
`type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>' `
The test added fails when dart_vm.dart is reverted to `master`, and succeeds in
its current state. This issue was run into while connecting to the
Dart VM.
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.
Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.
This also reverts migration to Dart 2 typedef syntax.
This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
Similar to the flutter driver, now the fuchsia_remote_debug_protocol can
connect via an environment variable. This can also be used to point to
the SSH config location.
This makes it so that tests written using the FRDB do not have to write
extra information about where their device is on the network.
Now that Dart 1 is turned off, reapplying my change to turn on the prefer_generic_function_type_aliases analysis option, and fix all the typedefs to Dart 2 preferred syntax.
Also eliminated the unused analysis_options_repo.yaml file and turned on public_member_api_docs in analysys_options.yaml.
No logic changes, just changing the typedef syntax for all typedefs, and updating analysis options.
This fixes a runtime error triggered when calling `invokeRpc`:
```
type 'Future<dynamic>' is not a subtype of type 'Future<Map<String, dynamic>>'
```
Also adds a log message for why connections are failing, as well as a
default timeout when attempting to connect to a websocket.