Dart_DebugName should be used just to make debug outputs more readable.
We remove the dependency from this API and form the UIDartState debug
name in the engine using the predefined format:
<script_uri>$main-<main_port>
This will allow the engine to change the format of the isolate name
without breaking the engine.
Related https://codereview.chromium.org/3004563003/
This reduces the size of the ICU data files from 10.3 MB to 6.6 MB (uncompressed). Also allows us to remove version specific hacks from libTXT and dependencies.
* The Flutter engine will be shipped as a shared library.
* The engine is renderer and window toolkit agnostic.
* The simple public C API is described in embedder.h.
* ABI breaking changes will be indicated by changing the FLUTTER_ENGINE_VERSION.
* A simple GLFW based example of this API is available at https://gist.github.com/chinmaygarde/8abf44921f7d87f6da7bf026267c4792
* Fix problem with _filename not being set. Add tests for that(and add mockito to mock IKG).
* Initialize KernelSerializer, Fix indentation
* Style nits and reworded comment
* Introduce frontend_server that allows for interactive and batch modes.
Example of batch mode:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart
out: result 79256789-598c-4909-a9e4-0ef36d4c26ba
out: 'State&TickerProviderStateMixin^#U0^' is exported from both 'package:flutter/src/widgets/animated_cross_fade.dart' and 'package:flutter/src/widgets/animated_list.dart'.
...
out: Superclass has no method named 'hitTest'.
out: 79256789-598c-4909-a9e4-0ef36d4c26ba $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart.dill
$
```
Example of interactive mode - communication via stdin/stdout:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill --incremental
out: Frontend server is ready.
in: compile abc.dart
out: result fd99c0f9-12bb-4083-818e-2521d454fdc8
out: fd99c0f9-12bb-4083-818e-2521d454fdc8 abc.dart.dill
in: accept
in: recompile kuka
in: 123.dart
in: 456.dart
in: kuka
out: result d12f8d05-6c79-44f7-a775-1d3469e1be53
in: quit
$
```
* Add test. Cleanup dependencies.
* One more test with mocks
* Remove platform-kernel option. Refactored CompilerOptions. Clean up comments.
* Update license
* Use Uri.base.resolve consistently. Ensure folder path for sdk root. Fix test.
* Fix main_dart for frontend_server build target
* Reintroduce .packages file, add README.md, revert changes to licenses_flutter
* Run analyzer on frontend-server. Update .packages deps so tests can be run too.
* Add analyzer options file
* Clean up dependencies
* Add frontend_server files to license file back
* Fix comment in analysis_options.yaml
* Run frontend_server tests in travis
* Update licenses
* Change a+x permission on travis/test.sh
* pub get before pub run test
* Fix path to when
* Clarify accept/reject instructions
* Formatting, fixed docs, style
* Update license script to skip .travis.yml, when/example. Update license file.
* Update style nits
* Fix license
* Trim license extracted text. Fix licenses
* Update licenses_third_party signature
* Few more tests
* Update dart license
* Update dart license
* Style changes. Fix return value for Future<Null>
For consistency with Android, when the engine receives a
TextInput.setEditingState message from the framework, and the text has
changed, we now send a TextInputClient.updateEditingState message back
to the framework with the updated state from the engine. The framework
currently relies on this behaviour to trigger onChanged events in
certain scenarios (e.g., on tapping Paste in the selection controls).
Note: it may be more desirable for the framework to trigger the
onChanged calls without relying on the return message from the engine,
but this change ensures consistent behaviour across iOS and Android
until we've evaluated the pros/cons of such an approach.
If GPURasterizer::NotifyNextFrameOnce was rapidly invoked twice could
have lead to a null pointer exception.
Also ftp::WeakPtr are not thread safe and should not be dereferenced
from other threads.
* Add back launch screen view until first frame on iOS
* improvements
* Move callback plumbing from ios surfaces to the gpu rasterizer. Didn’t wire java JNI yet.
* Android JNI
* Fix ios reference count and let android engine manage a view on top with launch screen
* Hook up Android activity and view
* review notes
* review notes
* Move thread switching upstream. Use weak references for callbacks.
* Some clean up
The bitmap used to hold a prerolled image in the raster cache must have an
integer width/height in pixels. However, the picture used to draw the image
may have a non-integer width/height in physical coordinates and thus not
completely fill the bitmap. The compositor should only select the subset
of the bitmap that reflects the portion filled by the rendered picture.
Without this, the cull rect calculated by an SkPicture may be truncated
to integer pixel coordinates. The raster cache relies on a precise cull
rect in logical coordinates.
See https://bugs.chromium.org/p/skia/issues/detail?id=6954