Commit Graph

3549 Commits

Author SHA1 Message Date
Chinmay Garde
aa243473a3 Add more tests from the Android Minikin test bench to the common test runner. (flutter/engine#4020)
This will allow us to use the common font fixtures.
2017-08-28 10:10:15 -07:00
Chinmay Garde
8bd3df87a2 Clang format the imported minikin sources, tests and benchmarks to match Flutter engine stylf. (flutter/engine#4018) 2017-08-25 17:43:47 -07:00
Chinmay Garde
589cd19d89 Create a unified target for the txt and minikin library, tests and benchmarks. (flutter/engine#4016) 2017-08-25 17:14:47 -07:00
Jason Simmons
a3fb3be303 Move libtxt under flutter/third_party in the license script (flutter/engine#4015) 2017-08-25 16:16:00 -07:00
Michael Goderbauer
050b4456fd Only expose available semantic scroll actions (flutter/engine#4010)
* Only expose available scroll actions

* formatting

* more formatting
2017-08-25 16:12:50 -07:00
Chinmay Garde
ea1bfcbf1f Remove txt from DEPS now that the repo has been imported into the engine. (flutter/engine#4014) 2017-08-25 15:49:29 -07:00
Chinmay Garde
0bdb6ced74 Subtree import txt into //third_party. 2017-08-25 15:32:29 -07:00
Chinmay Garde
0ca80951be Add 'third_party/txt/' from commit '19426206958a432405c0d4b77102a67dde4d2fa1'
git-subtree-dir: third_party/txt
git-subtree-mainline: 106bbf2d3a
git-subtree-split: 1942620695
2017-08-25 15:16:46 -07:00
Chinmay Garde
106bbf2d3a Update buildroot to pick up cleanups in //third_party. (flutter/engine#4011) 2017-08-25 14:45:18 -07:00
Jason Simmons
7af7d5ee18 Update the license script to handle the new version of ICU (flutter/engine#4009) 2017-08-25 14:17:51 -07:00
Chinmay Garde
b16a1fc30f Switch to Harfbuzz 1.5.0 from Fuchsia. (flutter/engine#4006) 2017-08-25 12:57:43 -07:00
Ryan Macnak
ae7fd35fcc Roll Dart to e9d358921dddbee84c39c951220d5a844b097bb5. (flutter/engine#4008) 2017-08-25 12:16:39 -07:00
Carlo Bernaschina
f3aaa23f74 Remove dependency from VM isolate name convention (flutter/engine#4007)
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/
2017-08-25 11:11:52 -07:00
Chinmay Garde
6a41695e04 Update ICU to ToT and ensure that slimmed down versions of data files are shipped on the mobile platforms. (flutter/engine#4005)
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.
2017-08-24 14:26:07 -07:00
xster
5f93b1e9f3 Let the FlutterAppDelegate's messenger be customizable if the rootViewController isn't a FlutterViewController (flutter/engine#3916)
* Customizable messenger

* rename
2017-08-23 18:50:14 -07:00
mikejurka
3bf835e3cd Fix crash when removing stories. (flutter/engine#4003)
Ensure that a Mozart EntityNode (that corresponds
to an ExportNode) is always released on the
Rasterizer thread.

MZ-259
2017-08-23 17:32:19 -07:00
Chinmay Garde
6c91bf883d Create a window toolkit agnostic Flutter engine API. (flutter/engine#3987)
* 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
2017-08-23 16:05:16 -07:00
xster
be545ba93b Add animation to Android too (flutter/engine#3981) 2017-08-23 12:57:06 -07:00
John Bauman
65dbd61aca Enable VK_GOOGLE_external_memory_magma extension on Fuchsia (flutter/engine#3999)
Newer version of the vulkan validation layer check that this
extension is enabled before allowing vkExportDeviceMemoryMAGMA.
2017-08-23 11:53:22 -07:00
Ian Hickson
066f1b719a Revert "Pass TextDirection to ParagraphBuilder. (#4001)" (flutter/engine#4004)
This reverts commit 515f72380c.
2017-08-23 11:14:26 -07:00
Ian Hickson
515f72380c Pass TextDirection to ParagraphBuilder. (flutter/engine#4001) 2017-08-23 10:34:57 -07:00
Chris Bracken
433b2507db Disable all rasterizer work while backgrounded on iOS (flutter/engine#4002)
On iOS, backgrounded applications are not permitted to execute GPU work.
See [1].  When backgrounding the application, we now tear down the
underlying iOS render surface, and re-create when the app returns to
foreground.

See [2] for a Technica Q&A on GL-related crashes when rendering is
attempted by a backgrounded application.

[1]: https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/ImplementingaMultitasking-awareOpenGLESApplication/ImplementingaMultitasking-awareOpenGLESApplication.html#//apple_ref/doc/uid/TP40008793-CH5-SW1
[2]: https://developer.apple.com/library/content/qa/qa1766/_index.html
2017-08-22 19:57:52 -07:00
Jason Simmons
65516536db Roll Skia to a184ac7e0cdb26919369151f606c194358c94ff5 (flutter/engine#4000) 2017-08-22 15:40:50 -07:00
Ian McKellar
294cb8fa86 Update to new Dart FIDL bindings API. (flutter/engine#3988)
* Update to new Dart FIDL bindings API.
2017-08-22 13:32:46 -07:00
Alexander Aprelev
cf23a4d599 Fix frontend_server problem with _filename not being set in compile. (flutter/engine#3998)
* 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
2017-08-22 11:19:24 -07:00
Alexander Aprelev
e859ef3093 Missed one feedback item from https://github.com/flutter/engine/pull/3982 (flutter/engine#3996) 2017-08-21 17:41:16 -07:00
Jason Simmons
1e5a61b584 Revert to a Jellybean compatible variant of getDrawable (flutter/engine#3997) 2017-08-21 17:25:31 -07:00
jbauman42
68448fcd3c Update VK_KHX_external_memory dependency to KHR (flutter/engine#3992)
The extension was made official.
2017-08-21 17:09:29 -07:00
Alexander Aprelev
c5c4abaeff Introduce frontend_server that flutter tools will use for compilation. (flutter/engine#3982)
* 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>
2017-08-21 12:55:17 -07:00
Chris Bracken
1fda50a2c0 Fire TextInputClient.updateEditingState on text changes (iOS) (flutter/engine#3995)
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.
2017-08-21 12:39:56 -07:00
Carlo Bernaschina
86cbd63193 Roll Dart to e673ff0b253d8cadd3249aa0d8efe0516606d704 (flutter/engine#3994)
- Roll Dart to e673ff0b253d8cadd3249aa0d8efe0516606d704
- Update licenses_dart
2017-08-19 14:01:32 -07:00
Jason Simmons
cb3bfa58e9 Roll Dart to b8bce019b3e4a344d22ac3c0f805b619565a1f8e (flutter/engine#3993) 2017-08-18 18:36:37 -07:00
Chinmay Garde
0eaae144a2 Update buildroot to pull in Mac toolchain fix. (flutter/engine#3991) 2017-08-18 15:39:37 -07:00
Chinmay Garde
6efd328423 Update Skia revision to 141df44fd. (flutter/engine#3989) 2017-08-18 15:04:23 -07:00
Jason Simmons
7d989f1277 Roll buildroot and buildtools to clang-6.0 (flutter/engine#3990) 2017-08-18 14:32:39 -07:00
Jason Simmons
de38c0b15a Improve checks for calls into native code made after the platform view has been detached (flutter/engine#3926) 2017-08-17 10:24:12 -07:00
Jason Simmons
e6c9b04074 Skip third_party/benchmark in the license source crawl (flutter/engine#3986)
Also regenerate sky_engine/LICENSE to include libtxt
2017-08-16 16:35:14 -07:00
Jason Simmons
bd7ae44737 Allow infinity values in the Dart wrappers for Skia Canvas (flutter/engine#3985)
Fixes https://github.com/flutter/flutter/issues/11586
2017-08-16 16:21:52 -07:00
Carlo Bernaschina
a78aa4cde4 Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda (flutter/engine#3984)
- Roll Dart to 491390eeaa7974f44a8931d10a899c39c0df8dda
- Register the EmbedderInformationCallback
2017-08-16 13:17:11 -07:00
Petr Hosek
8f73cd6c6c No longer need to use fuchsia_shared_library (flutter/engine#3983)
Use $shlib_toolchain to find the shared_library output file.
2017-08-15 23:44:38 -07:00
Carlo Bernaschina
e2b8d9e76b Avoid race condition into NotifyNextFrameOnce (flutter/engine#3980)
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.
2017-08-15 14:35:16 -07:00
Jason Simmons
05dd4a01dd Remove use of a deprecated getDrawable API (flutter/engine#3979) 2017-08-15 11:54:04 -07:00
xster
d6d217cb4a Add an explicit user configurable check for whether to keep showing the splash screen. (flutter/engine#3976) 2017-08-15 11:01:12 -07:00
Zachary Anderson
1cf8c8f32e Fixes for gypi -> gni change in Dart (flutter/engine#3977) 2017-08-15 07:44:27 -07:00
xster
d85d4cc9ce Create platform API for first frame callback. Use for defer hiding splash screens on Android and iOS (flutter/engine#3956)
* 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
2017-08-14 15:44:52 -07:00
Jason Simmons
22e8ceec69 Allow infinite cull rectangles on a Canvas (flutter/engine#3975) 2017-08-10 17:20:59 -07:00
Jason Simmons
0f2c77f194 Capture fractional pixel coordinates in the bounds of raster cache bitmaps (flutter/engine#3974)
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.
2017-08-10 14:08:16 -07:00
Jason Simmons
89d9d751f9 Apply antialiasing in calls to SkCanvas::clipRect (flutter/engine#3973)
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
2017-08-10 13:23:35 -07:00
Alexander Aprelev
2e8e755815 Reapply introduction of dart sdk build steps into Flutter engine (flutter/engine#3972)
* Revert "Revert "Build standalone dart sdk as part of Flutter engine. (#3954)" (#3970)"

This reverts commit 7ae7ef3fb0.

* Add 7-zip download as a hook

* Advance buildroot dependency

* Fix buildroot dependency
2017-08-10 08:42:05 -07:00
Gary Qian
1942620695 Add ParagraphBuilder::PeekStyle() to allow Flutter style inheritance.
Change-Id: Ia198778d9a7cfd7053390e6195bf8e03245add77
2017-08-09 18:18:19 -07:00